resnet-18-tensorflow
A TensorFlow implementation of ResNet-18(https://arxiv.org/abs/1512.03385)
Prerequisite
TensorFlow 1.8
The ImageNet dataset
(Optional) Torchfile(to convert ResNet-18 .t7 checkpoint into tensorflow checkpoint. Install with a command pip install torchfile
)
How To Run
# Download the ResNet-18 torch checkpoint
wget https://d2j0dndfm35trm.cloudfront.net/resnet-18.t7
# Convert into tensorflow checkpoint
python extract_torch_t7.py
Modify train_scratch.sh
(training from scratch) or train.sh
(finetune pretrained weights) to have valid values of following arguments
train_dataset
, train_image_root
, val_dataset
, val_image_root
: Path to the list file of train/val dataset and to the root
num_gpus
and corresponding IDs of GPUs(CUDA_VISIBLE_DEVICES
at the first line)
Run!
Evaluate the trained model
Note
The extracted weights should be finetuned for several epochs(run ./train.sh
) to get the full performance(If you run the evaluation code without finetuning, the single-crop top-1 validation accuracy is about 60%, which is less than the appeared in the original). I guess there is some minor issue that I have missed.