Image Classification using Residual Networks
In this example, we convert Residual Networks trained on Torch to SINGA for image classification. Tested with the parameters pretrained by Torch
Instructions
Please
cdtosinga/examples/imagenet/resnet/for the following commands
Download
Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
$ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
$ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
$ tar xvf resnet-18.tar.gz
Usage
$ python serve.py -h
Example
# use cpu
$ python serve.py --use_cpu --parameter_file resnet-18.pickle --model resnet --depth 18 &
# use gpu
$ python serve.py --parameter_file resnet-18.pickle --model resnet --depth 18 &
The parameter files for the following model and depth configuration pairs are provided:
- resnet (original resnet), 18|34|101|152
- addbn (resnet with a batch normalization layer after the addition), 50
- wrn (wide resnet), 50
- preact (resnet with pre-activation) 200
Submit images for classification
$ curl -i -F image=@image1.jpg http://localhost:9999/api
$ curl -i -F image=@image2.jpg http://localhost:9999/api
$ curl -i -F image=@image3.jpg http://localhost:9999/api
image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
Details
The parameter files were extracted from the original torch files via the convert.py program.
Usage:
$ python convert.py -h
