msracver / Deformable-ConvNets

Deformable Convolutional Networks
MIT License
4.04k stars 959 forks source link

Python symbol for other ImageNet models #96

Open HashSolo opened 6 years ago

HashSolo commented 6 years ago

Thanks for such a great contribution with this repo!

This question is about training with different ImageNet models besides the default resnet_v1_101 that is set up here. In particular, it is about generating a python symbol file for other ImageNet models (eg. http://data.dmlc.ml/mxnet/models/imagenet/ ). It seems that .‘param’ and ‘.json’ files are available for many ImageNet models, but the python symbol files are harder to find. Moreover, the symbol files that I find online seem different from the symbol files in this repo in the ‘rfcn/symbols’ folder.

For example, the symbol file for a generic resnet model has the get_symbol function that looks like this:

def get_symbol(num_classes, num_layers, image_shape, conv_workspace=256, dtype='float32', **kwargs):

While the same function in symbol file in this repo for resnet_v1_101 in ‘rfcn/symbols’ looks like this

def get_symbol(self, cfg, is_train=True): So, how can I find or create python symbol files for other ImageNet .param and .json files?

(This is my first time using mxnet; my experience is mainly r-fcn and faster r-cnn in caffe. I will appreciate your patience with my learning curve.)

Thanks again. Any help is much appreciated.

HashSolo

bowenc0221 commented 6 years ago

You can use symbols from MXNET examples (image-classification) https://github.com/apache/incubator-mxnet/tree/1.0.0/example/image-classification/symbols

Simply replace get_resnet_v1_conv4() with the feature for RPN and get_resnet_v1_conv5() for ROI pooling.

Pretrained models can be found here: http://data.mxnet.io/models/imagenet/