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
# Anonymous download β no HF token needed:
from xaitalk.hub import ensure_model
pt_path = ensure_model('vgg16/pt') # β local path to .pth
jax_path = ensure_model('vgg16/jax') # β local path to .pkl
# Load PyTorch model
import torch
import torchvision.models as M
model_pt = M.vgg16()
model_pt.load_state_dict(torch.load(pt_path, weights_only=True))
model_pt.eval()
# Run XAI cross-framework
import xaitalk
explanation = 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:
@inproceedings{simonyan2015vgg,
author = {Simonyan, Karen and Zisserman, Andrew},
title = {Very Deep Convolutional Networks for Large-Scale Image Recognition},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2015}
}
And, if you use the cross-framework XAI infrastructure that produced these conversions, please also cite xaitalk:
@software{paul2026xaitalk,
author = {Paul, Alexander},
title = {xaitalk: Cross-Framework Explainable AI Library},
year = {2026},
url = {https://xaitalk.com}
}
Links
- xaitalk website: https://xaitalk.com
- Framework GitHub: https://github.com/alexanderfpaul/xaitalk-framework
- xaitalk org on HuggingFace: https://huggingface.co/xaitalk