We have joined forces with OctoML.ai and MLCommons to develop the 2nd generation of the open-source CK technology!
program:convert-ssd-to-i8 (v1.0.0)
Creation date: 2018-02-26
Source: GitHub
cID: b0ac08fe1d3c2615:42869a95af6fc638

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-request-asplos18-caffe-intel
  • Source: GitHub
  • Available command lines:
    • ck run program:convert-ssd-to-i8 --cmd_key=convert-coco (META)
    • ck run program:convert-ssd-to-i8 --cmd_key=convert-voc (META)
    • ck run program:convert-ssd-to-i8 --cmd_key=test-f32 (META)
    • ck run program:convert-ssd-to-i8 --cmd_key=test-i8 (META)
  • Support for host OS: any
  • Support for target OS: any
  • Tags: caffe,intel,vint8
  • How to get the stable version via the client:
    pip install cbench
    cb download program:convert-ssd-to-i8 --version=1.0.0 --all
    ck run program:convert-ssd-to-i8
  • How to get the development version:
    pip install ck
    ck pull repo:ck-request-asplos18-caffe-intel
    ck run program:convert-ssd-to-i8

  • CLI and Python API: module:program
  • Dependencies    

    ReadMe  

    convert-ssd-to-i8

    Program for conversion of SSD models into Intel Caffe quantized format.

    Requirements

    Intel Caffe library:

    ck install package --tags=lib,caffe,intel
    

    Caffe model to be converted into quantized format:

    ck install package --tags=caffemodel,ssd
    

    One of datasets COCO-2014 or VOC-2007 depending on which model you wish to convert:

    ck install package:dataset-coco-2014
    ck install package:dataset-voc-2007
    

    Run

    ck run program:convert-ssd-to-i8 --cmd_key=convert-coco
    

    or

    ck run program:convert-ssd-to-i8 --cmd_key=convert-voc
    

    Program takes dataset and prepares LMDB database. Number of images to be included into database is governed by variable CK_IMAGES_PERCENT.

    Resulting models are stored into tmp directory as test_quantized.prototxt and deploy_quantized.prototxt.

    Test

    Program also provide two testing commands:

    ck run program:convert-ssd-to-i8 --cmd_key=test-f32
    ck run program:convert-ssd-to-i8 --cmd_key=test-i8
    

    Commands take LMDB database that was prepared at previous convert stage and run caffe test operaion using original or converted models.

    TODO We should somehow interpret command output. It produce stdout like

    I0228 11:02:49.898972 63713 caffe.cpp:472] Running for 171 iterations.
    I0228 11:03:08.554591 63713 caffe.cpp:439]     Test net output #0: detection_eval = 0
    

    and original Intel's benchmark.py script treats detection_eval value as mAP.

    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!