{"id":16837785,"url":"https://github.com/zhreshold/cvpr2020-videomodeling-deployment","last_synced_at":"2025-04-11T05:14:30.198Z","repository":{"id":67409085,"uuid":"270852096","full_name":"zhreshold/cvpr2020-videomodeling-deployment","owner":"zhreshold","description":"Materials for demonstrating video model deployment","archived":false,"fork":false,"pushed_at":"2020-06-14T18:21:13.000Z","size":524,"stargazers_count":17,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-11T05:14:25.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zhreshold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-06-08T23:11:10.000Z","updated_at":"2024-05-20T16:41:15.000Z","dependencies_parsed_at":"2023-02-25T16:15:22.447Z","dependency_job_id":null,"html_url":"https://github.com/zhreshold/cvpr2020-videomodeling-deployment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhreshold%2Fcvpr2020-videomodeling-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhreshold%2Fcvpr2020-videomodeling-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhreshold%2Fcvpr2020-videomodeling-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhreshold%2Fcvpr2020-videomodeling-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhreshold","download_url":"https://codeload.github.com/zhreshold/cvpr2020-videomodeling-deployment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345268,"owners_count":21088245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T12:18:49.275Z","updated_at":"2025-04-11T05:14:30.176Z","avatar_url":"https://github.com/zhreshold.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cvpr2020-videomodeling-deployment\nMaterials for demonstrating video model deployment\n\n## Prerequisites\nTo be able to run these jupyter notebooks, you will need to install `mxnet`, `gluoncv` and `tvm`(for third notebook only).\n\n```\npip install mxnet-cu102 gluoncv decord jupyter\n```\n\nFor TVM installation, please check out [tvm](https://tvm.apache.org/docs/install/index.html).\n\n\n## How to build the Jetson Demo App\n\n(This tutorial is verified on JetPack 4.4).\n\n\nInstall the system packages\n```\nsudo apt-get update\nsudo apt-get install -y build-essential python3-dev python3-setuptools make cmake git\nsudo apt-get install -y ffmpeg libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev\n```\n\nMake sure you have cloned the repo recursively with the submodules\n```\ngit submodule update --recursive --init\n```\n\nBuild the demo app\n```\ncd path_to_this_repo/tvm_deploy\nmkdir build \u0026\u0026 cd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\nmake -j8\n```\n\nNow the `video_classification` app is ready to go!\n\n## How to use the Jetson Demo App\n\nFirst of all, make sure you have played with `03_deploy_video_model_to_tvm.ipynb` and have exported tvm runtime lib `xxx_deploy_lib.so`, `xxx_deploy_graph.json`, `xxx_deploy_0000.params`, and `xxx_synset.txt`.\nTo execute the app, copy the executable `video_classification` to the same directory with the parameter files.\n\nThen \n```bash\n./video_classification test.mkv model_name --gpu gpu_id\n```\n\nFor example\n```\n./video_classification pancake.mkv resnet18_v1b_kinetics400 --gpu 0\n```\n\nOutputs:\n```\n[13:27:08] /home/xavier/cvpr20-tutorial/cvpr2020-videomodeling-deployment/tvm_deploy/src/classification.cpp:116: Read 13 frames.\n[13:27:08] /home/xavier/cvpr20-tutorial/cvpr2020-videomodeling-deployment/tvm_deploy/src/classification.cpp:147: Elapsed time {Forward-\u003eResult}: 143.906 ms\n[13:27:08] /home/xavier/cvpr20-tutorial/cvpr2020-videomodeling-deployment/tvm_deploy/src/classification.cpp:161: The input picture is classified to be\n        [flipping_pancake], with probability 0.996\n        [playing_drums], with probability 0.003\n        [air_drumming], with probability 0.000\n        [playing_cymbals], with probability 0.000\n        [cooking_chicken], with probability 0.000\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhreshold%2Fcvpr2020-videomodeling-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhreshold%2Fcvpr2020-videomodeling-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhreshold%2Fcvpr2020-videomodeling-deployment/lists"}