Code Monkey home page Code Monkey logo

cm4abtf's Introduction

cm4abtf's People

Contributors

arjunsuresh avatar gfursin avatar rod409 avatar ctuning-admin avatar nathanw-mlc avatar petermattson avatar kaspermeck-arm avatar morphine00 avatar guschmue avatar

Stargazers

 avatar  avatar

Watchers

Mohit Mundhra avatar  avatar Nicolai Behmann avatar Diane Feddema avatar  avatar  avatar  avatar  avatar Matt Curfman (Intel) avatar  avatar

cm4abtf's Issues

Error in downloading the Cognata dataset

arjun@intel-spr-i9:~$ cmr "get raw dataset mlcommons-cognata"
05/10 02:20:26 [NOTICE] Download complete: /home/arjun/CM/repos/local/cache/b20b53ce8db24b0d/cognata/10001_Urban_Clear_Noon/semantic_segmentation.csv

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
ecc9a9|OK  |   863KiB/s|/home/arjun/CM/repos/local/cache/b20b53ce8db24b0d/cognata/10001_Urban_Clear_Noon/semantic_segmentation.csv

Status Legend:
(OK):download completed.

Extracting file /home/arjun/CM/repos/local/cache/b20b53ce8db24b0d/cognata/10001_Urban_Clear_Noon/semantic_segmentation.csv ...

Traceback (most recent call last):
  File "/home/arjun/cm/bin/cmr", line 8, in <module>
    sys.exit(run_script())
             ^^^^^^^^^^^^
  File "/home/arjun/cm/lib/python3.12/site-packages/cmind/cli.py", line 78, in run_script
    return run(['run', 'script'] + argv)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arjun/cm/lib/python3.12/site-packages/cmind/cli.py", line 37, in run
    r = cm.access(argv, out='con')
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arjun/cm/lib/python3.12/site-packages/cmind/core.py", line 602, in access
    r = action_addr(i)
        ^^^^^^^^^^^^^^
  File "/home/arjun/CM/repos/arjunsuresh@cm4mlops/automation/script/module.py", line 211, in run
    r = self._run(i)
        ^^^^^^^^^^^^
  File "/home/arjun/CM/repos/arjunsuresh@cm4mlops/automation/script/module.py", line 1563, in _run
    r = prepare_and_run_script_with_postprocessing(run_script_input)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arjun/CM/repos/arjunsuresh@cm4mlops/automation/script/module.py", line 4684, in prepare_and_run_script_with_postprocessing
    rr = run_postprocess(customize_code, customize_common_input, recursion_spaces, env, state, const,
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arjun/CM/repos/arjunsuresh@cm4mlops/automation/script/module.py", line 4736, in run_postprocess
    r = customize_code.postprocess(ii)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arjun/CM/repos/mlcommons@cm4abtf/script/get-dataset-cognata-mlcommons/customize.py", line 240, in postprocess
    serial_file = d[serial_key] + '.xlsx'
                  ~^^^^^^^^^^^^
KeyError: 'Group_Name'

Roadmap to automate ABTF benchmarking via CM

Current tasks

The goal is to decompose ABTF repository into reusable automation recipes to make the benchmarking, evaluation and training process of ABTF models more deterministic, portable and extensible with new models, frameworks and data sets ....

We need to develop the following CM scripts (automation recipes) to support ABTF benchmarking with loadgen across different platforms, OS and hardware:

See the current CM-ABTF documentation/demos here.

Preparing ABTF demo

@gfursin helped to prepare first CM automation for ABTF and we now plan to delegate further developments to dedicated engineers.

Test inference with ABTF model

  • Automate Cognata downloading with custom sub-sets
    • Download to CM cache
    • Import already downloaded dataset
    • Check download of individual files
      • Add variation for a demo (1 min video)
  • Download current ABTF model and register in CM cache
  • Download trained ABTF models via CM

Export ABTF model to other formats

  • Export PyTorch model to ONNX

Evaluate ABTF model with Cognata sub-set

  • Sync with Rod to access server and test CM automation
  • "Decode" function for standalone evaluation of a given image (mAP) to be integrated with loadgen

Automate training of ABTF model with Cognata sub-set

  • Sync with Rod to access server

Add Python harness for loadgen with ABTF model

  • Implement Python loadgen harness for ABTF model to measure performance (1 sample)
    • Pre-load and pre-process all samples from Cognata
  • Implement Python laodgen harness for ABTF model to measure accuracy (1 sample)
    • Pre-load and pre-process all samples from Cognata

See related CM script and simple Python harness.

Generate/use Docker containers

  • Prepare examples of docker containers with CM: see examples

Demos

  • Prepare demo for live ABTF model evaluation
    • Download Cognata subset
    • Show live visualization of predictions
    • Document

For the next tasks we need more engineering resources.

MLCommons committed to fund CM development with 1 CM engineer until the end of 2024 to modularize and automate MLPerf inference. ABTF colleagues should sync developments with the MLPerf inference WG.

Improve performance

  • Add performance profiling, analysis and debugging
  • Current performance on 8-core CPU and Laptop GPU is low (10 sec per frame for 8M model and 3 sec per frame for 3M model on CPU) - need further optimization (quantization, hardware specific optimizations, fine-tuning, etc)

Add C++ harness for loadgen with ABTF model

  • Develop C++ harness for loadgen with ONNX
  • Export PyTorch model to TFLite
    • Develop native C++ harness for loadgen test with TFLite model
  • Develop C++ harness for loadgen with PyTorch

Support other hardware

PyTorch native

  • Support ABTF demo on Nvidia GPU via CUDA
    • Generate Docker container for the demo

Cross-compilation

  • Samsung Exynos
    • Requires C++ loadgen harness implementation with cross-compilation
    • ONNX backend
    • TFLite backend

Automate ABTF model quantization

TBD

Developers

ABTF model

  • Radoyeh Shojaei

CM automation for ABTF model

  • @gfursin has completed a prototype of a CM automation and MLPerf harness for ABTF model in May 2024. Further developments should be done by MLCommons CM inference engineer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.