{"id":415,"date":"2021-12-02T14:07:42","date_gmt":"2021-12-02T13:07:42","guid":{"rendered":"https:\/\/blog.zhaw.ch\/high-performance\/?p=415"},"modified":"2021-12-02T14:07:42","modified_gmt":"2021-12-02T13:07:42","slug":"running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/","title":{"rendered":"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"433\" src=\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png\" alt=\"\" class=\"wp-image-418\" srcset=\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png 1024w, https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-300x127.png 300w, https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-768x325.png 768w, https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-676x286.png 676w, https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow.png 1041w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Running artificial intelligence (AI) algorithms, such as neural networks, directly on embedded devices has many advantages compared to running them in the cloud: One can save significant amounts of cloud storage, reduce power consumption and enable real-time applications. In addition, privacy is increased and required bandwidth reduced because only the AI algorithms results are forwarded to the cloud, not the full data. However, setting up the environments for custom neural networks on embedded devices can be difficult. Thats why the HPMM team provides a fully &#8220;dockerized&#8221; reference workflow for the Nvidia Jetson Nano. It includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Container to convert Tensorflow and Pytorch models to .onnx models<\/li><li>Container to cross-compile a C++ TensorRT applications for a Jetson Nano including opencv<\/li><li>Container to run TensorRT networks on the Jetson Nano with the C++ and Python API<\/li><\/ul>\n\n\n\n<p>Please find the link to the reference workflow <a href=\"https:\/\/github.com\/InES-HPMM\/ai_on_nano\">here<\/a>.<\/p>\n\n\n\n<p>If you are interested in running AI algorithms on microcontrollers, such as the Cortex M4, we provide the reference workflows for several frameworks such as TensorFlow lite for microcontrollers, CMSIS-NN and ST CUBE AI <a href=\"https:\/\/github.com\/InES-HPMM\/Artificial_Intelligence_on_Microcontrollers\/tree\/master\/frameworks\">here<\/a>.<\/p>\n\n\n\n<p>Feel free to contact us regarding your custom application or project regarding embedded artificial intelligence!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Running artificial intelligence (AI) algorithms, such as neural networks, directly on embedded devices has many advantages compared to running them in the cloud: One can save significant amounts of cloud storage, reduce power consumption and enable real-time applications. In addition, privacy is increased and required bandwidth reduced because only the AI algorithms results are forwarded [&hellip;]<\/p>\n","protected":false},"author":271,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"features":[],"class_list":["post-415","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers - Embedded High Performance Multimedia Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers\" \/>\n<meta property=\"og:description\" content=\"Running artificial intelligence (AI) algorithms, such as neural networks, directly on embedded devices has many advantages compared to running them in the cloud: One can save significant amounts of cloud storage, reduce power consumption and enable real-time applications. In addition, privacy is increased and required bandwidth reduced because only the AI algorithms results are forwarded [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\" \/>\n<meta property=\"og:site_name\" content=\"Embedded High Performance Multimedia Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-02T13:07:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png\" \/>\n<meta name=\"author\" content=\"gelk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gelk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\"},\"author\":{\"name\":\"gelk\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/#\/schema\/person\/f4fab1587a03110cf79f1bf51f32ebfa\"},\"headline\":\"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers\",\"datePublished\":\"2021-12-02T13:07:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\"},\"wordCount\":202,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png\",\"articleSection\":[\"Allgemein\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\",\"url\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\",\"name\":\"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers - Embedded High Performance Multimedia Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png\",\"datePublished\":\"2021-12-02T13:07:42+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/#\/schema\/person\/f4fab1587a03110cf79f1bf51f32ebfa\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/high-performance\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/high-performance\/\",\"name\":\"Embedded High Performance Multimedia Blog\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/high-performance\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/#\/schema\/person\/f4fab1587a03110cf79f1bf51f32ebfa\",\"name\":\"gelk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2016\/05\/blog_portrait-e1464078746248.png\",\"url\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2016\/05\/blog_portrait-e1464078746248.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/high-performance\/files\/2016\/05\/blog_portrait-e1464078746248.png\",\"caption\":\"gelk\"},\"url\":\"https:\/\/blog.zhaw.ch\/high-performance\/author\/gelk\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers - Embedded High Performance Multimedia Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/","og_locale":"en_GB","og_type":"article","og_title":"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers","og_description":"Running artificial intelligence (AI) algorithms, such as neural networks, directly on embedded devices has many advantages compared to running them in the cloud: One can save significant amounts of cloud storage, reduce power consumption and enable real-time applications. In addition, privacy is increased and required bandwidth reduced because only the AI algorithms results are forwarded [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/","og_site_name":"Embedded High Performance Multimedia Blog","article_published_time":"2021-12-02T13:07:42+00:00","og_image":[{"url":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png","type":"","width":"","height":""}],"author":"gelk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gelk","Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/"},"author":{"name":"gelk","@id":"https:\/\/blog.zhaw.ch\/high-performance\/#\/schema\/person\/f4fab1587a03110cf79f1bf51f32ebfa"},"headline":"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers","datePublished":"2021-12-02T13:07:42+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/"},"wordCount":202,"commentCount":0,"image":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png","articleSection":["Allgemein"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/","url":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/","name":"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers - Embedded High Performance Multimedia Blog","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png","datePublished":"2021-12-02T13:07:42+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/#\/schema\/person\/f4fab1587a03110cf79f1bf51f32ebfa"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png","contentUrl":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2021\/12\/tensor_flow-1024x433.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/high-performance\/2021\/12\/02\/running-artificial-intelligence-algorithms-directly-on-jetson-nano-and-microcontrollers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/high-performance\/"},{"@type":"ListItem","position":2,"name":"Running Artificial Intelligence Algorithms Directly on Jetson Nano and Microcontrollers"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/high-performance\/#website","url":"https:\/\/blog.zhaw.ch\/high-performance\/","name":"Embedded High Performance Multimedia Blog","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/high-performance\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/high-performance\/#\/schema\/person\/f4fab1587a03110cf79f1bf51f32ebfa","name":"gelk","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2016\/05\/blog_portrait-e1464078746248.png","url":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2016\/05\/blog_portrait-e1464078746248.png","contentUrl":"https:\/\/blog.zhaw.ch\/high-performance\/files\/2016\/05\/blog_portrait-e1464078746248.png","caption":"gelk"},"url":"https:\/\/blog.zhaw.ch\/high-performance\/author\/gelk\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/posts\/415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/users\/271"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":5,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":424,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/posts\/415\/revisions\/424"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/media?parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/categories?post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/tags?post=415"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/high-performance\/wp-json\/wp\/v2\/features?post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}