id: model-zoo-imagenet-resnet title: 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 cd to singa/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