VGG16 (ImageNet) — cross-framework weights for xaitalk
PyTorch state_dict and JAX pytree weight checkpoints for VGG16
(Simonyan & Zisserman 2014), converted from the canonical
tf.keras.applications.VGG16 weights. Hosted as a one-file-each
shortcut so xaitalk users can run cross-framework XAI without
re-converting the TF Keras weights themselves.
If you want the original Keras weights, install
tensorflow and use tf.keras.applications.VGG16(weights='imagenet').
This repo is for the PyTorch + JAX equivalents only.
Files
| File | Framework | Size |
|---|
pytorch_vgg16_from_tf.pth | PyTorch state_dict | ~528 MB |
vgg16_jax_weights.pkl | JAX pytree (pickle) | ~528 MB |
Both files load weights numerically equivalent to the TF Keras
original. Verified by xaitalk's cross-framework comparison suite
(see Performance below).
Architecture
| Property | Value |
|---|
| Layers | 13 conv (3×3) + 3 dense |
| Parameters | 138 M |
| Input | 224×224 RGB image |
| Output | 1000-class ImageNet logits |
| Activation | ReLU |
| Pooling | Max (2×2) |
Standard VGG16. Reference: Simonyan & Zisserman, Very Deep
Convolutional Networks for Large-Scale Image Recognition, ICLR 2015.
Cross-framework verification
These weights are validated by the xaitalk method × architecture
matrix. All XAI methods produce identical attributions (Pearson r=1.0
across float32 numerical precision) when run on the PyTorch / TF
Keras / JAX models with this checkpoint set.
| Methods tested | PASS at r ≥ 0.95 | Min(min_r) |
|---|
| 8 (gradient family + LRP + smoothgrad variants) | 8/8 | 1.0000 |
Full per-method results: see
findings/method_matrix/
in the xaitalk repo.
Usage
1# Anonymous download — no HF token needed:
2from xaitalk.hub import ensure_model
3
4pt_path = ensure_model('vgg16/pt') # → local path to .pth
5jax_path = ensure_model('vgg16/jax') # → local path to .pkl
6
7# Load PyTorch model
8import torch
9import torchvision.models as M
10model_pt = M.vgg16()
11model_pt.load_state_dict(torch.load(pt_path, weights_only=True))
12model_pt.eval()
13
14# Run XAI cross-framework
15import xaitalk
16explanation = xaitalk.explain(model_pt, x, method='lrp_epsilon')
License
VGG16 weights inherit the license of the original Oxford VGG release.
Format-converted files in this repo are provided
as-is under the
same constraints — academic / research use, no commercial restriction.
xaitalk's conversion code is Apache 2.0
(see
github.com/alexanderfpaul/xaitalk-framework).
Citation
If you use these weights, please cite the original VGG paper:
1@inproceedings{simonyan2015vgg,
2 author = {Simonyan, Karen and Zisserman, Andrew},
3 title = {Very Deep Convolutional Networks for Large-Scale Image Recognition},
4 booktitle = {International Conference on Learning Representations (ICLR)},
5 year = {2015}
6}
And, if you use the cross-framework XAI infrastructure that produced
these conversions, please also cite xaitalk:
1@software{paul2026xaitalk,
2 author = {Paul, Alexander},
3 title = {xaitalk: Cross-Framework Explainable AI Library},
4 year = {2026},
5 url = {https://xaitalk.com}
6}
Links