DeepDream GoogLeNet weights (PyTorch)
PyTorch-loadable weights for the original DeepDream GoogLeNet models, hosted for
mediasynthesismuseum/deepdream.
These are the classic Caffe models converted to PyTorch (via
ProGamerGov), preserving the original caffe layer
names (inception_4c_output, inception_3b_5x5_reduce, …) used in Alexander Mordvintsev's 2015
dream.ipynb.
| File | Model | Trained on | Dream aesthetic |
|---|---|---|---|
bvlc_googlenet.pth |
BVLC GoogLeNet | ImageNet | the classic dogs / eyes / pagodas ("puppy-slug") |
googlenet_places365.pth |
GoogLeNet-Places | Places365 | buildings, domes, temples, landscapes |
Preprocessing (both models)
Caffe-style: BGR channel order, subtract mean [104, 116, 122], input range 0–255 (no
/255 scaling). Feature maps are read from the inception_*_output modules.
Usage
import torch
from huggingface_hub import hf_hub_download
from dd_models import BVLC_GOOGLENET # model definitions included in this repo
net = BVLC_GOOGLENET(); net.add_layers()
sd = torch.load(hf_hub_download("mediasynthesismuseum/deepdream-googlenet", "bvlc_googlenet.pth"),
map_location="cpu", weights_only=False)
net.load_state_dict({k: v for k, v in sd.items() if k in net.state_dict()
and v.shape == net.state_dict()[k].shape}, strict=False)
net.eval()
# hook net.inception_4c_output, then gradient-ascend its L2 norm across octaves.
Model definitions (bvlc_googlenet.py, googlenetplaces.py, helper_layers.py) are included in
this repo. Original credit: Google DeepDream, BVLC Caffe Model Zoo, MIT Places, and ProGamerGov's
Caffe→PyTorch conversions.