{"id":692,"date":"2020-05-07T16:19:38","date_gmt":"2020-05-07T07:19:38","guid":{"rendered":"http:\/\/it-style.jp\/?page_id=692"},"modified":"2020-05-08T10:57:26","modified_gmt":"2020-05-08T01:57:26","slug":"how-to-implement-deep-learning-inference-with-arduino-ide","status":"publish","type":"page","link":"https:\/\/it-style.jp\/?page_id=692","title":{"rendered":"Implementing Deep Learning with Arduino IDE"},"content":{"rendered":"<p><span style=\"font-family: arial, helvetica, sans-serif; font-size: 24pt;\"><strong><span style=\"color: #333399;\">How to Implement Deep Learning Inference on ESP32 <\/span><\/strong><\/span><strong style=\"font-family: arial, helvetica, sans-serif; font-size: 24pt;\"><span style=\"color: #333399;\">with Arduino IDE using SONY Neural Network Console.<\/span><\/strong><\/p>\n<p style=\"text-align: right;\">\u203bA set of textbook, sample programs and library<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-542 size-large\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/fimage1-1024x642.png\" alt=\"\" width=\"750\" height=\"470\" srcset=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/fimage1-1024x642.png 1024w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/fimage1-300x188.png 300w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/fimage1-768x482.png 768w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/fimage1.png 1142w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Now you see some projects that require AI technology such as deep learning and\/or machine learning under the condition of the decline of the microcomputer device cost.<\/p>\n<p><strong><span style=\"color: #800000;\">In this course, we will build a neural network on an Arduino microcomputer ESP32. It can make an inference from handwritten digits which are input from a video camera. In this process, you can experience and understand everything about the implemented procedure on an Arduino microcomputer without difficult programming in Python.<\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-544 size-full\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/mnist49.png\" alt=\"\" width=\"167\" height=\"77\" \/>The dominant language for AI is complicated Python. A lot of information is based on Python. And enormous CPU power is required to build a large neural network, and it is impossible to do this with only a small microcomputer. Of course, some embedded microcomputer systems have large ROM \/ RAM and run an OS such as Linux, Android, Windows, etc. to use Python. But these large systems are the same as PCs. Since our target is Arduino microcomputers, so we don\u2019t put focus on the details regarding Python in this course.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-550 size-medium\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/1945789w-300x244.png\" alt=\"\" width=\"300\" height=\"244\" srcset=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/1945789w-300x244.png 300w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/1945789w-768x624.png 768w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/1945789w-1024x832.png 1024w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/1945789w.png 1477w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Most of the people who take this course have touched the microcomputer, and those who can do something like blinking a LED and can read the manuals. So, I can provide a guideline to those who are new to deep learning and wondering how to start designing with simple microcomputers. The goal is to understand the process to design an application which equips AI functions in it that fits within a small one-chip microcomputer capability. To train the neural network itself should be done on a PC beforehand, then you can use the inference engine part for a microcomputer. With this technique, various things can be applied even with low power microcomputers. In other words, I will tell you the best shortcut to have microcomputers obtain AI functions, although there is a huge difference between large computers and microcomputers in its capabilities.<\/p>\n<p>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-549 size-full\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/esp32devkit.png\" alt=\"\" width=\"264\" height=\"189\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Therefore, as a microcomputer, we will target Espressif&#8217;s ESP32, which is rapidly spreading in the IoT field. As an Arduino microcomputer without using ESP-IDF, we will adopt a method of implementing AI functions in the Arduino integrated development environment (IDE). If you use ESP-IDF, you can use all the detailed libraries, but it requires a great deal of effort to implement the software. On the other hand, in the Arduino environment, the libraries are well categorized and organized into a level that does not cause any problems in normal development, making it a development environment that is easy to use even for beginners of microcomputers. In addition, many textbooks have been published, and to develop programs with Arduino has become a practical standard. To use Arduino IDE must be the shortest route for microcomputer engineers to learn the technology necessary for installing the AI function without being involved in extra trouble and to actually experience and feel it.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>Sample movie<\/strong><\/span><\/p>\n<p><a href=\"https:\/\/it-style.jp\/documents\/demo1.mp4\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-609 size-medium\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/infecapt1-300x253.png\" alt=\"MNIST_ESP32\u52d5\u753b\" width=\"300\" height=\"253\" srcset=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/infecapt1-300x253.png 300w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/04\/infecapt1.png 656w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>You will see that ESP32 is judging the handwritten digits continuously and the inferred result is on the serial monitor.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"color: #003300;\">Class style<\/span><\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-727 size-medium\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/titleicon1en-300x190.png\" alt=\"Implement deep learning with Arduino IDE\" width=\"300\" height=\"190\" srcset=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/titleicon1en-300x190.png 300w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/titleicon1en-768x487.png 768w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/titleicon1en-1024x649.png 1024w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/titleicon1en.png 1600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>This course is a textbook that summarizes the three courses of software classes offered by IT-STYLE. The course is about 6 months in the classroom. Since this is not a face-to-face classroom, it is configured to operate as it is as practical as possible, so it can be completed in about 20 hours at the minimum.<\/p>\n<p>&nbsp;<\/p>\n<p>Windows8.1 or later version is required.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14pt;\"><strong><span style=\"color: #003300;\">Textbook sample<\/span><\/strong><\/span><\/p>\n<p><a href=\"https:\/\/it-style.jp\/documents\/its_arduino_ai_text_sample_en.pdf\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-735 size-medium\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/test1sample_en-1-226x300.png\" alt=\"\" width=\"226\" height=\"300\" srcset=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/test1sample_en-1-226x300.png 226w, https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/test1sample_en-1.png 492w\" sizes=\"auto, (max-width: 226px) 100vw, 226px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The textbook sample is available for your reference.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #003300; font-size: 14pt;\">Course fee<\/span><\/strong> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 JPY 2,500 + tax\u00a0 \u00a0 \u00a0 \u00a0 (Online Payment)<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/itstyle.official.ec\/items\/28992974\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-704 size-full\" src=\"https:\/\/it-style.jp\/wp-content\/uploads\/2020\/05\/placeanordericon1.png\" alt=\"\" width=\"263\" height=\"54\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u203bOn the payment page, you can download a zip file including a pdf textbook, sample programs and libraries.<\/p>\n<p>\u203bTo actually operate it, you need to purchase a microcomputer board (M5Camera , about USD15.) separately.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to Implement Deep Learning Inference on ESP32 with Arduino IDE using SONY Neural Network Console. \u203bA set o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"vkexunit_cta_each_option":"0","footnotes":""},"class_list":["post-692","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/it-style.jp\/index.php?rest_route=\/wp\/v2\/pages\/692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it-style.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/it-style.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/it-style.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it-style.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=692"}],"version-history":[{"count":36,"href":"https:\/\/it-style.jp\/index.php?rest_route=\/wp\/v2\/pages\/692\/revisions"}],"predecessor-version":[{"id":739,"href":"https:\/\/it-style.jp\/index.php?rest_route=\/wp\/v2\/pages\/692\/revisions\/739"}],"wp:attachment":[{"href":"https:\/\/it-style.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}