精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Tyhac covid 19音頻診斷堆棧開(kāi)源分享

Tyhac covid 19音頻診斷堆棧開(kāi)源分享

2022-11-04 | zip | 0.29 MB | 次下載 | 免費(fèi)

資料介紹

描述

為什么選擇泰哈克

在大流行開(kāi)始時(shí)對(duì) COVID-19 進(jìn)行測(cè)試很困難,沒(méi)有足夠的測(cè)試套件可供使用,而且就可靠性而言,套件本身仍在開(kāi)發(fā)中。幾十年來(lái),醫(yī)生一直通過(guò)聽(tīng)病人咳嗽和呼吸來(lái)診斷各種疾病。研究人員已經(jīng)對(duì)開(kāi)發(fā)機(jī)器學(xué)習(xí)模型進(jìn)行了研究,以預(yù)測(cè)患者是否患有支氣管炎,我們可以將相同的方法應(yīng)用于 COVID-19 嗎?

是的,答案是肯定的,麻省理工學(xué)院和其他人已經(jīng)做到了……并且正在制作一個(gè)應(yīng)用程序……

麻省理工學(xué)院研究的關(guān)鍵信息之一是,他們能夠使用他們訓(xùn)練有素的模型識(shí)別出沒(méi)有病毒癥狀的人,事實(shí)證明咳嗽是關(guān)鍵。

現(xiàn)在,麻省理工學(xué)院這次擊敗了我們,但正如麻省理工學(xué)院已經(jīng)指出的那樣,無(wú)癥狀的人可能不會(huì)急于接受測(cè)試,如果麻省理工學(xué)院發(fā)布一個(gè)應(yīng)用程序,它仍然需要用戶(hù)下載和使用該應(yīng)用程序。

Tyhac 旨在通過(guò)提供一種被動(dòng)聽(tīng)音設(shè)備來(lái)解決這些問(wèn)題,該設(shè)備可以檢測(cè)咳嗽,然后對(duì)樣本進(jìn)行深度學(xué)習(xí)推理以確定 COVID-19 是陽(yáng)性還是陰性。通過(guò)在辦公室、電梯、候診室等公共場(chǎng)所安裝 tyhac,我們可以通過(guò)響應(yīng)檢測(cè)到的事件來(lái)幫助更好地保護(hù)我們的社區(qū)。我們還可以使用 tyhac 更好地了解社區(qū)在流感季節(jié)的反應(yīng),以及是否在工作場(chǎng)所管理健康習(xí)慣活動(dòng),以確保工人照顧好自己,并在可能的情況下使用遠(yuǎn)程工作來(lái)限制傳播。

它是如何工作的?

得益于 M5 Core2 堆棧和 AWS,解決方案本身非常簡(jiǎn)單,這讓一切變得非常簡(jiǎn)單。它將貫穿設(shè)備的高級(jí)設(shè)計(jì)和 AWS 配置:

現(xiàn)在我們對(duì)堆棧有了更好的理解,我們可以討論一些關(guān)鍵特性,然后進(jìn)入演示。該設(shè)備設(shè)計(jì)為在兩種模式下運(yùn)行:

被動(dòng)的

此模式專(zhuān)為安裝在工作場(chǎng)所、電梯、候診室、辦公室隔間、家庭等中的設(shè)備而開(kāi)發(fā)。LM393 麥克風(fēng)傳感器具有可聞噪音閾值,一旦超過(guò)該閾值,SPM1423 內(nèi)部 I2S 麥克風(fēng)將開(kāi)始錄音一個(gè) 10 秒的音頻樣本。

臨床醫(yī)生(現(xiàn)場(chǎng)單位)

此模式專(zhuān)為醫(yī)療專(zhuān)業(yè)人員設(shè)計(jì),在此模式下,設(shè)備不使用 LM393,技術(shù)上不需要。如果喜歡移動(dòng)設(shè)備,該設(shè)備可以使用電池(包括在設(shè)備中)。

?
tyhac臨床醫(yī)生模式
?

用戶(hù)會(huì)看到一個(gè)顯示兩個(gè)選項(xiàng)的菜單:

提交

此按鈕旨在供醫(yī)療專(zhuān)業(yè)人員提交陽(yáng)性樣本,我已將其包含在內(nèi),以便我們接收標(biāo)記樣本以繼續(xù)訓(xùn)練模型并改進(jìn)預(yù)測(cè)。

測(cè)試

此按鈕用于診斷患者,一旦按下按鈕,它將使用內(nèi)部 SPM1423 I2S 麥克風(fēng)錄制 10 秒的音頻。

上傳

兩種模式都將音頻樣本記錄為 WAV 文件并寫(xiě)入設(shè)備上的 SD 卡。然后設(shè)備將發(fā)布到 S3 Pre-signed URL MQTT 主題以請(qǐng)求安全 url 來(lái)上傳 WAV 文件。收到后,設(shè)備將開(kāi)始通過(guò)安全 HTTPS 上傳。

驗(yàn)證

文件上傳到 AWS S3 后,存儲(chǔ)桶觸發(fā)事件將調(diào)用暫存 Lambda 函數(shù)。暫存過(guò)程對(duì)樣本進(jìn)行一系列檢查:

  • 樣本是有效的 WAV 文件嗎?
  • 樣本是咳嗽嗎?
  • 擴(kuò)充文件
  • 歸檔文件并復(fù)制到最終存儲(chǔ)桶

如果在任何階段暫存功能不起作用或檢查失敗,則文件將從存儲(chǔ)桶中刪除。DynamoDB 事件隨結(jié)果更新,旨在最大限度地減少非咳嗽相關(guān)音頻樣本的存儲(chǔ)。

推理/預(yù)測(cè)

在最終存儲(chǔ)桶中創(chuàng)建文件后,將從 S3 事件調(diào)用推理 Lambda 函數(shù)。這將加載經(jīng)過(guò)訓(xùn)練的 tyhac 模型并對(duì)樣本進(jìn)行預(yù)測(cè)。結(jié)果通過(guò) MQTT 返回。

演示

我準(zhǔn)備了一個(gè)演示,它將運(yùn)行一些功能,以便我們可以看到它的作用。演示顯示:

  • 啟動(dòng)
  • 被動(dòng)covid-19檢測(cè)
  • 臨床模式測(cè)試

讓我們構(gòu)建一些東西(代碼)

在本節(jié)中,我們將逐步啟動(dòng)和運(yùn)行您的設(shè)置。請(qǐng)務(wù)必查看 BOM 以確保您擁有運(yùn)行構(gòu)建所需的組件。

除了 BOM,您還需要一個(gè)有效的 AWS 賬戶(hù),因?yàn)檫@需要使用 AWS 服務(wù)(太棒了!!!)。如果您沒(méi)有賬戶(hù),請(qǐng)按照AWS 官方文檔設(shè)置賬戶(hù)。

專(zhuān)業(yè)提示:云需要花錢(qián),我強(qiáng)烈建議您了解構(gòu)建成本并使用計(jì)費(fèi)警報(bào)設(shè)置您滿(mǎn)意的閾值。我創(chuàng)建了一個(gè)單獨(dú)的項(xiàng)目來(lái)自動(dòng)執(zhí)行此操作,請(qǐng)隨時(shí)查看

構(gòu)建這個(gè)項(xiàng)目所需的一切(不包括物理資產(chǎn))都可以在talkncloud github repo 上開(kāi)源。以下內(nèi)容將作為“快速入門(mén)”幫助您啟動(dòng)和運(yùn)行。

注意:您將在項(xiàng)目代碼和 github 存儲(chǔ)庫(kù)中找到其他信息來(lái)補(bǔ)充這篇文章。

項(xiàng)目文件夾結(jié)構(gòu)

瀏覽存儲(chǔ)庫(kù)后,您會(huì)注意到該項(xiàng)目已分為三個(gè)單獨(dú)的文件夾:

AWS-CDK

AWS Cloud Development Kit (CDK) 文件夾包含在云中部署所需服務(wù)所需的一切。如果您之前參考高級(jí)設(shè)計(jì)圖,圖中的所有內(nèi)容都將自動(dòng)為您提供。這就是基礎(chǔ)設(shè)施即代碼 (IaC),通過(guò)將所有內(nèi)容開(kāi)發(fā)為代碼,我可以提供一致的可重復(fù)環(huán)境,以確保其按設(shè)計(jì)工作。另一種方法是您需要手動(dòng)創(chuàng)建所有內(nèi)容(無(wú)聊)。

注意:CDK 是一個(gè)很棒的項(xiàng)目,如果您在熟悉開(kāi)發(fā)定義風(fēng)格的語(yǔ)言(如 JSON 或 YAML)之前看過(guò) IaC。CDK 允許您將諸如 typescript、python 之類(lèi)的編程語(yǔ)言帶到聚會(huì)中,如果您正在瀏覽 hackster,我相信您會(huì)喜歡的。

AWS-物聯(lián)網(wǎng)

用于構(gòu)建固件并將其上傳到您的 M5 Core2 AWS EduKit 設(shè)備的 arduino 代碼。這是在您的設(shè)備上運(yùn)行 tyhac 固件所必需的,我們將使用 platformio 使事情變得更容易一些。

AWS-SAGEMaker

如果您正在深入學(xué)習(xí),此文件夾包含執(zhí)行數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練和模型托管所需的一切。高級(jí)設(shè)計(jì)中使用的訓(xùn)練模型包含在項(xiàng)目中。對(duì)于此構(gòu)建,您根本不需要使用 sagemaker。Sagemaker 不包含在 aws-cdk 部署中。

如果您想在模型上構(gòu)建或只是好奇,此文件夾適合您。

專(zhuān)業(yè)提示:我正在使用 fastai 和 fastaudio ,如果您正在考慮進(jìn)行任何深度學(xué)習(xí),我強(qiáng)烈建議您檢查一下。

第一步:克隆倉(cāng)庫(kù)

讓我們通過(guò)準(zhǔn)備本地環(huán)境來(lái)工作,我們將從 cdk 開(kāi)始,然后移動(dòng)到設(shè)備上。

克隆倉(cāng)庫(kù)

讓我們克隆所有 tyhac 的優(yōu)點(diǎn)...

git clone https://github.com/talkncloud/tyhac-aws-hackster
cd tyhac-aws-hackster

Step2:AWS-CDK部署AWS

該項(xiàng)目需要使用 docker 容器,這些容器將使用 AWS Elastic Container Registry 構(gòu)建并存儲(chǔ)在您的 AWS 賬戶(hù)中。這些容器用于 lambda 函數(shù)以執(zhí)行分段和推理。如果您安裝并運(yùn)行了 docker,您可以在本地構(gòu)建這些容器,CDK 會(huì)處理所有事情。如果您沒(méi)有這些或您的互聯(lián)網(wǎng)速度很慢,我可以推薦AWS Cloud9。容器將上傳大約 3-4GB。

您不需要了解有關(guān)容器的任何信息,一切都會(huì)得到照顧。

如果你要去本地,請(qǐng)參考 docker doco 進(jìn)行安裝和配置。如果您使用的是 Cloud9,它已經(jīng)安裝。

注意:Cloud9 不是免費(fèi)的,請(qǐng)參閱 AWS 定價(jià),Cloud9 未包含在此構(gòu)建的最終成本中,因?yàn)樗皇潜匦璧摹?/font>

除了 CDK,我們將使用projen,另一個(gè)很棒的項(xiàng)目,這簡(jiǎn)化了 CDK 和類(lèi)似項(xiàng)目的構(gòu)建和維護(hù)。這假設(shè)您已經(jīng)安裝了節(jié)點(diǎn),有關(guān)詳細(xì)信息,請(qǐng)參閱節(jié)點(diǎn)文檔

npm install -g aws-cdk
npm install -g projen
npm install -g yarn

您需要下載并安裝 AWS cli ,這將允許您向 AWS 進(jìn)行身份驗(yàn)證并執(zhí)行與云相關(guān)的操作,這是我們需要將 CDK 部署到您的帳戶(hù)中的。

安裝 AWS cli 后,您需要配置客戶(hù)端以添加訪(fǎng)問(wèn)密鑰。這將授予 AWS cli 訪(fǎng)問(wèn)您賬戶(hù)的權(quán)限。有關(guān)配置,請(qǐng)參閱AWS 文檔

專(zhuān)業(yè)提示:AWS 所指的密鑰是密碼,請(qǐng)像這樣對(duì)待它們。不要共享它們并限制他們的訪(fǎng)問(wèn)。如果這是您第一次進(jìn)入 AWS,請(qǐng)?jiān)诖藰?gòu)建結(jié)束時(shí)刪除您的憑證文件以及您在 AWS 賬戶(hù)中生成的任何密鑰。如果需要,您可以隨時(shí)創(chuàng)建更多。最好不要把鑰匙掛在身邊。

現(xiàn)在您已經(jīng)安裝了所有東西,并且您已經(jīng)為您的 AWS cli 配置了訪(fǎng)問(wèn)權(quán)限,您可以為 tyhac 預(yù)置后端 AWS 資源、權(quán)限、策略和配置。

projen
projen deploy

以下視頻展示了使用 Cloud9 的部署,同樣適用于 Visual Studio 代碼:

?

讓我們驗(yàn)證幾件事,我不會(huì)詳細(xì)介紹,但如果您愿意,請(qǐng)了解 CDK 使用 AWS Cloudformation,即 IaC 'OG'。使用控制臺(tái)前往 cloudformation 并找到部署:

pYYBAGNkcRKAK--tAAAXHuMCtMM578.png
cloudformation tyhac 部署完成
?

恭喜,您剛剛構(gòu)建了容器、函數(shù)、存儲(chǔ)桶、數(shù)據(jù)庫(kù)、物聯(lián)網(wǎng)等。很酷!

步驟 3:AWS-IOT 構(gòu)建和上傳 tyhac arduino 固件

現(xiàn)在,您可能最感興趣的部分是 tyhac。現(xiàn)在我們的 AWS 后端正在等待并準(zhǔn)備好迎接您的事情,我們可以繼續(xù)構(gòu)建我們的設(shè)備。

我強(qiáng)烈推薦AWS EduKit 上的示例和指南,這是從設(shè)置環(huán)境到運(yùn)行示例項(xiàng)目的豐富信息。最好通過(guò)其中的一兩個(gè)來(lái)感受一下。

LM393麥克風(fēng)單元SD

這部分很簡(jiǎn)單,如果您使用的是 LM393 單元,只需將??傳感器連接到設(shè)備上的端口 B。這在 LM393 的外殼上標(biāo)明。

將 micro SD 卡插入設(shè)備的 SD 卡插槽。

平臺(tái)

我正在使用 platformio 來(lái)提供功能豐富且易于擴(kuò)展的 Visual Studio 代碼。請(qǐng)參閱Visual Studio 代碼下載和安裝和platformio 安裝以使它們運(yùn)行

現(xiàn)在讓我們進(jìn)入 aws-iot 文件夾:

cd aws-iot
code

這應(yīng)該在該位置打開(kāi) Visual Studio 代碼編輯器,否則打開(kāi) Visual Studio 代碼并打開(kāi)克隆的存儲(chǔ)庫(kù)。

我們將使用 platformio 打開(kāi) iot 項(xiàng)目,這將創(chuàng)建連接到設(shè)備和使用 platformio 所需的環(huán)境:

poYBAGNkcRWASwwZAAFrzj_O3-0744.png
使用 platformio 打開(kāi) tyhac
?

文件夾結(jié)構(gòu)

文件夾結(jié)構(gòu)主要基于默認(rèn)的 platformio 框架,您會(huì)注意到包含的自述文件比我能更好地解釋這一點(diǎn)。

poYBAGNkcRiAPANoAABitZGkZZI379.png
tyhac 物聯(lián)網(wǎng)文件夾結(jié)構(gòu)
?

我想強(qiáng)調(diào)幾項(xiàng):

certs - 安全 HTTPS 通信所需的公共 AWS 證書(shū)

實(shí)用程序 - 我們將使用它來(lái)自動(dòng)使用 AWS 配置事物

lib - 大多數(shù)代碼已被拆分為單獨(dú)的庫(kù)以使其更容易,此文件夾包含 tyhac 庫(kù)

lib/env - 你需要為你的環(huán)境更新它,我們將在下一節(jié)中詳細(xì)討論

platformio.ini - 您可能需要根據(jù)您的系統(tǒng)更改此文件中的設(shè)置,主要是 USB 端口。例如,AWS EduKit、USB 信息

環(huán)境樣本.h

使用編輯器打開(kāi)環(huán)境文件,您需要將示例文件復(fù)制到名為env.h的相同位置

更新您的環(huán)境的設(shè)置,該文件包含有關(guān)如何檢索您需要的 AWS 相關(guān)信息的有用詳細(xì)信息。例子:

您的 AWS 賬戶(hù):

aws sts get-caller-identity

您的 AWS IoT 終端節(jié)點(diǎn):

aws iot describe-endpoint --endpoint-type iot:Data-ATS

設(shè)備配置

您可以想象,我們不希望任何人都使用我們的 AWS tyhac 堆棧。要將 AWS IoT 與我們的配置一起使用,您需要將設(shè)備注冊(cè)到 AWS IoT。這需要生成證書(shū)并將設(shè)備與相關(guān)策略相關(guān)聯(lián),以便事物可以做它需要做的事情,例如 MQTT。

我提供了一個(gè)腳本來(lái)為你處理這個(gè)問(wèn)題。如果您遵循AWS EduKit 指南,您會(huì)注意到這是一種類(lèi)似的方法該腳本將在 AWS IoT 中注冊(cè)事物,生成證書(shū)并將證書(shū)與我們之前在 CDK 堆棧中創(chuàng)建的策略相關(guān)聯(lián)。

cd utilities/AWS_IoT_registration_helper
./registration_helper.sh

生成的證書(shū)存儲(chǔ)在 output_files 文件夾中,這些是您的證書(shū)并且是私有的這些證書(shū)將在構(gòu)建期間加載到設(shè)備上的 SPIFFS 中,并用于與 AWS 的安全通信。

設(shè)備構(gòu)建和上傳

連接 M5 Core2 AWS EduKit 設(shè)備、完成 AWS 后端、為您的環(huán)境預(yù)置和配置設(shè)備后,您就可以構(gòu)建固件并上傳到您的設(shè)備了。

我喜歡使用位于 IDE 底部的 platformio 工具欄:

pYYBAGNkcRqALzuNAAAHqoeHOu4755.png
platformio 工具欄
?

勾選=構(gòu)建

箭頭 = 上傳到設(shè)備

垃圾箱/垃圾=干凈

插頭 = 監(jiān)控串行輸出

終端 = 新的 platformio 終端

使用勾選,構(gòu)建項(xiàng)目,然后使用箭頭上傳到設(shè)備,終端輸出將顯示當(dāng)前狀態(tài)。一旦上傳完成,它應(yīng)該會(huì)自動(dòng)切換到監(jiān)聽(tīng)輸出,但如果沒(méi)有按下插頭按鈕切換到監(jiān)聽(tīng)。

?

您可以看到在正常操作下,串行輸出將提供有關(guān) tyhac 操作方式的一些有用細(xì)節(jié)。在下一節(jié)中,我將詳細(xì)介紹每個(gè)不同的指標(biāo)和消息的含義。

專(zhuān)業(yè)提示:如果您單擊工具欄中的 platformio 監(jiān)視器按鈕,請(qǐng)注意按鈕位置是否像視頻中那樣移動(dòng)。啊。

設(shè)備狀態(tài)指示燈串行輸出

M5 Stack Core2 AWS EduKit 在設(shè)備的兩側(cè)帶有兩個(gè) RGB 條,所以我想我們也可以使用它們。現(xiàn)在您的設(shè)備正在運(yùn)行 tyhac 固件并與 AWS 通信,您可能會(huì)注意到發(fā)生了不同的指標(biāo)。

橙色 = 正在連接或處理,這可以用于 Wifi 或 AWS MQTT

綠色 = 操作正常,例如 wifi 已連接

紅色 = 嚴(yán)重錯(cuò)誤,很可能無(wú)法連接到 Wifi

白色 = 正常操作模式

注意:預(yù)測(cè)顯示使用相同的顏色。例如正負(fù)綠色和紅色。

顯示屏和串行輸出中的狀態(tài)消息大多是不言自明的:

pYYBAGNkcSOAd42iAADrV7ysITc871.png
tyhac 串行輸出
?

MQTT = 訂閱、接收、連接

Heartbeat = 以當(dāng)前模式每分鐘向 AWS 發(fā)送一條心跳 MQTT 消息

NTP = 與遠(yuǎn)程時(shí)間服務(wù)器同步

Screen = LCD 屏幕相關(guān)項(xiàng)目,例如更改顯示

按鈕 = 切換模式,例如被動(dòng)或臨床醫(yī)生(主動(dòng))

Tyhac 設(shè)備庫(kù)

我嘗試將代碼拆分為庫(kù),以便更輕松地管理代碼庫(kù)并允許其他人使用其他項(xiàng)目所需的位:

pYYBAGNkcSWAaTySAAAiFxS7OH0091.png
tyhac 設(shè)備庫(kù)
?

音頻 = 與將音頻從麥克風(fēng)錄制到 SD 卡相關(guān)的所有內(nèi)容

env = 您的環(huán)境特定配置

mqtt = 與 AWS 發(fā)布/訂閱 MQTT 相關(guān)的所有內(nèi)容

ntp = 使用遠(yuǎn)程 NTP 服務(wù)器設(shè)置時(shí)鐘

rgbcolor = 管理 RGB 條帶

ui = 與液晶屏界面相關(guān)的一切

上傳 = 與通過(guò) HTTPS 上傳 AWS S3 相關(guān)的所有內(nèi)容

version = 只是一個(gè)版本文件

例如,如果您想更改 RGB 的顏色,您只需轉(zhuǎn)到 lib/rgbcolor 庫(kù)并使用您選擇的 RGB 值更新 changeRgbColor 函數(shù)或添加不同的顏色等。

Step4:AWS-Sagemaker 可選模型訓(xùn)練

關(guān)于 sagemaker,我不會(huì)過(guò)多介紹。正如我之前所說(shuō),除非您想自己理解或希望維護(hù)模型,否則您不需要執(zhí)行此部分。我對(duì) sagemaker 采取的基本方法是我需要 CPUGPU 和存儲(chǔ),而我根本沒(méi)有,AWS 以低成本按需為我們提供這些。

專(zhuān)業(yè)提示:我已采取措施通過(guò)使用現(xiàn)貨市場(chǎng)進(jìn)行培訓(xùn)來(lái)降低與 sagemaker 相關(guān)的成本,這應(yīng)該會(huì)節(jié)省約 70% 的成本,具體取決于您所在的地區(qū)和 AWS 市場(chǎng)。但是,這仍然是該項(xiàng)目中成本最高的部分,請(qǐng)確保您監(jiān)控成本并設(shè)置計(jì)費(fèi)警報(bào)并在完成后刪除任何內(nèi)容。

AWS Sagemaker 工作室

我最終使用了sagemaker studio ,因?yàn)樗鼮槲姨峁┝撕芏喙δ埽铱梢允褂?Studio IDE 在標(biāo)準(zhǔn)瀏覽器中構(gòu)建、訓(xùn)練和部署所有功能,考慮到我們的時(shí)間框架很短,這很有意義。AWS 提供了更多關(guān)于為什么首選 Studio 的信息如果您在 AWS 中有自己的設(shè)置或標(biāo)準(zhǔn)筆記本實(shí)例,您應(yīng)該能夠在本地執(zhí)行此操作。這將進(jìn)一步降低成本,但會(huì)花費(fèi)您更多的時(shí)間。

創(chuàng)建賢者工作室

使用瀏覽器中的 AWS 控制臺(tái)前往 sagemaker 并使用登錄頁(yè)面點(diǎn)擊橙色的“SageMaker Studio”按鈕。

poYBAGNkcSiAeMM1AAFLaAHn69k545.png
AWS SageMaker Studio 入門(mén)
?

使用“快速啟動(dòng)”選項(xiàng),這將為您設(shè)置和環(huán)境所需的權(quán)限。一旦您接受配置 AWS 將開(kāi)始配置您的環(huán)境,這將需要幾分鐘但只是一次。

當(dāng)您的配置準(zhǔn)備就緒時(shí),您會(huì)注意到一條橫幅消息,如下所示:

pYYBAGNkcSqAcJuHAABEt_qxYZQ189.png
SageMaker 工作室已準(zhǔn)備就緒
?

您應(yīng)該注意到“Open Studio”單擊可用,這將啟動(dòng) AWS SageMaker Studio Web IDE,以便我們開(kāi)始。

poYBAGNkcSyAOijBAAAUWYJOQDM068.png
打開(kāi)工作室
?

如果這不可用,您的環(huán)境可能仍在配置中,或者您需要使用“分配用戶(hù)和組”按鈕來(lái)關(guān)聯(lián)您的用戶(hù)帳戶(hù)。

啟動(dòng) SageMaker studio 后,您會(huì)看到一個(gè)可愛(ài)的 SageMaker 徽標(biāo)加載屏幕,第一次啟動(dòng)往往需要更長(zhǎng)的時(shí)間,之后會(huì)更快。

pYYBAGNkcS-AGNPaAACeDTpAeL0892.png
SageMaker 工作室加載
?

加載 Studio 后,您將進(jìn)入 Studio IDE:

pYYBAGNkcTOARKTaAALh40ILYNk612.png
工作室 IDE
?

我真的很喜歡 Studio IDE,在大多數(shù)情況下,我發(fā)現(xiàn)它非常直觀(guān)且視覺(jué)上非常好用。因?yàn)槲覀儗⑻砑右粋€(gè) git 存儲(chǔ)庫(kù),所以我們可以使用 git 圖標(biāo)來(lái)加載 tyhac 存儲(chǔ)庫(kù)并點(diǎn)擊“克隆存儲(chǔ)庫(kù)”:

poYBAGNkcTaADYUxAAAZZRjxjr4511.png
Git 倉(cāng)庫(kù)
?

克隆后,您會(huì)注意到熟悉的 tyhac 代碼庫(kù)結(jié)構(gòu),導(dǎo)航到 aws-sagemaker 以使用我們需要的文件:

poYBAGNkcTiAAIfGAACppae-EkE613.png
在 Sagemaker Studio 中克隆的 tyhac 存儲(chǔ)庫(kù)
?

用于 fastai 培訓(xùn)的Docker容器

當(dāng)您需要執(zhí)行訓(xùn)練時(shí),AWS SageMaker 將提交訓(xùn)練作業(yè)并啟動(dòng)您為訓(xùn)練指定的計(jì)算、GPU、內(nèi)存實(shí)例或?qū)嵗?/font>AWS SageMaker 為各種框架提供了一堆預(yù)配置的容器,讓您可以繼續(xù)使用,例如 tensorflow、pytorch 等。當(dāng)您想要使用不同的東西時(shí),您可以使用您的自定義框架構(gòu)建容器。這就是我所做的。存儲(chǔ)庫(kù)中的 docker 文件夾包含構(gòu)建容器并將其推送到您的 AWS ECR 所需的代碼,以供 SageMaker 在需要時(shí)使用。

專(zhuān)業(yè)提示:與前面的提示一樣,如果您的互聯(lián)網(wǎng)速度較慢或不想配置 docker 等,AWS Cloud9 在這里是一個(gè)很大的幫助。

您會(huì)注意到兩個(gè)容器,一個(gè)用于訓(xùn)練,一個(gè)用于推理。如果您想訓(xùn)練模型并在 tyhac 后端替換它,則無(wú)需擔(dān)心推理容器。如果您想使用專(zhuān)用 SageMaker 端點(diǎn)運(yùn)行推理,則包含容器代碼和筆記本。

要構(gòu)建容器,您需要再次使用 aws cli 進(jìn)行身份驗(yàn)證,更新 Dockerfile 以反映您的 AWS 區(qū)域,然后只需運(yùn)行 shell 腳本:

./build_and_push.sh

SageMaker 圖表

使用圖表更容易理解 SageMaker、ECR 和筆記本如何連接在一起。下圖顯示了 tyhac 筆記本和服務(wù)如何協(xié)同工作:

pYYBAGNkcTuAKOAIAABhMk61Opc592.png
泰哈克圣人
?

使用筆記本_

Studio IDE 和筆記本將為您提供運(yùn)行所需的一切,只需打開(kāi)筆記本并逐步瀏覽單元格:

pYYBAGNkcT6AWJ-PAAIuqw9qxSQ243.png
運(yùn)行筆記本
?

在大多數(shù)情況下,我使用 AWS 的 tensorflow 內(nèi)核并添加了幾個(gè)我需要的包。您可以在 IDE 頂部更改內(nèi)核。

poYBAGNkcUKAcuXqAAH74Q93s64706.png
改變內(nèi)核
?

數(shù)據(jù)可視化

完成一些數(shù)據(jù)準(zhǔn)備后,在您開(kāi)始訓(xùn)練之前,會(huì)出現(xiàn)包含數(shù)據(jù)可視化的單元格,下面顯示了來(lái)自 covid-19 陽(yáng)性和陰性患者的樣本。輸出是我們用于訓(xùn)練的音頻梅爾譜圖:

pYYBAGNkcUWABfgAAAEtFAYn524249.png
縮放梅爾譜圖
?
poYBAGNkcUeACn3GAAErH9sSd5g703.png
更多頻譜圖
?

我們可以進(jìn)一步挖掘數(shù)據(jù)集以顯示我們當(dāng)前的標(biāo)簽和頻譜圖:

pYYBAGNkcUqABvOMAAIrnaSAMEY102.png
批量拆分
?

訓(xùn)練

一旦您對(duì) dataprep 感到滿(mǎn)意,您就可以進(jìn)入訓(xùn)練筆記本,這將運(yùn)行 sagemaker 訓(xùn)練作業(yè)并將模型文件輸出到 s3,您可以更新筆記本中的超參數(shù)和模型架構(gòu):

hyperparams = { 'epochs'       : 1,
                'learning-rate': 0.001, # fastai default
                'batch-size'   : 64, # fastaudio default
                'model-arch'   : 'resnet18', # resnet34
                'workers'      : 16 # default 2
              }

您將需要為您的帳戶(hù)更新容器位置:

image_uri            = 'ACCOUNTID.dkr.ecr.ap-southeast-2.amazonaws.com/tyhac-sagemaker-fastai:1.0-gpu-py36',

我開(kāi)發(fā)的 notebook 會(huì)輸出一些圖像,您可以使用這些圖像查看模型性能:

poYBAGNkcUyAGlEEAAAvljM0p4Q781.png
泰哈克模型 roc
?

在 AWS 中更新模型

如果您對(duì)模型感到滿(mǎn)意,您只需從 sagemaker S3 存儲(chǔ)桶下載 model.tar.gz,提取內(nèi)容并將 export.pkl 復(fù)制到 aws-cdk/src/lambda/predictor/model 文件夾中。

然后更新您的 AWS CDK 部署:

cd aws-cdk
projen deploy

現(xiàn)在,當(dāng) tyhac M5 Core AWS EduKit 事物接收到新樣本以對(duì)其執(zhí)行推理時(shí),將使用您新訓(xùn)練的模型。簡(jiǎn)單的!

第五步:清理

一旦您完成了項(xiàng)目并且您不再需要運(yùn)行任何 tyhac AWS 堆棧,我們應(yīng)該刪除它們。

因?yàn)槲覀兪褂昧?CDK,所以移除堆棧很容易

您首先需要使用 AWS 管理控制臺(tái)從 AWS IoT 核心 CDK 策略中刪除設(shè)備證書(shū),然后:

cd aws-cdk
projen destroy

專(zhuān)業(yè)提示:您還可以通過(guò) AWS 控制臺(tái)使用 cloudformation 來(lái)刪除堆棧。

這將留下以下需要手動(dòng)刪除的內(nèi)容:

  • AWS S3 存儲(chǔ)桶
  • AWS DynamoDB
  • AWS ECR(容器)

導(dǎo)航到 AWS 控制臺(tái)中的這些服務(wù)以清空和刪除它們。

如果您配置了 SageMaker Studio:

  • 導(dǎo)航到 SageMaker Studio
  • 點(diǎn)擊用戶(hù),刪除關(guān)聯(lián)應(yīng)用
  • 刪除用戶(hù)
  • 回去
  • 刪除工作室
pYYBAGNkcU-AeLQjAAA7rGHo76w884.png
刪除 Studio 應(yīng)用程序
?

導(dǎo)航到 AWS EFS

  • 選擇 EFS 卷,然后刪除
pYYBAGNkcVKAchPNAAEjfeFNZKY276.png
刪除 EFS 卷
?

專(zhuān)業(yè)提示:如果您有多個(gè)卷檢查標(biāo)簽,SageMaker 會(huì)標(biāo)記與 SageMaker 關(guān)聯(lián)的卷。

困難/挑戰(zhàn)

我現(xiàn)在將討論我在這個(gè)項(xiàng)目中遇到的一些挑戰(zhàn),劇透有很多(現(xiàn)在仍然如此):)

使用SageMaker 進(jìn)行深度學(xué)習(xí)

  • 你怎么能從音頻中預(yù)測(cè)任何東西?

這是一個(gè)兔子洞,試圖了解我如何使用音頻咳嗽來(lái)預(yù)測(cè)任何事情。一旦我開(kāi)始研究這個(gè)問(wèn)題,我就能找到一些非常棒的信息和研究論文(參見(jiàn) repo)。最后,最好的方法是使用具有已知架構(gòu)的梅爾譜圖和卷積神經(jīng)網(wǎng)絡(luò)使用音頻圖像,而不是查看音頻樣本的數(shù)字?jǐn)?shù)據(jù)點(diǎn)。

  • 資料準(zhǔn)備,資料準(zhǔn)備,資料準(zhǔn)備

這似乎永無(wú)止境,下載數(shù)據(jù),排序數(shù)據(jù),找到標(biāo)簽,沖洗并重復(fù)。發(fā)現(xiàn)沒(méi)有足夠的數(shù)據(jù),盡可能調(diào)整以獲得更多數(shù)據(jù),然后意識(shí)到我在數(shù)據(jù)準(zhǔn)備中犯了一個(gè)錯(cuò)誤,需要重做。耗時(shí)但關(guān)鍵的堆棧部分。

  • 超參數(shù)、音頻參數(shù)、框架

時(shí)代?優(yōu)化器?一種全新的語(yǔ)言,我在訓(xùn)練一個(gè)完全有效的模型時(shí)遇到了很多麻煩。嘗試了各種框架但沒(méi)有成功,我?guī)缀醴艞壛诉@個(gè)項(xiàng)目,并準(zhǔn)備寫(xiě)下我的失敗。我會(huì)不斷地訓(xùn)練一個(gè) ROC 為 0.5 的模型,這是一個(gè)完全沒(méi)用的模型。FastAI 真的把我從我自己那里救了出來(lái),一旦我改用 fastai,我就能夠訓(xùn)練一些有用的東西,將它與 fastaudio 配對(duì)對(duì)音頻組件有相同的效果。

  • 只是使用更多的 CPU 內(nèi)核,反正誰(shuí)需要 GPU

切換到 FastAI 后,我需要為框架構(gòu)建自定義 docker 容器。這很棒,但是,我在訓(xùn)練期間注意到從未使用過(guò) GPU。我把這個(gè)問(wèn)題放在了待辦事項(xiàng)上,并投入了更多的 CPU(不聰明),以使每個(gè)周期的訓(xùn)練時(shí)間達(dá)到 5-7 分鐘左右。我最終發(fā)現(xiàn) tensorflow 所需的軟件包是根據(jù)您的系統(tǒng)安裝的,我的本地系統(tǒng)缺少 NVIDIA GPU 并安裝了 CPU 軟件包。調(diào)整 Dockerfile 以提取 GPU 包意味著 GPU 已被使用,并且周期下降到大約 1 分鐘。這意味著,更多的成本節(jié)省,更少的時(shí)間!

  • 好的,我有一個(gè)訓(xùn)練有素的模型,現(xiàn)在呢?

自定義容器和 SageMaker 推理。這過(guò)于復(fù)雜,如果您想使用 SageMaker 端點(diǎn),您需要在 SageMaker 推理要求的框架內(nèi)工作。您的服務(wù)腳本中需要某些功能,這些功能只需要存在即可。我為此奮斗了最長(zhǎng)時(shí)間,認(rèn)為這不是真的,但現(xiàn)在理解了結(jié)構(gòu)化方法。

M5 Core2 堆棧 Arduino

  • Micropython,不,arduino

我想快點(diǎn),我正在為 SageMaker 開(kāi)發(fā) python 筆記本,我知道 M5 Core2 可以使用 micropython。我最初對(duì) micropython 的實(shí)驗(yàn)并不順利,很早就很清楚我試圖做的事情超出了設(shè)備上 micropython 的范圍,因?yàn)闀r(shí)間限制。我的下一個(gè)目標(biāo)是 arduino,它最終運(yùn)行良好。該設(shè)備支持多種語(yǔ)言真是太好了。我認(rèn)為轉(zhuǎn)移到 esp-idf 將是一個(gè)很好的下一步。

  • LM393是麥克風(fēng)嗎?

我以為這是麥克風(fēng),而不僅僅是聲音傳感器。我最初的設(shè)計(jì)需要一個(gè)觸發(fā)器來(lái)啟動(dòng)錄音,這就是我購(gòu)買(mǎi) LM393 的原因,但我也認(rèn)為它是一個(gè)更高質(zhì)量的麥克風(fēng)。我必須快速適應(yīng)使用內(nèi)置麥克風(fēng)。

  • SM1423 內(nèi)置麥克風(fēng) I2S

內(nèi)置麥克風(fēng)使用 I2S,這與我過(guò)去沒(méi)有任何關(guān)系。試圖了解如何從 I2S 接口讀取數(shù)據(jù)并將其寫(xiě)入文件是一項(xiàng)挑戰(zhàn)。關(guān)于 arduino、SDCards 和 wav 文件有一些例子,但并不多。大量的試驗(yàn)和錯(cuò)誤。

  • 我只想通過(guò) HTTPS 將文件上傳到 S3,有什么用?

我無(wú)法計(jì)算出 AWS S3 所需的標(biāo)頭,它會(huì)不斷被 S3 拒絕。大量的調(diào)試、更改文件類(lèi)型、查看標(biāo)題等,我最終得到了它的工作。我找不到任何關(guān)于如何使用 arduino 執(zhí)行此操作的明確示例。據(jù)我所知,我的示例是迄今為止唯一公開(kāi)可用的已知工作示例。

  • 嘿,酷,RGB燈,讓我們使用它們,這不是橙色的嗎?

在經(jīng)歷了所有挑戰(zhàn)之后,我決定繞道而行,用 RGB 燈玩一玩。原來(lái) fastled 庫(kù)中的 RGB 燈出現(xiàn)故障,我會(huì)嘗試制作橙色,它會(huì)以不同的方式結(jié)束。一旦我理解了這個(gè)問(wèn)題,在我的代碼中交換值就可以更容易地選擇我的 RGB 顏色,然后讓我的函數(shù)句柄交換。都是些小事...

  • 搬家,網(wǎng)速慢,AWS Cloud9 來(lái)拯救

在我搬家的項(xiàng)目快結(jié)束時(shí),新位置的下載速度不錯(cuò),但上傳可能會(huì)更好。通常這不是問(wèn)題,但我的堆棧嚴(yán)重依賴(lài)需要上傳到 AWS ECR 的容器。當(dāng)我處理設(shè)備和分段/預(yù)測(cè) lambda 函數(shù)時(shí),我需要快速迭代代碼更改。進(jìn)行簡(jiǎn)單的更改需要 20、30、60 分鐘。

我最終切換到 AWS Cloud9 進(jìn)行 aws-cdk 部署,這將容器更改的時(shí)間縮短到 2-5 分鐘。托管服務(wù)的啟動(dòng)和運(yùn)行快速、簡(jiǎn)單且具有成本效益。切換到 Cloud9 只需幾分鐘,如果沒(méi)有它,我將無(wú)法完成挑戰(zhàn)。

下一步

這個(gè)項(xiàng)目是一個(gè)很好的開(kāi)始,可以端到端地展示您如何使用 M5 Core2 AWS EduKit 解決這個(gè)問(wèn)題。有許多改進(jìn)和未來(lái)的機(jī)會(huì)可以考慮:

  • 設(shè)備注冊(cè)

我正在使用 RSA 證書(shū)身份驗(yàn)證(根據(jù) AWS 控制臺(tái)),M5 堆棧包含一個(gè)安全硬件元素。我最初試圖讓它與 arduino 一起工作的嘗試沒(méi)有奏效。AWS 在 M5 Stack 存儲(chǔ)庫(kù)中有一個(gè)修改過(guò)的庫(kù),我懷疑這是它工作所必需的。

  • 嘗試不同的麥克風(fēng)

我想使用不同的麥克風(fēng),看看社區(qū)可能會(huì)推薦什么來(lái)提高音頻質(zhì)量。

  • 局部推理

一個(gè)不錯(cuò)的改變是嘗試將模型推理帶到設(shè)備本身,但在 AWS 中更接近邊緣時(shí)失敗。這將減少推理時(shí)間,但是基于數(shù)據(jù)進(jìn)行訓(xùn)練仍然會(huì)很好,后臺(tái)上傳可能需要研究。

  • 更多數(shù)據(jù)

該模型與數(shù)據(jù)一樣好,它需要更多。看看公共數(shù)據(jù)是否繼續(xù)增長(zhǎng)將會(huì)很有趣,這可能有助于用新數(shù)據(jù)重新訓(xùn)練模型并提高準(zhǔn)確性。

  • 不同的設(shè)備

因?yàn)槎褩J墙怦畹模覀儙缀蹩梢允褂萌魏斡涗浺纛l的設(shè)備來(lái)執(zhí)行此操作。我們可以利用任何可能已經(jīng)在錄制音頻的現(xiàn)有公共服務(wù)嗎?

最后的想法

我度過(guò)了很愉快的時(shí)間來(lái)應(yīng)對(duì)這個(gè)挑戰(zhàn),這是對(duì) M5 Core2 Stack 的一個(gè)很好的介紹,它是一個(gè)非常強(qiáng)大的設(shè)備,非常適合像這個(gè)堆棧或更復(fù)雜的堆棧這樣的快速原型設(shè)計(jì)。我喜歡 AWS IoT 如何成為您所有 IoT 相關(guān)服務(wù)的中心點(diǎn),從該中心服務(wù)與 AWS 安全交互的能力使得設(shè)計(jì)和與 DynamoDB 和 Lambda 集成變得容易。

我希望這個(gè)項(xiàng)目對(duì)其他人有用,可以在此基礎(chǔ)上進(jìn)行構(gòu)建、擴(kuò)展或獲取他們需要的部分,以使他們的原型或產(chǎn)品起步。

感謝 Hackster 和 AWS 將這一挑戰(zhàn)放在一起,并創(chuàng)建了一個(gè)社區(qū)以使這成為可能。

快樂(lè)編碼。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)