{"id":66139,"date":"2022-08-30T10:15:17","date_gmt":"2022-08-30T15:15:17","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/"},"modified":"2022-08-30T10:15:17","modified_gmt":"2022-08-30T15:15:17","slug":"kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/","title":{"rendered":"Kom ig\u00e5ng med bildigenk\u00e4nning med TensorFlow och Raspberry Pi"},"content":{"rendered":"<div>\n<p>TensorFlow \u00e4r Googles bibliotek f\u00f6r neurala n\u00e4tverk.  Med tanke p\u00e5 att maskininl\u00e4rning \u00e4r det hetaste som finns f\u00f6r n\u00e4rvarande \u00e4r det ingen \u00f6verraskning att Google \u00e4r bland de ledande inom denna nya teknik.<\/p>\n<p>I den h\u00e4r artikeln kommer du att l\u00e4ra dig hur du installerar TensorFlow p\u00e5 Raspberry Pi och k\u00f6r enkel bildklassificering p\u00e5 ett f\u00f6rtr\u00e4nat neuralt n\u00e4tverk.<\/p>\n<h2 id=\"getting-started\"><span class=\"ez-toc-section\" id=\"Komma_igang\"><\/span>  Komma ig\u00e5ng<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>F\u00f6r att komma ig\u00e5ng med bildigenk\u00e4nning beh\u00f6ver du en Raspberry Pi (alla modeller fungerar) och ett SD-kort med operativsystemet Raspbian Stretch (9.0+) (om du \u00e4r ny p\u00e5 Raspberry Pi, anv\u00e4nd v\u00e5r installationsguide).<\/p>\n<p>Starta upp Pi och \u00f6ppna ett terminalf\u00f6nster.  Se till att din Pi \u00e4r uppdaterad och kontrollera din Python-version.<\/p>\n<pre>sudo apt-get update<br\/>python --version<br\/>python3 --version<\/pre>\n<p>Du kan anv\u00e4nda b\u00e5de Python 2.7 eller Python 3.4+ f\u00f6r denna handledning.  Det h\u00e4r exemplet \u00e4r f\u00f6r Python 3. F\u00f6r Python 2.7, ers\u00e4tt <strong>Python3<\/strong> med <strong>Pytonorm<\/strong>och <strong>pip3<\/strong> med <strong>pip<\/strong> genom hela denna handledning.<\/p>\n<p>Pip \u00e4r en pakethanterare f\u00f6r Python, vanligtvis installerad som standard p\u00e5 Linux-distributioner.<\/p>\n<p>Om du uppt\u00e4cker att du inte har det, f\u00f6lj installationsanvisningarna f\u00f6r Linux i den h\u00e4r artikeln f\u00f6r att installera det.<\/p>\n<h2 id=\"installing-tensorflow\"><span class=\"ez-toc-section\" id=\"Installerar_TensorFlow\"><\/span>  Installerar TensorFlow<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Att installera TensorFlow brukade vara en ganska frustrerande process, men en ny uppdatering g\u00f6r det otroligt enkelt.  \u00c4ven om du kan f\u00f6lja denna handledning utan n\u00e5gra f\u00f6rkunskaper, kan det vara v\u00e4rt att f\u00f6rst\u00e5 grunderna f\u00f6r maskininl\u00e4rning innan du provar den.<\/p>\n<p>Innan du installerar TensorFlow, installera <strong>Atlas<\/strong> bibliotek.<\/p>\n<pre>sudo apt install libatlas-base-dev<\/pre>\n<p>N\u00e4r det \u00e4r klart installerar du TensorFlow via pip3<\/p>\n<pre>pip3 install --user tensorflow<\/pre>\n<p>Detta kommer att installera TensorFlow f\u00f6r den inloggade anv\u00e4ndaren.  Om du f\u00f6redrar att anv\u00e4nda en virtuell milj\u00f6, \u00e4ndra din kod h\u00e4r f\u00f6r att \u00e5terspegla detta.<\/p>\n<h2 id=\"testing-tensorflow\"><span class=\"ez-toc-section\" id=\"Testar_TensorFlow\"><\/span>  Testar TensorFlow<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>N\u00e4r den har installerats kan du testa om den fungerar med TensorFlow-motsvarigheten till a <strong>Hej v\u00e4rlden!<\/strong><\/p>\n<p>Skapa ett nytt Python-skript med hj\u00e4lp av kommandoraden <strong>nano<\/strong> eller <strong>vim<\/strong> (Om du inte \u00e4r s\u00e4ker p\u00e5 vilken du ska anv\u00e4nda har de b\u00e5da f\u00f6rdelar) och namnge det n\u00e5got som \u00e4r l\u00e4tt att komma ih\u00e5g.<\/p>\n<pre>sudo nano tftest.py<br\/><\/pre>\n<p>Ange den h\u00e4r koden fr\u00e5n Google f\u00f6r att testa TensorFlow:<\/p>\n<pre>import tensorflow as tf<br\/>hello = tf.constant('Hello, TensorFlow!')<br\/>sess = tf.Session()<br\/>print(sess.run(hello))<br\/><\/pre>\n<p>Om du anv\u00e4nder nano, avsluta genom att trycka p\u00e5 <strong>Ctrl + X<\/strong> och spara din fil genom att skriva <strong>Y<\/strong> n\u00e4r du uppmanas.<\/p>\n<p>K\u00f6r koden fr\u00e5n terminalen:<\/p>\n<pre>python3 tftest.py<br\/><\/pre>\n<p>Du b\u00f6r se \u201cHej, TensorFlow\u201d tryckt.<\/p>\n<p>Om du k\u00f6r Python 3.5 f\u00e5r du flera k\u00f6rtidsvarningar.  De officiella TensorFlow-handledningarna erk\u00e4nner att detta h\u00e4nder och rekommenderar dig att ignorera det.<\/p>\n<figure>\n<\/figure>\n<p>Det fungerar!  Nu ska vi g\u00f6ra n\u00e5got intressant med TensorFlow.<\/p>\n<h2 id=\"installing-the-image-classifier\"><span class=\"ez-toc-section\" id=\"Installera_bildklassificeraren\"><\/span>  Installera bildklassificeraren<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Skapa en katalog f\u00f6r projektet i din hemkatalog i terminalen och navigera in i den.<\/p>\n<pre>mkdir tf1<br\/>cd tf1<br\/><\/pre>\n<p>TensorFlow har ett git-f\u00f6rr\u00e5d med exempelmodeller att testa.  Klona f\u00f6rvaret till den nya katalogen:<\/p>\n<pre>git clone https:\/\/github.com\/tensorflow\/models.git<br\/><\/pre>\n<p>Du vill anv\u00e4nda exemplet bildklassificering, som finns p\u00e5 <strong>modeller\/tutorials\/image\/imagenet<\/strong>.  Navigera till den mappen nu:<\/p>\n<pre>cd models\/tutorials\/image\/imagenet<br\/><\/pre>\n<p>Standardbildsklassificeringsskriptet k\u00f6rs med en medf\u00f6ljande bild av en panda:<\/p>\n<figure>\n<\/figure>\n<p>F\u00f6r att k\u00f6ra standardbildsklassificeraren med den medf\u00f6ljande pandabilden anger du:<\/p>\n<pre>python3 classify_image.py<br\/><\/pre>\n<p>Detta matar en bild av en panda till det neurala n\u00e4tverket, vilket ger gissningar om vad bilden \u00e4r med ett v\u00e4rde f\u00f6r dess niv\u00e5 av s\u00e4kerhet.<\/p>\n<figure>\n<\/figure>\n<p>Som utdatabilden visar gissade det neurala n\u00e4tet korrekt, med n\u00e4stan 90 procents s\u00e4kerhet.  Den trodde ocks\u00e5 att bilden kunde inneh\u00e5lla ett vaniljs\u00e5s\u00e4pple, men den var inte s\u00e4rskilt s\u00e4ker p\u00e5 det svaret.<\/p>\n<h2 id=\"using-a-custom-image\"><span class=\"ez-toc-section\" id=\"Anvanda_en_anpassad_bild\"><\/span>  Anv\u00e4nda en anpassad bild<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Pandabilden bevisar att TensorFlow fungerar, men det \u00e4r kanske inte f\u00f6rv\u00e5nande med tanke p\u00e5 att det \u00e4r exemplet som projektet ger.  F\u00f6r ett b\u00e4ttre test kan du ge din egen bild till det neurala n\u00e4tet f\u00f6r klassificering.<\/p>\n<p>I det h\u00e4r fallet kommer du att se om TensorFlows neurala n\u00e4tet kan identifiera George.<\/p>\n<figure>\n<\/figure>\n<p>M\u00f6t George.  George \u00e4r en dinosaurie.  F\u00f6r att mata in den h\u00e4r bilden (tillg\u00e4nglig i beskuren form h\u00e4r) till det neurala n\u00e4tet, l\u00e4gg till argument n\u00e4r du k\u00f6r skriptet.<\/p>\n<pre>python3 classify_image.py --image_file=\/home\/pi\/george.jpg<br\/><\/pre>\n<p>De <strong>bildfil=<\/strong> att f\u00f6lja skriptnamnet till\u00e5ter till\u00e4gg av vilken bild som helst efter s\u00f6kv\u00e4g.  L\u00e5t oss se hur detta neurala n\u00e4t gjorde.<\/p>\n<figure>\n<\/figure>\n<p>Inte d\u00e5ligt!  Medan George inte \u00e4r en triceratops, klassificerade det neurala n\u00e4tet bilden som en dinosaurie med en h\u00f6g grad av s\u00e4kerhet j\u00e4mf\u00f6rt med de andra alternativen.<\/p>\n<h2 id=\"tensorflow-and-raspberry-pi-ready-to-go\"><span class=\"ez-toc-section\" id=\"TensorFlow_och_Raspberry_Pi_redo_att_ga\"><\/span>  TensorFlow och Raspberry Pi, redo att g\u00e5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Denna grundl\u00e4ggande implementering av TensorFlow har redan potential.  Denna objektigenk\u00e4nning sker p\u00e5 Pi och beh\u00f6ver ingen internetanslutning f\u00f6r att fungera.  Detta inneb\u00e4r att med till\u00e4gget av en Raspberry Pi-kameramodul och en Raspberry Pi-l\u00e4mpad batterienhet, kan hela projektet bli portabelt.<\/p>\n<p>De flesta tutorials skrapar bara p\u00e5 ytan av ett \u00e4mne, men det har aldrig varit sannare \u00e4n i det h\u00e4r fallet.  Maskininl\u00e4rning \u00e4r ett otroligt t\u00e4tt \u00e4mne.<\/p>\n<p>Ett s\u00e4tt att ta din kunskap vidare \u00e4r genom att ta en dedikerad kurs.  Under tiden kan du komma ig\u00e5ng med maskininl\u00e4rning och Raspberry Pi med dessa TensorFlow-projekt som du kan prova sj\u00e4lv.<\/p>\n<p>    <strong class=\"section-sub-title\">Om f\u00f6rfattaren<\/strong><\/p>\n<p>            <strong class=\"bio-title\">Ian Buckley (220 artiklar publicerade)<br \/><\/strong><\/p>\n<p>Ian Buckley \u00e4r en frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland.  N\u00e4r han inte skriver eller st\u00e5r p\u00e5 scen, pysslar han med DIY-elektronik eller kod i hopp om att bli en galen vetenskapsman.<\/p>\n<p>                            Mer fr\u00e5n Ian Buckley<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Prenumerera_pa_vart_nyhetsbrev\"><\/span>Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>G\u00e5 med i v\u00e5rt nyhetsbrev f\u00f6r tekniska tips, recensioner, free e-b\u00f6cker och exklusiva erbjudanden!<\/p>\n<p>Klicka h\u00e4r f\u00f6r att prenumerera<\/p>\n<\/p><\/div>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#Komma_igang\" >Komma ig\u00e5ng<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#Installerar_TensorFlow\" >Installerar TensorFlow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#Testar_TensorFlow\" >Testar TensorFlow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#Installera_bildklassificeraren\" >Installera bildklassificeraren<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#Anvanda_en_anpassad_bild\" >Anv\u00e4nda en anpassad bild<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#TensorFlow_och_Raspberry_Pi_redo_att_ga\" >TensorFlow och Raspberry Pi, redo att g\u00e5<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogging-techies.com\/sw\/kom-igang-med-bildigenkanning-med-tensorflow-och-raspberry-pi\/#Prenumerera_pa_vart_nyhetsbrev\" >Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>TensorFlow \u00e4r Googles bibliotek f\u00f6r neurala n\u00e4tverk. Med tanke p\u00e5 att maskininl\u00e4rning \u00e4r det hetaste som finns f\u00f6r n\u00e4rvarande \u00e4r det ingen \u00f6verraskning att Google \u00e4r bland de ledande inom denna nya teknik. I den h\u00e4r artikeln kommer du att l\u00e4ra dig hur du installerar TensorFlow p\u00e5 Raspberry Pi och k\u00f6r enkel bildklassificering p\u00e5 ett [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":66140,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/ipotek.net\/wp-content\/uploads\/2022\/01\/Kom-igang-med-bildigenkanning-med-TensorFlow-och-Raspberry-Pi.jpg","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[36166,127,960,102,26,6792,34963],"class_list":["post-66139","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar","tag-bildigenkanning","tag-igang","tag-kom","tag-med","tag-och","tag-raspberry","tag-tensorflow"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/66139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=66139"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/66139\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/66140"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=66139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=66139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=66139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}