program:image-classification-resnet-50-mxnet (v1.0.0)
Creation date: 2018-07-16
Source: GitHub
cID: b0ac08fe1d3c2615:c7cd7d34ef29e2e9

Don't hesitate to get in touch if you encounter any issues or would like to discuss this community project!
Please report if this CK component works: 1  or fails: 0 
Sign up to be notified when artifacts are shared or updated!

Description  

This portable workflow is our attempt to provide a common CLI with Python JSON API and a JSON meta description to automatically detect or install required components (models, data sets, libraries, frameworks, tools), and then build, run, validate, benchmark and auto-tune the associated method (program) across diverse models, datasets, compilers, platforms and environments. Our on-going project is to make the onboarding process as simple as possible via this platform. Please check this CK white paper and don't hesitate to contact us if you have suggestions or feedback!
  • Automation framework: CK
  • Development repository: ck-tbd-suite
  • Source: GitHub
  • Available command lines:
    • ck run program:image-classification-resnet-50-mxnet --cmd_key=train (META)
    • ck run program:image-classification-resnet-50-mxnet --cmd_key=train-and-profile (META)
    • ck run program:image-classification-resnet-50-mxnet --cmd_key=train-and-profile-fp32 (META)
  • Support for host OS: any
  • Support for target OS: any
  • Tags: image-classification,mxnet-image-classification
  • How to get the stable version via the client:
    pip install cbench
    cb download program:image-classification-resnet-50-mxnet --version=1.0.0 --all
    ck run program:image-classification-resnet-50-mxnet
  • How to get the development version:
    pip install ck
    ck pull repo:ck-tbd-suite
    ck run program:image-classification-resnet-50-mxnet

  • CLI and Python API: module:program
  • Dependencies    

    ReadMe  

    ImageClassification-Inception-MXNet

    This folder contains the MXNet implementation of the inception-v3 model.

    Prepare Dataset

    The original directory of MXNet image classification contains scripts for all MNIST, cifar10 and imagenet datasets. In our benchmark, we use only the imagenet1K dataset.

    To use our benchmark, first prepare the dataset according to the following steps:

    1, Download and decompress the imagenet1K 2012 dataset. Note that you need to sign up for an account at image-net.org to download the dataset. After decompressing, your dataset directory should look like this:

    $ DATA_DIR=.... # put your directory here
    $ ls $DATA_DIR
    n01440764/
    n01443537/
    n01484850/
    ...
    

    2, Generate the data format of RecordIO:

    python dataset/im2rec.py --list True --recursive True imagenet1k $DATA_DIR
    python dataset/im2rec.py --resize 480 --quality 95 --num-thread 16 imagenet1k $DATA_DIR
    

    You should have a file named imagenet1k_train.rec generated, the size of this file is about 137G.

    Run Training

    We choose the following hyper-parameters for the inception-v3 models:

    Learning rate: 0.1 for 30 epochs, 0.01 for 30 epochs, 0.001 for 40 epochs\ momentum: 0.9\ weight decay: 0.0001\ optimizer: sgd

    We leave other hyper parameters as default.

    Change the --data-train option in scripts/inception-imagenet.sh, then start the training by:

    cd scripts
    bash inception-imagenet.sh
    

    Change the --batch-size option in scripts/inception-imagenet.sh if you want to use a different mini-batch size.

    Versions  

    Files  

    Comments  

    Please log in to add your comments!
    If you notice any inapropriate content that should not be here, please report us as soon as possible and we will try to remove it within 48 hours!