{"id":21812257,"url":"https://github.com/jolibrain/dd_performances","last_synced_at":"2026-03-10T15:03:38.932Z","repository":{"id":83660130,"uuid":"99326675","full_name":"jolibrain/dd_performances","owner":"jolibrain","description":"DeepDetect performance sheet","archived":false,"fork":false,"pushed_at":"2019-09-16T10:07:07.000Z","size":2275,"stargazers_count":93,"open_issues_count":1,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-13T23:14:43.491Z","etag":null,"topics":["caffe","deepdetect","deeplearning","embedded","embedded-platforms","jetson-nano","jetson-tx1","raspberry","squeezenet"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/jolibrain.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-08-04T09:21:50.000Z","updated_at":"2024-10-14T10:48:56.000Z","dependencies_parsed_at":"2023-03-12T19:10:31.601Z","dependency_job_id":null,"html_url":"https://github.com/jolibrain/dd_performances","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jolibrain/dd_performances","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolibrain%2Fdd_performances","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolibrain%2Fdd_performances/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolibrain%2Fdd_performances/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolibrain%2Fdd_performances/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jolibrain","download_url":"https://codeload.github.com/jolibrain/dd_performances/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolibrain%2Fdd_performances/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30338599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:02:55.010Z","status":"ssl_error","status_checked_at":"2026-03-10T15:02:36.911Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["caffe","deepdetect","deeplearning","embedded","embedded-platforms","jetson-nano","jetson-tx1","raspberry","squeezenet"],"created_at":"2024-11-27T14:15:22.404Z","updated_at":"2026-03-10T15:03:38.921Z","avatar_url":"https://github.com/jolibrain.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dd\\_performances\n## DeepDetect performance report\n\nThis report documents the performances of the [DeepDetect](https://deepdetect.com/) Open Source Deep Learning server on a variety of platforms and popular or particularly effective neural network architectures. The full server source code is available from \u003chttps://github.com/beniz/deepdetect\u003e.\n\n### Reference platforms\nGiven different platforms, the result should serve as a reference for parties and users interested in choosing the right NN model for their work on their server or embedded systems.\n\nOrdered from most to less powerful:\n\n- NVidia GTX 1080 Ti\n- NVidia Jetson TX1\n- NVidia Jetson TK1\n- Raspberry Pi 3\n\nNote that the 1080Ti and TX1 use the CuDNN NVidia accelerator library, while the TK1 uses GPU implementation without CuDNN and Raspberry uses CPU only.\n\nFor a detailed description of all platforms, see the dedicated [platform section](#Platforms).\n\n### Reference networks\nWe conducts an experiment with multiple contemporary Neural Networks (NN) models.\n\n- GoogleNet\n- VGG16 and VGG19\n- Resnet 50, 101 and 152\n- Densenet 121 and 201\n- Squeezenet v1.0 and v1.1\n- Mobilenet (original Caffe version and another with custom speed-up)\n- Shufflenet\n\n#### FLOPS and Parameters\n\nOne important aspect of choosing a model is the limitation of the hardware, such as the computational output (in flops), and the amount of available RAM. The number of flops required for a single pass for a model is displayd below, along with the number of parameters (weights in the network).\n\n\u003ctable style=\"width=100%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"cost/cost.png\" width=\"450\"\u003e\u003c/th\u003e\n     \u003cth\u003e\u003cimg src=\"cost/small_cost.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n### Results Overview\n\nBelow are performances, displayed in log scale.\nThe reported performances are per image in ms. When batch size is greater than one, the reported value is the average time per image for that batch size. On GPUs and platforms with limited memory, not all batch sizes are applicable.\n\n#### With Caffe as a backend \n\nThe reported performances use a customized version of [Caffe](https://github.com/beniz/caffe) as backend.\n\n\u003ctable style=\"width=100%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"graph/gtx1080_log.png\" width=\"450\"\u003e\u003c/th\u003e\n     \u003cth\u003e\u003cimg src=\"graph/TK1_log.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable style=\"width=100%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"graph/TX1_log.png\" width=\"450\"\u003e\u003c/th\u003e\n     \u003cth\u003e\u003cimg src=\"graph/TX2_caffe_log.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable style=\"width=100%\"\u003e\n \u003ctr\u003e\n    \u003cth\u003e\u003cimg src=\"graph/Jetson-nano-log.png\" width=\"450\"\u003e\u003c/th\u003e\n    \u003cth\u003e\u003cimg src=\"graph/Raspi_log.png\" width=\"450\"\u003e\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/table\u003e\n\n#### With TensorRT as a backend \n\n\u003ctable style=\"width=100%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"graph/TX2_TensorRT_log.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eSee linear-scale plot\u003c/summary\u003e \n\n  ![alt text](graph/TX2_TensorRT_linear.png)\n\n\u003c/details\u003e\n\n#### With NCNN as a backend\n\nThe graph shows the performances difference between the Raspberry Pi 3 and the Raspberry Pi 4 (2 GB) using NCNN as a backend. \n\n\u003ctable style=\"width=100%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"graph/NCNN_models_RPI3_RPI4.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n### Discussion\n\n- All considered networks are tested over image classification tasks, we may add more tasks to the benchmark in the future.\n- There's basically an order of magnitude difference in performance in between each platforms taken in decreasing performance order. \n- We seek the best architectures for embedded systems: Squeezenet, Shufflenet, Mobilenet and GoogleNet appear to be the most suited. We use the 10fps and 25fps thresholds as markups for potential real-time applications (with potential batch size \u003e 1).\n- We use an improved depthwise convolutional layer in order to boost the performances of the Mobilenet and Shuffletnet architectures. This new layer is available from our custom version of [Caffe](https://github.com/beniz/caffe) alongside many other improvements and features.\n- Squeezenet v1.1 appears to be the clear winner for embedded platforms. More analysis of low parameters versions of MobileNet could prove competitive despite the grouped convolutions.\n\n\n## Platforms\n- Desktop GTX1080Ti (11.3 TFLOPS 3585 cores)\n\n  On a Desktop with GTX1080Ti most models are able to perform better than 25 fps. \n  The card has 11 GB GDDR5X VRAM with 3584 CUDA cores running at a maximum of 1582 MHz. \n  This amounts to 11.3 TFLOP/s. While it is capable of real time processing, the power consumption is not viable for embedded system application. \n  Weighting in at 280 watts under load, the Desktop setup is suitable for analysis application, surveillance, anything a desktop would do but no embedded applications.\n\n![alt text](graph/gtx1080_log.png)\n\n\u003cdetails\u003e\n  \u003csummary\u003esee linear plot\u003c/summary\u003e\n\n  ![alt text](graph/gtx1080_linear.png)\n\n\u003c/details\u003e\n\n- Jetson TX1 (1 TFLOPS 256 cores)\n\n  Second on the list is the Nvidia Jetson TX1. Weighting in at 15 W max while in operation, TX1 is a great candidate for embedded system applications. \n  At 1 TFLOPS theoritical output, TX1 is able to push squeezenet\\_v1.0, squeezenet\\_v1.1, mobilenet\\_depthwise, googlenet, and shufflenet to more than 25 fps.\n  In extreme cases, Tx1 can compute up to 85 fps with batch-size equal or more than 16 for squeezenet\\_v1.1. For a project with critical time constraint \n  such as autonomous cars, \n  TX1 could prove to be viable solution. \n\n![alt text](graph/TX1_log.png)\n\u003cdetails\u003e\n  \u003csummary\u003eSee linear-scale plot\u003c/summary\u003e\n\n  ![alt text](graph/TX1_linear.png)\n\n\u003c/details\u003e\n\n\n- Jetson TX2 (1.5 TFLOPS 256 cores)\n\n  The Jetson TX2 offers a 1.5 TFLOPS output and is a great solution for fast and power-efficient embedded systems. The TX2 is equipped with an NVIDIA Pascal GPU.\n  This 7.5-watt modules can push up to 80 fps for a batch size of 128 for the Squeezenet model. In the same conditions, the frame per second  goes up to 68 computed images for Googlenet.  \n  On a 64 batch size, the Jetson TX2 can reach up to 50 frames per second. For a project with real time computation like autonomous cars, the Jetson TX2 would be an ideal candidate. \n  TX2's performances allows very quick on edge computation.\n  \n![alt text](graph/TX2_caffe_log.png)\n\u003cdetails\u003e\n  \u003csummary\u003eSee linear-scale plot\u003c/summary\u003e \n\n  ![alt text](graph/TX2_caffe_linear.png)\n\n\u003c/details\u003e\n\n  \n- Jetson Nano (500 GFLOPS 128 cores)\n\n  Weighting in at 5 W max while in operation, Nano is a low cost solution for embedded system applications and IA on edge. \n  It has a 500 GFLOPS output. For a batch size of 1, ShuffleNet and SqueezeNet reach respectively 12 and 25 fps. \n  Jetson Nano can push up to 10 fps with a batch-size superior or equal to 2 for Squeezenet-SSD-faces, SqueezeNet-SS-voc and ResNet18-ocr.\n  When pushed to a 64 batch size, the Nano can compute up to 48 fps for SqueezeNet and ResNet18-ocr. For a large-scale project or one with budget-constraints \n  Jetson Nano seems to be an interesting solution. \n\n![alt text](graph/Jetson-nano-log.png)\n\u003cdetails\u003e\n  \u003csummary\u003eSee linear-scale plot\u003c/summary\u003e\n\n  ![alt text](graph/Jetson-nano.png)\n\n\u003c/details\u003e\n\n\n- Jetson TK1 (300 GFLOPS 192 cores)\n\n  With 12.5 watts rated under load on the development board -should be lower on the module, claimed NVIDIA- and the cost of 200 USD, \n  The Jetson TK1 seems to hit the sweet spot for computational power vs cost for embedded application.\n  Given a proper optimization, the TK1 could reach 25 fps in term of processing speed.\n  The TK1 would serve well in general purpose image classification in manufacturing processes, surveillance, and replacing workforce in non-safety-critical tasks. \n\n![alt text](graph/TK1_log.png)\n\u003cdetails\u003e\n  \u003csummary\u003eSee linear-scale plot\u003c/summary\u003e\n\n  ![alt text](graph/TK1_linear.png)\n\n\u003c/details\u003e\n\n\n- Raspberry Pi3 model B (24GFLOPs GPU and 2.3 DMIPS/MHz CPU at 35 USD)\n\n  The last in our book is the Raspberry Pi3. At merely 4 watts under load, the Pi ought to be the preferred solution for remote sensing.\n  The downside lies in its ability to process images, at merely 1 fps max performance.\n\n![alt text](graph/Raspi_log.png)\n\n\u003cdetails\u003e\n  \u003csummary\u003eSee linear-scale plot\u003c/summary\u003e\n\n  ![alt text](graph/Raspi_linear.png)\n\n\u003c/details\u003e\n\n## Networks comparison across platforms\n\nThe reported performances use a customized version of [Caffe](https://github.com/beniz/caffe) as backend.\nThe results of the comparison of each model accross multiple platform are displayed below.\nThe legend shows the number of batch size in color coded manner. Note that not all batch sizes are available for all architectures.\n\n\u003cdetails\u003e\n  \u003csummary\u003esee all plots..\u003c/summary\u003e\n\n  ![alt text](model_based_plots/shufflenet.png)\n  ![alt text](model_based_plots/mobilenet.png)\n  ![alt text](model_based_plots/mobilenet_depthwise.png)\n  ![alt text](model_based_plots/res50.png)\n  ![alt text](model_based_plots/res101.png)\n  ![alt text](model_based_plots/res152.png)\n  ![alt text](model_based_plots/googlenet.png)\n  ![alt text](model_based_plots/dense121.png)\n  ![alt text](model_based_plots/dense201.png)\n  ![alt text](model_based_plots/squeezenet_v1.0.png)\n  ![alt text](model_based_plots/squeezenet_v1.1.png)\n  ![alt text](model_based_plots/vgg16.png)\n  ![alt text](model_based_plots/vgg19.png)\n  ![alt text](model_based_plots/shufflenet.png)\n\n\u003c/details\u003e\n\n## Selecting an embedded platform and network\n\nThe challenge of implementing NN on an embedded system is the limitation on memory and computational resources.\n\nThat is to say it should have a small computational trace without losing the accuracy. To this purpose we looked into three rather novel architectures: SqueezeNet, MobileNet and ShuffleNet.\n\n\u003c!-- We looked into \u003ca href =  \u003eMobilenet\u003c/a\u003e. --\u003e\n\n#### MobileNet\n\nMobilenet is an implementation of [Google's MobileNet](https://arxiv.org/abs/1704.04861). \nMobilenet has Top-1 accuracy of 70.81% and Top-5 accuracy of 89.5% compared to the leading model in accuracy, Densenet201, with 77.31% for Top-1 and 93.64% for Top-5. The MobileNet architecture has shown rather minimal lost in accuracy while reducing the footprint from 4.7 Gflops to 0.56 Gflops.\n\nBut the result was rather underwhelming. While faster than densenet201, the mobilenet is nowhere near the leading models in term of speed. The reason lies with the vanilla implementation of `grouped convolutions` in Caffe. A dedicated rewrite of depthwise convolutions (modified from \u003chttps://github.com/BVLC/caffe/pull/5665\u003e) yielded an order of magnitude speed-up, making MobileNet usable again.\n\nOur baseline was customized from \u003chttps://github.com/shicai/MobileNet-Caffe\u003e.\n\nYou can witness the performance gain from the naive MobileNet implementation with vanilla Caffe below. On CPU\n\n\u003ctable style=\"width=80%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"mobilenet/mobilenet_GTX1080Ti.png\" width=\"450\"\u003e\u003c/th\u003e\n     \u003cth\u003e\u003cimg src=\"mobilenet/mobilenet_TX1.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable style=\"width=80%\"\u003e\n  \u003ctr\u003e\n     \u003cth\u003e\u003cimg src=\"mobilenet/mobilenet_TK1.png\" width=\"450\"\u003e\u003c/th\u003e\n     \u003cth\u003e\u003cimg src=\"mobilenet/mobilenet_RasPi3.png\" width=\"450\"\u003e\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nThe gain is negligible on the Raspberry Pi 3 pure CPU platform. On GPU platforms the gain improves with batch size.\n\n#### ShuffleNet\n\nThe [ShuffleNet](https://arxiv.org/abs/1707.01083) promised a more efficient NN via the dephtwise convolutions and a dedicated shuffling of channels.\n\nWe used a customized implementation from \u003chttps://github.com/farmingyard/ShuffleNet\u003e, and that exhibit good performances.\n\n\n## Methodology\n### benchmarking\n  The benchmark uses the [dd_bench.py](https://github.com/beniz/deepdetect/blob/master/clients/python/dd_bench.py) Python script with images that can be downloaded from \u003chttps://deepdetect.com/stuff/bench.tar.gz\u003e.\n  \n  Assuming you had successfully build DeepDetect and it's up and running, the following call to the benchmark tool was used:\n  \n  ```\n  python dd_bench.py --host localhost --port 8080 --sname imageserv --gpu --remote-bench-data-dir \u003cbench folder's location\u003e --max-batch-size 128 --create \u003cNN model folder name\u003e\n  ```\n\n  Of course, you'd need to change \u0026lt;bench folder's location\u0026gt; to your location to the bench folder and \u0026lt;NN model folder name\u0026gt; to your model folder name or path, assuming it is saved under DeepDetect/models.\n\n  This will create a service on the DD server with the name of `imgserv` with server listening from localhost:8080. It will use the available GPU according to `--gpu` and will make attempts of increasing batchsize up to 128.\n \n* Note attempting to create a service while it has already been created will result in errors. You can remove `--create \u0026lt;model name\u0026gt;` to avoid this issue.\n  To automatically kill the service after benchmarking add `--auto-kill`. For more information run `python dd\\_bench.py --help`\n\n### Using additional models\nTo use additional models for benchmarking, 2 files are needed, \n- model.caffemodel \n- deploy.prototxt\nThe former is a structure representation of the network while the later holds the trained weight as the model.\n\nTo train your own model beforehand, please refer to the section \u003ca href=\"https://www.deepdetect.com/overview/train_images/\"\u003ehere\u003c/a\u003e.\n\nFor the `prototxt` file taken from other resources, we need to make sure that the input and output are compatible with DeepDetect.\n\nIn the general case we will add the first layer to take the input as 224x224 image and on the output we will add a layer to treat the output with softmax. A useful reference template is \u003chttps://github.com/beniz/deepdetect/blob/6d0a1f2d1e487b492e004d7d5972f302d4182ab1/templates/caffe/googlenet/deploy.prototxt\u003e\n\n\u003c/details\u003e\n\n## Raw Data\n\n\u003cdetails\u003e\n\n### 5 pass average processing time(GTX 1080 Ti):\n|Top 1 accuracy\t|70.81\t|missing\t|75.3\t|76.4\t|77\t|67.9\t|74.9\t|77.3\t|59.5\t|59.5\t|70.5\t|71.3\t|missing|\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n|batch size\t|mobilenet\t|mobilenet\\_depthwise\t|res50\t|res101\t|res152\t|googlenet\t|densenet121\t|densenet201\t|Squeezenetv1.0\t|Squeezenetv1.1\t|vgg16\t|vgg19\t|shufflenet|\n|1\t|37.2\t|12.2\t|19.8\t|35.8\t|44.4\t|16.6\t|45.6\t|69\t|8.4\t|8.6\t|14\t|14.6\t|15\t|\n|2\t|36.3\t|6.2\t|14.1\t|22.5\t|27.8\t|9.8\t|24\t|38.6\t|4.1\t|5.5\t|9.9\t|11.2\t|9.1\t|\n|4\t|22.1\t|4.3\t|8.8\t|13.8\t|18.5\t|5.25\t|16.5\t|25.9\t|2.6\t|3.55\t|6.95\t|8.2\t|6.95\t|\n|8\t|21.2\t|3.52\t|7.27\t|10.4\t|14.6\t|3.93\t|11.92\t|18.5\t|2.38\t|2.33\t|5.7\t|6.25\t|4.55\t|\n|16\t|19.5\t|3.73\t|6.33\t|8.63\t|11.6\t|3.18\t|9.06\t|13.7\t|2.16\t|1.97\t|5.18\t|6.21\t|4.71\t|\n|32\t|18.2\t|3.23\t|5.9\t|7.82\t|x\t|3.3\t|x\t|x\t|2.59\t|2.96\t|5.15\t|6.05\t|3.49\t|\n|64\t|19.3\t|3.12\t|x\t|x\t|x\t|3.13\t|x\t|x\t|2.5\t|2.33\t|4.82\t|5.63\t|3.26\t|\n|128\t|16.8\t|2.63\t|x\t|x\t|x\t|3.05\t|x\t|x\t|2.2\t|2.2\t|4.97\t|5.57\t|2.87\t|\n\n### 5 pass average processing time(Jetson TX1):\n|Top 1 accuracy\t|70.81\t|missing\t|75.3\t|76.4\t|77\t|67.9\t|74.9\t|77.3\t|59.5\t|59.5\t|70.5\t|71.3\t|missing|\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n|batch size\t|mobilenet\t|mobilenet\\_depthwise\t|res50\t|res101\t|res152\t|googlenet\t|densenet121\t|densenet201\t|Squeezenetv1.0\t|Squeezenetv1.1\t|vgg16\t|vgg19\t|shufflenet|\n|1\t|171\t|33.8\t|89\t|142\t|195\t|43.6\t|134\t|248\t|33.4\t|30.2\t|133\t|152\t|60\t|\n|2\t|173\t|29.2\t|77.7\t|122\t|180\t|29.6\t|98.5\t|159\t|23.7\t|17.9\t|165\t|187\t|38.8\t|\n|4\t|164\t|27\t|69.6\t|112\t|x\t|24\t|93.7\t|x\t|20.7\t|14.2\t|127\t|149\t|21.7\t|\n|8\t|155\t|26.1\t|66.7\t|x\t|x\t|21.8\t|x\t|x\t|18.6\t|12.1\t|110\t|130\t|20.6\t|\n|16\t|x\t|25.6\t|x\t|x\t|x\t|20.2\t|x\t|x\t|17.7\t|11.8\t|100\t|120\t|21.8\t|\n|32\t|x\t|25.5\t|x\t|x\t|x\t|19.7\t|x\t|x\t|17.5\t|11.8\t|x\t|x\t|22.9\t|\n|64\t|x\t|x\t|x\t|x\t|x\t|20\t|x\t|x\t|17.6\t|11.5\t|x\t|x\t|x\t|\n|128\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|11.6\t|x\t|x\t|x\t|\n\n### 5 pass average processing time(Jetson TK1):\n|Top 1 accuracy\t|70.81\t|missing\t|75.3\t|76.4\t|77\t|67.9\t|74.9\t|77.3\t|59.5\t|59.5\t|70.5\t|71.3\t|missing|\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n|batch size\t|mobilenet\t|mobilenet\\_depthwise\t|res50\t|res101\t|res152\t|googlenet\t|densenet121\t|densenet201\t|Squeezenetv1.0\t|Squeezenetv1.1\t|vgg16\t|vgg19\t|shufflenet|\n|1\t|464\t|336\t|203\t|283\t|400\t|197\t|294\t|637\t|119\t|90.2\t|x\t|x\t|82.8\t|\n|2\t|462\t|210\t|231\t|351\t|477\t|127\t|225\t|x\t|88\t|71.3\t|x\t|x\t|63.8\t|\t\n|4\t|453\t|135\t|234\t|x\t|x\t|87.2\t|x\t|x\t|70.8\t|50.9\t|x\t|x\t|53.4\t|\n|8\t|441\t|141\t|x\t|x\t|x\t|78.8\t|x\t|x\t|62.9\t|53.6\t|x\t|x\t|52\t|\n|16\t|452\t|137\t|x\t|x\t|x\t|87.8\t|x\t|x\t|67\t|40\t|x\t|x\t|51.3\t|\n|32\t|x\t|x\t|x\t|x\t|x\t|93\t|x\t|x\t|81\t|46.8\t|x\t|x\t|x      |\n|64\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|45.2\t|x\t|x\t|x      |\n|128\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x      |\n\n### 5 pass average processing time(Raspberry pi 3):\n|Top 1 accuracy\t|70.81\t|missing\t|75.3\t|76.4\t|77\t|67.9\t|74.9\t|77.3\t|59.5\t|59.5\t|70.5\t|71.3\t|missing|\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n|batch size\t|mobilenet\t|mobilenet\\_depthwise\t|res50\t|res101\t|res152\t|googlenet\t|densenet121\t|densenet201\t|Squeezenetv1.0\t|Squeezenetv1.1\t|vgg16\t|vgg19\t|shufflenet|\n|1\t|1246\t|1443\t|3560\t|x\t|x\t|7980\t|x\t|x\t|1492\t|910\t|x\t|x\t|1115      |\n|2\t|1230\t|1370\t|x\t|x\t|x\t|8008\t|x\t|x\t|1478\t|917\t|x\t|x\t|1067      |\n|4\t|x\t|1372\t|x\t|x\t|x\t|7943\t|x\t|x\t|1493\t|919\t|x\t|x\t|1047      |\n|8\t|x\t|1401\t|x\t|x\t|x\t|8015\t|x\t|x\t|1444\t|913\t|x\t|x\t|1046      |\n|16\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|1456\t|909\t|x\t|x\t|x      |\n|32\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x      |\n|64\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|\n|128\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|x\t|\n\n### flops and params for each model:\n|  | mobilenet |mobilenet\\_depthwise |res50 |res101 |res152 |googlenet |densenet121 |densenet201 |Squeezenetv1.0 |Squeezenetv1.1 |vgg16 |vgg19 |shufflenet |\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | \n| Giga flops\t|0.5687 | 0.5514 | 3.8580 | 7.5702 | 11.282 | 1.5826 | 3.0631 | 4.7727 | 0.8475 | 0.3491 | 15.470 | 19.632 | 0.1234|\n| million params | 4.2309 | 4.2309 | 25.556 | 44.548 | 60.191 | 6.9902 | 7.9778 | 20.012 | 1.2444 | 1.2315 | 138.34 | 143.65 | 1.8137 |\n\n\u003c/details\u003e\n\nThe bulk of this work was done by \u003chttps://github.com/jsaksris/\u003e while on internship at [jolibrain](http://www.jolibrain.com).\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjolibrain%2Fdd_performances","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjolibrain%2Fdd_performances","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjolibrain%2Fdd_performances/lists"}