国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino KNN庫(kù)進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)?

電子森林 ? 來(lái)源:硬禾學(xué)堂 ? 作者:硬禾學(xué)堂 ? 2021-04-01 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

除了像TensorFlow for Arduino這樣強(qiáng)大的深度學(xué)習(xí)架構(gòu)外,還有一些經(jīng)典的ML方法適用于嵌入式設(shè)備上的較小數(shù)據(jù)集,這些方法有用且易于理解-最簡(jiǎn)單的方法之一就是KNN。

KNN的一個(gè)優(yōu)勢(shì)在于,一旦Arduino獲得了一些示例數(shù)據(jù),就可以立即對(duì)其進(jìn)行分類(lèi)。我們已經(jīng)發(fā)布了一個(gè)新的Arduino庫(kù),可以快速輕松地將KNN導(dǎo)入在程序中,且無(wú)需進(jìn)行設(shè)備外培訓(xùn)或其他工具。

在本文中,我們將使用顏色分類(lèi)器示例來(lái)介紹KNN。之前在深度學(xué)習(xí)中我們展示過(guò)相同的應(yīng)用程序,相比之下,KNN是一種更快、更輕量的方法,但無(wú)法擴(kuò)展到更大,更復(fù)雜的數(shù)據(jù)集。

顏色分類(lèi)示例

在本教程中,我們將介紹如何使用Arduino Nano 33 BLE Sense上的Arduino_KNN庫(kù)按顏色對(duì)其對(duì)象進(jìn)行分類(lèi)。

在進(jìn)行配置時(shí)我們將需要進(jìn)行以下準(zhǔn)備:

Arduino Nano 33 BLESense開(kāi)發(fā)板

MicroUSB數(shù)據(jù)線(xiàn)

打開(kāi)Arduino IDE或Arduino Create的云端編譯器

安裝Arduino_KNN庫(kù)

從文件》示例》 Arduino_KNN中選擇ColorClassifier

編譯程序并上傳到您的Arduino開(kāi)發(fā)板

Arduino_KNN庫(kù)

該示例使用了Arduino_KNN庫(kù),該庫(kù)提供了一個(gè)簡(jiǎn)單的界面,可在我們自己的程序中使用KNN:

#include 《Arduino_KNN.h》 // Create a new KNNClassifierKNNClassifier myKNN(INPUTS);

在本示例中,INPUTS = 3 用來(lái)表示顏色傳感器的R、G和B值。

采樣對(duì)象顏色

當(dāng)打開(kāi)串行監(jiān)視器時(shí)會(huì)看到以下消息:

Arduino KNN color classifierShow me an example Apple

Arduino開(kāi)發(fā)板已準(zhǔn)備好采樣對(duì)象顏色。如果你沒(méi)有蘋(píng)果,梨或者橙子,則可能需要通過(guò)編輯程序來(lái)放置不同的標(biāo)簽。顏色傳感器最好在光線(xiàn)充足的房間中處理粗糙,無(wú)光澤的物體,并且每個(gè)類(lèi)別都必須具有不同的顏色!(顏色傳感器并不是區(qū)分橙色和橘子的理想選擇,但是它可以檢測(cè)到橙子的成熟程度。如果要按形狀對(duì)物體進(jìn)行分類(lèi),則可以始終使用相機(jī)。)

當(dāng)Arduino開(kāi)發(fā)板靠近對(duì)象時(shí),它將對(duì)顏色進(jìn)行采樣并將其添加到KNN示例中,并帶有標(biāo)記對(duì)象所屬類(lèi)的數(shù)字(即代表蘋(píng)果,橙子或梨的數(shù)字0、1或2)。提供標(biāo)記的示例數(shù)據(jù)的ML技術(shù)也稱(chēng)為監(jiān)督學(xué)習(xí)。

程序中用于將示例數(shù)據(jù)添加到KNN函數(shù)的代碼如下:

readColor(color); // Add example color to the KNN modelmyKNN.addExample(color, currentClass);

顏色樣本的紅色,綠色和藍(lán)色級(jí)別也通過(guò)串口輸出:

e0114072-9245-11eb-8b86-12bb97331649.png

程序?yàn)槊總€(gè)對(duì)象獲取30個(gè)顏色樣本。可以向其顯示一個(gè)對(duì)象,它將對(duì)顏色進(jìn)行30次采樣-本教程不需要30個(gè)蘋(píng)果!(盡管更廣泛的數(shù)據(jù)集將使模型更通用)

分類(lèi)

通過(guò)獲取示例樣品,程序現(xiàn)在將要求猜測(cè)該對(duì)象。該示例的使用與獲取訓(xùn)練數(shù)據(jù)時(shí)是相同的功能讀取顏色傳感器,只是這一次它調(diào)用分類(lèi)函數(shù),當(dāng)顯示顏色時(shí),它將分類(lèi)對(duì)象類(lèi):

readColor(color); // Classify the object classification = myKNN.classify(color, K);

您可以嘗試向其顯示一個(gè)對(duì)象,然后查看其效果:

Let me guess your object0.44,0.28,0.28You showed me an Apple

注意:這不是100%準(zhǔn)確的,尤其是在物體表面變化或照明條件變化的情況下。我們也可以嘗試使用不同數(shù)量的實(shí)例、k的值以及不同的對(duì)象和環(huán)境,以查看其如何影響結(jié)果。 KNN如何運(yùn)作?盡管Arduino_KNN庫(kù)完成了數(shù)學(xué)運(yùn)算,但在為應(yīng)用程序選擇ML算法時(shí),了解ML算法的工作原理很有用。簡(jiǎn)而言之,KNN算法通過(guò)比較對(duì)象與先前看到的示例的接近程度來(lái)對(duì)對(duì)象進(jìn)行分類(lèi)。下面是一個(gè)示例圖表,其中包含平均每日溫度和濕度數(shù)據(jù)點(diǎn)。每個(gè)示例都標(biāo)有一個(gè)季節(jié):

e074a9b4-9245-11eb-8b86-12bb97331649.png

為了對(duì)新對(duì)象(圖表上的“?”)進(jìn)行分類(lèi),KNN分類(lèi)器將查找它所看到的最相似的先前示例。由于在我們的示例中有兩個(gè)輸入,因此算法通過(guò)計(jì)算新對(duì)象與每個(gè)先前示例之間的距離來(lái)實(shí)現(xiàn)此目的。上面最接近的示例標(biāo)記為“Winter”。 KNN中的k只是算法考慮的最接近示例的數(shù)量。在k = 3的情況下,它會(huì)計(jì)算三個(gè)最接近的示例。在上面的圖表中,該算法將對(duì)Spring投2票,對(duì)Winter投1票-因此結(jié)果將變?yōu)镾pring。

KNN的一個(gè)缺點(diǎn)是訓(xùn)練示例數(shù)據(jù)的數(shù)量越大,每次對(duì)對(duì)象進(jìn)行分類(lèi)時(shí),KNN算法需要花費(fèi)的檢查時(shí)間就越長(zhǎng)。這使得KNN對(duì)于大型數(shù)據(jù)集不太可行,并且是KNN與基于深度學(xué)習(xí)的方法之間的主要區(qū)別。

按顏色分類(lèi)的對(duì)象

e0b72f78-9245-11eb-8b86-12bb97331649.png

在我們的顏色分類(lèi)器示例中,來(lái)自顏色傳感器的三個(gè)輸入。每個(gè)對(duì)象的示例顏色可被視為位于R、G和B軸上的三維空間中的點(diǎn)。像往常一樣,KNN算法通過(guò)檢查輸入與先前看到的示例的接近程度來(lái)猜測(cè)對(duì)象,但是由于這次有3個(gè)輸入,因此必須計(jì)算三維空間中的距離。數(shù)據(jù)的維數(shù)越多,計(jì)算分類(lèi)結(jié)果的工作就越多。

進(jìn)一步的想法

這只是對(duì)KNN可能實(shí)現(xiàn)的快速了解。我們可以在庫(kù)示例中找到一個(gè)有關(guān)電路板方向的示例,以及一個(gè)可以繼續(xù)使用的簡(jiǎn)單示例。你也可以將BLE Sense板上的任何傳感器用作輸入,甚至可以將KNN與其他ML技術(shù)結(jié)合使用。

當(dāng)然,還有其他可用于Arduino的機(jī)器學(xué)習(xí)資源,包括TensorFlow Lite教程以及專(zhuān)業(yè)工具(如Edge Impulse和Qeexo)的支持。在接下來(lái)我們將更多的在Arduino上探索機(jī)器學(xué)習(xí)。

原文標(biāo)題:使用Arduino KNN進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)

文章出處:【微信公眾號(hào):FPGA入門(mén)到精通】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2576

    文章

    55028

    瀏覽量

    791243
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8553

    瀏覽量

    136931
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196913

原文標(biāo)題:使用Arduino KNN進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)

文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    機(jī)器學(xué)習(xí)特征工程:分類(lèi)變量的數(shù)值化處理方法

    編碼是機(jī)器學(xué)習(xí)流程里最容易被低估的環(huán)節(jié)之一,模型沒(méi)辦法直接處理文本形式的分類(lèi)數(shù)據(jù),尺寸(Small/Medium/Large)、顏色(Red/Blue/Green)、城市、支付方式等都是典型的分類(lèi)
    的頭像 發(fā)表于 02-10 15:58 ?329次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>特征工程:分類(lèi)變量的數(shù)值化處理方法

    機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中需避免的 7 個(gè)常見(jiàn)錯(cuò)誤與局限性

    無(wú)論你是剛?cè)腴T(mén)還是已經(jīng)從事人工智能模型相關(guān)工作一段時(shí)間,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中都存在一些我們需要時(shí)刻關(guān)注并銘記的常見(jiàn)錯(cuò)誤。如果對(duì)這些錯(cuò)誤置之不理,日后可能會(huì)引發(fā)諸多麻煩!只要我們密切關(guān)注數(shù)據(jù)、模型架構(gòu)
    的頭像 發(fā)表于 01-07 15:37 ?185次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>和深度<b class='flag-5'>學(xué)習(xí)</b>中需避免的 7 個(gè)常見(jiàn)錯(cuò)誤與局限性

    如何深度學(xué)習(xí)機(jī)器視覺(jué)的應(yīng)用場(chǎng)景

    深度學(xué)習(xí)視覺(jué)應(yīng)用場(chǎng)景大全 工業(yè)制造領(lǐng)域 復(fù)雜缺陷檢測(cè):處理傳統(tǒng)算法難以描述的非標(biāo)準(zhǔn)化缺陷模式 非標(biāo)產(chǎn)品分類(lèi):對(duì)形狀、顏色、紋理多變的產(chǎn)品進(jìn)行智能分類(lèi) 外觀質(zhì)量評(píng)估:基于學(xué)習(xí)的外觀質(zhì)量標(biāo)準(zhǔn)判定 精密
    的頭像 發(fā)表于 11-27 10:19 ?220次閱讀

    自制巡線(xiàn)解迷宮機(jī)器人(上)

    Arduino語(yǔ)法的靜態(tài)鏈接庫(kù),取名為RVStarArduino,這樣不僅我可以將自己之前基于Arduino所做的機(jī)器人項(xiàng)目中的一些代碼無(wú)縫地移植過(guò)來(lái),從而大大提高了項(xiàng)目的開(kāi)發(fā)效率,還
    發(fā)表于 10-20 10:39

    Altium Designer集成庫(kù)如何進(jìn)行離散編輯

    集成庫(kù)是一個(gè)原理圖庫(kù)和PCB封裝庫(kù)對(duì)應(yīng)好封裝的一個(gè)集合庫(kù),集成庫(kù)的方便就是可以直接調(diào)用,但是往往我們需要對(duì)封裝庫(kù)添加或者修改,集成
    的頭像 發(fā)表于 10-16 11:06 ?1035次閱讀
    Altium Designer集成<b class='flag-5'>庫(kù)</b>如何<b class='flag-5'>進(jìn)行</b>離散編輯

    Arduino Uno l兩輪自平衡機(jī)器人 電機(jī)驅(qū)動(dòng)無(wú)輸出求解

    Arduino Uno l兩輪自平衡機(jī)器人 電機(jī)驅(qū)動(dòng)無(wú)輸出求解
    發(fā)表于 10-15 06:36

    如何在機(jī)器視覺(jué)中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標(biāo)檢測(cè)可定位已訓(xùn)練的目標(biāo)類(lèi)別,并通過(guò)矩形框(邊界框)對(duì)其進(jìn)行標(biāo)識(shí)。 在討論人工智能(AI)或深度學(xué)習(xí)時(shí),經(jīng)常會(huì)出現(xiàn)“神經(jīng)網(wǎng)絡(luò)”、“黑箱”、“標(biāo)注”等術(shù)語(yǔ)。這些概念對(duì)非專(zhuān)業(yè)
    的頭像 發(fā)表于 09-10 17:38 ?900次閱讀
    如何在<b class='flag-5'>機(jī)器</b>視覺(jué)中部署深度<b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    芯科科技Arduino開(kāi)發(fā)資源重大更新

    Silicon Labs (芯科科技)近期于在線(xiàn)技術(shù)社群中發(fā)布了面向Arduino Core和Matter庫(kù)的重大更新,帶來(lái)了兩個(gè)關(guān)鍵突破:全面支持Matter 1.4標(biāo)準(zhǔn),以及人工智能和機(jī)器
    的頭像 發(fā)表于 08-20 15:51 ?908次閱讀

    FPGA在機(jī)器學(xué)習(xí)中的具體應(yīng)用

    隨著機(jī)器學(xué)習(xí)和人工智能技術(shù)的迅猛發(fā)展,傳統(tǒng)的中央處理單元(CPU)和圖形處理單元(GPU)已經(jīng)無(wú)法滿(mǎn)足高效處理大規(guī)模數(shù)據(jù)和復(fù)雜模型的需求。FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)作為一種靈活且高效的硬件加速平臺(tái)
    的頭像 發(fā)表于 07-16 15:34 ?2885次閱讀

    【嘉楠堪智K230開(kāi)發(fā)板試用體驗(yàn)】K230機(jī)器視覺(jué)相關(guān)功能體驗(yàn)

    畫(huà)圖 機(jī)器學(xué)習(xí)模型在通過(guò)攝像頭獲取圖像后,經(jīng)過(guò)處理輸入后,在輸出環(huán)節(jié)通常還需要進(jìn)行后處理,例如圖像檢測(cè)應(yīng)用中,目標(biāo)位置的框選等。 在K230中提供了畫(huà)圖的功能,可以實(shí)現(xiàn)畫(huà)線(xiàn)段、畫(huà)矩形、畫(huà)圓、畫(huà)箭頭
    發(fā)表于 07-08 17:25

    免費(fèi)分享Arduino入門(mén)+進(jìn)階(全套例程+書(shū)籍)

    創(chuàng)意,比如控制燈光、傳感器、電機(jī)等。以下是Arduino入門(mén)+進(jìn)階學(xué)習(xí)資料1.Arduino編程語(yǔ)言說(shuō)明(相關(guān)文件可在下文掃碼領(lǐng)取)2.Arduino系列
    的頭像 發(fā)表于 05-22 11:40 ?1110次閱讀
    免費(fèi)分享<b class='flag-5'>Arduino</b>入門(mén)+進(jìn)階(全套例程+書(shū)籍)

    使用MATLAB進(jìn)行無(wú)監(jiān)督學(xué)習(xí)

    無(wú)監(jiān)督學(xué)習(xí)是一種根據(jù)未標(biāo)注數(shù)據(jù)進(jìn)行推斷的機(jī)器學(xué)習(xí)方法。無(wú)監(jiān)督學(xué)習(xí)旨在識(shí)別數(shù)據(jù)中隱藏的模式和關(guān)系,無(wú)需任何監(jiān)督或關(guān)于結(jié)果的先驗(yàn)知識(shí)。
    的頭像 發(fā)表于 05-16 14:48 ?1435次閱讀
    使用MATLAB<b class='flag-5'>進(jìn)行</b>無(wú)監(jiān)督<b class='flag-5'>學(xué)習(xí)</b>

    《ESP32S3 Arduino開(kāi)發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡(jiǎn)單易用的可編程控制器,但是由于開(kāi)發(fā)平臺(tái)種類(lèi)繁多,而且使用這些控制器基本上都需要對(duì)電子技術(shù)、數(shù)字邏輯、寄存器等內(nèi)容進(jìn)行多方面的了解和
    發(fā)表于 05-13 09:28

    【「# ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐」閱讀體驗(yàn)】+ROS2應(yīng)用案例

    的應(yīng)用。書(shū)中詳細(xì)介紹了如何在ROS 2中實(shí)現(xiàn)二維碼識(shí)別,包括二維碼掃描庫(kù)Zbar的使用,以及如何通過(guò)相機(jī)識(shí)別二維碼。 通過(guò)學(xué)習(xí)這一部分,我了解到二維碼識(shí)別的基本原理和實(shí)現(xiàn)步驟。首先,需要通過(guò)相機(jī)獲取環(huán)境圖像
    發(fā)表于 04-27 11:42

    **【技術(shù)干貨】Nordic nRF54系列芯片:傳感器數(shù)據(jù)采集與AI機(jī)器學(xué)習(xí)的完美結(jié)合**

    機(jī)器學(xué)習(xí)算法,解決傳感器數(shù)據(jù)采集難題! 1. nRF54系列支持OTA嗎? 答:支持!nRF54L系列基于Zephyr的MCUBOOT和SMP DFU庫(kù),支持BLE和UART等多種OTA方式
    發(fā)表于 04-01 00:00