finds.dev← search

// the find

soumith/imagenet-multiGPU.torch

★ 407 · Lua · BSD-2-Clause · updated Feb 2017

an imagenet example in torch.

A ~1200-line Torch-7 (Lua) example for training AlexNet, Overfeat, VGG, or GoogLeNet on ImageNet with multi-GPU data parallelism. It's aimed at people who wanted a minimal, readable reference for distributed image classification training in the pre-PyTorch era — not at anyone training models today.

The multithreaded data loader (donkey.lua/dataset.lua) is a genuinely clever piece of engineering: it ships tensors between threads without serialization, which was a real bottleneck in other loaders at the time. The codebase is small and readable end to end (main.lua is 30 lines, the whole pipeline under 1200), so you can actually trace the full training loop instead of hunting through abstractions. It includes several architectures (AlexNet, Overfeat, VGG, GoogLeNet, SqueezeNet) sharing the same training/data pipeline, which was useful for comparing them apples-to-apples.

Torch/Lua is dead — the ecosystem moved to PyTorch years ago, and there's no realistic reason to build new training code on this stack now. Last push was February 2017, so it predates modern CUDA/cuDNN versions and almost certainly won't build against current drivers without real archaeology. The learning rate and weight decay schedule is hardcoded in train.lua for one specific run, not exposed as a real hyperparameter surface. It also assumes you can still get ImageNet-12 the old way (direct tar downloads), which is no longer how the dataset is distributed.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →