資料介紹
描述
為什么選擇泰哈克
在大流行開始時對 COVID-19 進(jìn)行測試很困難,沒有足夠的測試套件可供使用,而且就可靠性而言,套件本身仍在開發(fā)中。幾十年來,醫(yī)生一直通過聽病人咳嗽和呼吸來診斷各種疾病。研究人員已經(jīng)對開發(fā)機(jī)器學(xué)習(xí)模型進(jìn)行了研究,以預(yù)測患者是否患有支氣管炎,我們可以將相同的方法應(yīng)用于 COVID-19 嗎?
是的,答案是肯定的,麻省理工學(xué)院和其他人已經(jīng)做到了……并且正在制作一個應(yīng)用程序……
麻省理工學(xué)院研究的關(guān)鍵信息之一是,他們能夠使用他們訓(xùn)練有素的模型識別出沒有病毒癥狀的人,事實證明咳嗽是關(guān)鍵。
現(xiàn)在,麻省理工學(xué)院這次擊敗了我們,但正如麻省理工學(xué)院已經(jīng)指出的那樣,無癥狀的人可能不會急于接受測試,如果麻省理工學(xué)院發(fā)布一個應(yīng)用程序,它仍然需要用戶下載和使用該應(yīng)用程序。
Tyhac 旨在通過提供一種被動聽音設(shè)備來解決這些問題,該設(shè)備可以檢測咳嗽,然后對樣本進(jìn)行深度學(xué)習(xí)推理以確定 COVID-19 是陽性還是陰性。通過在辦公室、電梯、候診室等公共場所安裝 tyhac,我們可以通過響應(yīng)檢測到的事件來幫助更好地保護(hù)我們的社區(qū)。我們還可以使用 tyhac 更好地了解社區(qū)在流感季節(jié)的反應(yīng),以及是否在工作場所管理健康習(xí)慣活動,以確保工人照顧好自己,并在可能的情況下使用遠(yuǎn)程工作來限制傳播。
它是如何工作的?
得益于 M5 Core2 堆棧和 AWS,解決方案本身非常簡單,這讓一切變得非常簡單。它將貫穿設(shè)備的高級設(shè)計和 AWS 配置:
現(xiàn)在我們對堆棧有了更好的理解,我們可以討論一些關(guān)鍵特性,然后進(jìn)入演示。該設(shè)備設(shè)計為在兩種模式下運行:
被動的
此模式專為安裝在工作場所、電梯、候診室、辦公室隔間、家庭等中的設(shè)備而開發(fā)。LM393 麥克風(fēng)傳感器具有可聞噪音閾值,一旦超過該閾值,SPM1423 內(nèi)部 I2S 麥克風(fēng)將開始錄音一個 10 秒的音頻樣本。
臨床醫(yī)生(現(xiàn)場單位)
此模式專為醫(yī)療專業(yè)人員設(shè)計,在此模式下,設(shè)備不使用 LM393,技術(shù)上不需要。如果喜歡移動設(shè)備,該設(shè)備可以使用電池(包括在設(shè)備中)。
用戶會看到一個顯示兩個選項的菜單:
提交
此按鈕旨在供醫(yī)療專業(yè)人員提交陽性樣本,我已將其包含在內(nèi),以便我們接收標(biāo)記樣本以繼續(xù)訓(xùn)練模型并改進(jìn)預(yù)測。
測試
此按鈕用于診斷患者,一旦按下按鈕,它將使用內(nèi)部 SPM1423 I2S 麥克風(fēng)錄制 10 秒的音頻。
上傳
兩種模式都將音頻樣本記錄為 WAV 文件并寫入設(shè)備上的 SD 卡。然后設(shè)備將發(fā)布到 S3 Pre-signed URL MQTT 主題以請求安全 url 來上傳 WAV 文件。收到后,設(shè)備將開始通過安全 HTTPS 上傳。
驗證
文件上傳到 AWS S3 后,存儲桶觸發(fā)事件將調(diào)用暫存 Lambda 函數(shù)。暫存過程對樣本進(jìn)行一系列檢查:
- 樣本是有效的 WAV 文件嗎?
- 樣本是咳嗽嗎?
- 擴(kuò)充文件
- 歸檔文件并復(fù)制到最終存儲桶
如果在任何階段暫存功能不起作用或檢查失敗,則文件將從存儲桶中刪除。DynamoDB 事件隨結(jié)果更新,旨在最大限度地減少非咳嗽相關(guān)音頻樣本的存儲。
推理/預(yù)測
在最終存儲桶中創(chuàng)建文件后,將從 S3 事件調(diào)用推理 Lambda 函數(shù)。這將加載經(jīng)過訓(xùn)練的 tyhac 模型并對樣本進(jìn)行預(yù)測。結(jié)果通過 MQTT 返回。
演示
我準(zhǔn)備了一個演示,它將運行一些功能,以便我們可以看到它的作用。演示顯示:
- 啟動
- 被動covid-19檢測
- 臨床模式測試
讓我們構(gòu)建一些東西(代碼)
在本節(jié)中,我們將逐步啟動和運行您的設(shè)置。請務(wù)必查看 BOM 以確保您擁有運行構(gòu)建所需的組件。
除了 BOM,您還需要一個有效的 AWS 賬戶,因為這需要使用 AWS 服務(wù)(太棒了?。。。?/font>如果您沒有賬戶,請按照AWS 官方文檔設(shè)置賬戶。
專業(yè)提示:云需要花錢,我強(qiáng)烈建議您了解構(gòu)建成本并使用計費警報設(shè)置您滿意的閾值。我創(chuàng)建了一個單獨的項目來自動執(zhí)行此操作,請隨時查看。
構(gòu)建這個項目所需的一切(不包括物理資產(chǎn))都可以在talkncloud github repo 上開源。以下內(nèi)容將作為“快速入門”幫助您啟動和運行。
注意:您將在項目代碼和 github 存儲庫中找到其他信息來補(bǔ)充這篇文章。
項目文件夾結(jié)構(gòu)
瀏覽存儲庫后,您會注意到該項目已分為三個單獨的文件夾:
- aws-cdk
- aws-物聯(lián)網(wǎng)
- aws-sagemaker
AWS-CDK
AWS Cloud Development Kit (CDK) 文件夾包含在云中部署所需服務(wù)所需的一切。如果您之前參考高級設(shè)計圖,圖中的所有內(nèi)容都將自動為您提供。這就是基礎(chǔ)設(shè)施即代碼 (IaC),通過將所有內(nèi)容開發(fā)為代碼,我可以提供一致的可重復(fù)環(huán)境,以確保其按設(shè)計工作。另一種方法是您需要手動創(chuàng)建所有內(nèi)容(無聊)。
注意:CDK 是一個很棒的項目,如果您在熟悉開發(fā)定義風(fēng)格的語言(如 JSON 或 YAML)之前看過 IaC。CDK 允許您將諸如 typescript、python 之類的編程語言帶到聚會中,如果您正在瀏覽 hackster,我相信您會喜歡的。
AWS-物聯(lián)網(wǎng)
用于構(gòu)建固件并將其上傳到您的 M5 Core2 AWS EduKit 設(shè)備的 arduino 代碼。這是在您的設(shè)備上運行 tyhac 固件所必需的,我們將使用 platformio 使事情變得更容易一些。
AWS-SAGEMaker
如果您正在深入學(xué)習(xí),此文件夾包含執(zhí)行數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練和模型托管所需的一切。高級設(shè)計中使用的訓(xùn)練模型包含在項目中。對于此構(gòu)建,您根本不需要使用 sagemaker。Sagemaker 不包含在 aws-cdk 部署中。
如果您想在模型上構(gòu)建或只是好奇,此文件夾適合您。
專業(yè)提示:我正在使用 fastai 和 fastaudio ,如果您正在考慮進(jìn)行任何深度學(xué)習(xí),我強(qiáng)烈建議您檢查一下。
第一步:克隆倉庫
讓我們通過準(zhǔn)備本地環(huán)境來工作,我們將從 cdk 開始,然后移動到設(shè)備上。
克隆倉庫
讓我們克隆所有 tyhac 的優(yōu)點...
git clone https://github.com/talkncloud/tyhac-aws-hackster
cd tyhac-aws-hackster
Step2:AWS-CDK部署AWS
該項目需要使用 docker 容器,這些容器將使用 AWS Elastic Container Registry 構(gòu)建并存儲在您的 AWS 賬戶中。這些容器用于 lambda 函數(shù)以執(zhí)行分段和推理。如果您安裝并運行了 docker,您可以在本地構(gòu)建這些容器,CDK 會處理所有事情。如果您沒有這些或您的互聯(lián)網(wǎng)速度很慢,我可以推薦AWS Cloud9。容器將上傳大約 3-4GB。
您不需要了解有關(guān)容器的任何信息,一切都會得到照顧。
如果你要去本地,請參考 docker doco 進(jìn)行安裝和配置。如果您使用的是 Cloud9,它已經(jīng)安裝。
注意:Cloud9 不是免費的,請參閱 AWS 定價,Cloud9 未包含在此構(gòu)建的最終成本中,因為它不是必需的。
除了 CDK,我們將使用projen,另一個很棒的項目,這簡化了 CDK 和類似項目的構(gòu)建和維護(hù)。這假設(shè)您已經(jīng)安裝了節(jié)點,有關(guān)詳細(xì)信息,請參閱節(jié)點文檔。
npm install -g aws-cdk
npm install -g projen
npm install -g yarn
您需要下載并安裝 AWS cli ,這將允許您向 AWS 進(jìn)行身份驗證并執(zhí)行與云相關(guān)的操作,這是我們需要將 CDK 部署到您的帳戶中的。
安裝 AWS cli 后,您需要配置客戶端以添加訪問密鑰。這將授予 AWS cli 訪問您賬戶的權(quán)限。有關(guān)配置,請參閱AWS 文檔。
專業(yè)提示:AWS 所指的密鑰是密碼,請像這樣對待它們。不要共享它們并限制他們的訪問。如果這是您第一次進(jìn)入 AWS,請在此構(gòu)建結(jié)束時刪除您的憑證文件以及您在 AWS 賬戶中生成的任何密鑰。如果需要,您可以隨時創(chuàng)建更多。最好不要把鑰匙掛在身邊。
現(xiàn)在您已經(jīng)安裝了所有東西,并且您已經(jīng)為您的 AWS cli 配置了訪問權(quán)限,您可以為 tyhac 預(yù)置后端 AWS 資源、權(quán)限、策略和配置。
projen
projen deploy
以下視頻展示了使用 Cloud9 的部署,同樣適用于 Visual Studio 代碼:
讓我們驗證幾件事,我不會詳細(xì)介紹,但如果您愿意,請了解 CDK 使用 AWS Cloudformation,即 IaC 'OG'。使用控制臺前往 cloudformation 并找到部署:

恭喜,您剛剛構(gòu)建了容器、函數(shù)、存儲桶、數(shù)據(jù)庫、物聯(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)境到運行示例項目的豐富信息。最好通過其中的一兩個來感受一下。
LM393麥克風(fēng)單元和SD卡
這部分很簡單,如果您使用的是 LM393 單元,只需將??傳感器連接到設(shè)備上的端口 B。這在 LM393 的外殼上標(biāo)明。
將 micro SD 卡插入設(shè)備的 SD 卡插槽。
平臺
我正在使用 platformio 來提供功能豐富且易于擴(kuò)展的 Visual Studio 代碼。請參閱Visual Studio 代碼下載和安裝和platformio 安裝以使它們運行。
現(xiàn)在讓我們進(jìn)入 aws-iot 文件夾:
cd aws-iot
code
這應(yīng)該在該位置打開 Visual Studio 代碼編輯器,否則打開 Visual Studio 代碼并打開克隆的存儲庫。
我們將使用 platformio 打開 iot 項目,這將創(chuàng)建連接到設(shè)備和使用 platformio 所需的環(huán)境:

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

我想強(qiáng)調(diào)幾項:
certs - 安全 HTTPS 通信所需的公共 AWS 證書
實用程序 - 我們將使用它來自動使用 AWS 配置事物
lib - 大多數(shù)代碼已被拆分為單獨的庫以使其更容易,此文件夾包含 tyhac 庫
lib/env - 你需要為你的環(huán)境更新它,我們將在下一節(jié)中詳細(xì)討論
platformio.ini - 您可能需要根據(jù)您的系統(tǒng)更改此文件中的設(shè)置,主要是 USB 端口。例如,AWS EduKit、USB 信息。
環(huán)境樣本.h
使用編輯器打開環(huán)境文件,您需要將示例文件復(fù)制到名為env.h的相同位置
更新您的環(huán)境的設(shè)置,該文件包含有關(guān)如何檢索您需要的 AWS 相關(guān)信息的有用詳細(xì)信息。例子:
您的 AWS 賬戶:
aws sts get-caller-identity
您的 AWS IoT 終端節(jié)點:
aws iot describe-endpoint --endpoint-type iot:Data-ATS
設(shè)備配置
您可以想象,我們不希望任何人都使用我們的 AWS tyhac 堆棧。要將 AWS IoT 與我們的配置一起使用,您需要將設(shè)備注冊到 AWS IoT。這需要生成證書并將設(shè)備與相關(guān)策略相關(guān)聯(lián),以便事物可以做它需要做的事情,例如 MQTT。
我提供了一個腳本來為你處理這個問題。如果您遵循AWS EduKit 指南,您會注意到這是一種類似的方法。該腳本將在 AWS IoT 中注冊事物,生成證書并將證書與我們之前在 CDK 堆棧中創(chuàng)建的策略相關(guān)聯(lián)。
cd utilities/AWS_IoT_registration_helper
./registration_helper.sh
生成的證書存儲在 output_files 文件夾中,這些是您的證書并且是私有的。這些證書將在構(gòu)建期間加載到設(shè)備上的 SPIFFS 中,并用于與 AWS 的安全通信。
設(shè)備構(gòu)建和上傳
連接 M5 Core2 AWS EduKit 設(shè)備、完成 AWS 后端、為您的環(huán)境預(yù)置和配置設(shè)備后,您就可以構(gòu)建固件并上傳到您的設(shè)備了。
我喜歡使用位于 IDE 底部的 platformio 工具欄:

勾選=構(gòu)建
箭頭 = 上傳到設(shè)備
垃圾箱/垃圾=干凈
插頭 = 監(jiān)控串行輸出
終端 = 新的 platformio 終端
使用勾選,構(gòu)建項目,然后使用箭頭上傳到設(shè)備,終端輸出將顯示當(dāng)前狀態(tài)。一旦上傳完成,它應(yīng)該會自動切換到監(jiān)聽輸出,但如果沒有按下插頭按鈕切換到監(jiān)聽。
您可以看到在正常操作下,串行輸出將提供有關(guān) tyhac 操作方式的一些有用細(xì)節(jié)。在下一節(jié)中,我將詳細(xì)介紹每個不同的指標(biāo)和消息的含義。
專業(yè)提示:如果您單擊工具欄中的 platformio 監(jiān)視器按鈕,請注意按鈕位置是否像視頻中那樣移動。啊。
設(shè)備狀態(tài)指示燈和串行輸出
M5 Stack Core2 AWS EduKit 在設(shè)備的兩側(cè)帶有兩個 RGB 條,所以我想我們也可以使用它們。現(xiàn)在您的設(shè)備正在運行 tyhac 固件并與 AWS 通信,您可能會注意到發(fā)生了不同的指標(biāo)。
橙色 = 正在連接或處理,這可以用于 Wifi 或 AWS MQTT
綠色 = 操作正常,例如 wifi 已連接
紅色 = 嚴(yán)重錯誤,很可能無法連接到 Wifi
白色 = 正常操作模式
注意:預(yù)測顯示使用相同的顏色。例如正負(fù)綠色和紅色。
顯示屏和串行輸出中的狀態(tài)消息大多是不言自明的:

MQTT = 訂閱、接收、連接
Heartbeat = 以當(dāng)前模式每分鐘向 AWS 發(fā)送一條心跳 MQTT 消息
NTP = 與遠(yuǎn)程時間服務(wù)器同步
Screen = LCD 屏幕相關(guān)項目,例如更改顯示
按鈕 = 切換模式,例如被動或臨床醫(yī)生(主動)
Tyhac 設(shè)備庫
我嘗試將代碼拆分為庫,以便更輕松地管理代碼庫并允許其他人使用其他項目所需的位:

音頻 = 與將音頻從麥克風(fēng)錄制到 SD 卡相關(guān)的所有內(nèi)容
env = 您的環(huán)境特定配置
mqtt = 與 AWS 發(fā)布/訂閱 MQTT 相關(guān)的所有內(nèi)容
ntp = 使用遠(yuǎn)程 NTP 服務(wù)器設(shè)置時鐘
rgbcolor = 管理 RGB 條帶
ui = 與液晶屏界面相關(guān)的一切
上傳 = 與通過 HTTPS 上傳 AWS S3 相關(guān)的所有內(nèi)容
version = 只是一個版本文件
例如,如果您想更改 RGB 的顏色,您只需轉(zhuǎn)到 lib/rgbcolor 庫并使用您選擇的 RGB 值更新 changeRgbColor 函數(shù)或添加不同的顏色等。
Step4:AWS-Sagemaker 可選模型訓(xùn)練
關(guān)于 sagemaker,我不會過多介紹。正如我之前所說,除非您想自己理解或希望維護(hù)模型,否則您不需要執(zhí)行此部分。我對 sagemaker 采取的基本方法是我需要 CPU、GPU 和存儲,而我根本沒有,AWS 以低成本按需為我們提供這些。
專業(yè)提示:我已采取措施通過使用現(xiàn)貨市場進(jìn)行培訓(xùn)來降低與 sagemaker 相關(guān)的成本,這應(yīng)該會節(jié)省約 70% 的成本,具體取決于您所在的地區(qū)和 AWS 市場。但是,這仍然是該項目中成本最高的部分,請確保您監(jiān)控成本并設(shè)置計費警報并在完成后刪除任何內(nèi)容。
AWS Sagemaker 工作室
我最終使用了sagemaker studio ,因為它為我提供了很多功能,我可以使用 Studio IDE 在標(biāo)準(zhǔn)瀏覽器中構(gòu)建、訓(xùn)練和部署所有功能,考慮到我們的時間框架很短,這很有意義。AWS 提供了更多關(guān)于為什么首選 Studio 的信息。如果您在 AWS 中有自己的設(shè)置或標(biāo)準(zhǔn)筆記本實例,您應(yīng)該能夠在本地執(zhí)行此操作。這將進(jìn)一步降低成本,但會花費您更多的時間。
創(chuàng)建賢者工作室
使用瀏覽器中的 AWS 控制臺前往 sagemaker 并使用登錄頁面點擊橙色的“SageMaker Studio”按鈕。

使用“快速啟動”選項,這將為您設(shè)置和環(huán)境所需的權(quán)限。一旦您接受配置 AWS 將開始配置您的環(huán)境,這將需要幾分鐘但只是一次。
當(dāng)您的配置準(zhǔn)備就緒時,您會注意到一條橫幅消息,如下所示:

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

如果這不可用,您的環(huán)境可能仍在配置中,或者您需要使用“分配用戶和組”按鈕來關(guān)聯(lián)您的用戶帳戶。
啟動 SageMaker studio 后,您會看到一個可愛的 SageMaker 徽標(biāo)加載屏幕,第一次啟動往往需要更長的時間,之后會更快。

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

我真的很喜歡 Studio IDE,在大多數(shù)情況下,我發(fā)現(xiàn)它非常直觀且視覺上非常好用。因為我們將添加一個 git 存儲庫,所以我們可以使用 git 圖標(biāo)來加載 tyhac 存儲庫并點擊“克隆存儲庫”:

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

用于 fastai 培訓(xùn)的Docker容器
當(dāng)您需要執(zhí)行訓(xùn)練時,AWS SageMaker 將提交訓(xùn)練作業(yè)并啟動您為訓(xùn)練指定的計算、GPU、內(nèi)存實例或?qū)嵗?/font>AWS SageMaker 為各種框架提供了一堆預(yù)配置的容器,讓您可以繼續(xù)使用,例如 tensorflow、pytorch 等。當(dāng)您想要使用不同的東西時,您可以使用您的自定義框架構(gòu)建容器。這就是我所做的。存儲庫中的 docker 文件夾包含構(gòu)建容器并將其推送到您的 AWS ECR 所需的代碼,以供 SageMaker 在需要時使用。
專業(yè)提示:與前面的提示一樣,如果您的互聯(lián)網(wǎng)速度較慢或不想配置 docker 等,AWS Cloud9 在這里是一個很大的幫助。
您會注意到兩個容器,一個用于訓(xùn)練,一個用于推理。如果您想訓(xùn)練模型并在 tyhac 后端替換它,則無需擔(dān)心推理容器。如果您想使用專用 SageMaker 端點運行推理,則包含容器代碼和筆記本。
要構(gòu)建容器,您需要再次使用 aws cli 進(jìn)行身份驗證,更新 Dockerfile 以反映您的 AWS 區(qū)域,然后只需運行 shell 腳本:
./build_and_push.sh
SageMaker 圖表
使用圖表更容易理解 SageMaker、ECR 和筆記本如何連接在一起。下圖顯示了 tyhac 筆記本和服務(wù)如何協(xié)同工作:

使用筆記本_
Studio IDE 和筆記本將為您提供運行所需的一切,只需打開筆記本并逐步瀏覽單元格:

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

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


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

訓(xùn)練
一旦您對 dataprep 感到滿意,您就可以進(jìn)入訓(xù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
}
您將需要為您的帳戶更新容器位置:
image_uri = 'ACCOUNTID.dkr.ecr.ap-southeast-2.amazonaws.com/tyhac-sagemaker-fastai:1.0-gpu-py36',
我開發(fā)的 notebook 會輸出一些圖像,您可以使用這些圖像查看模型性能:

在 AWS 中更新模型
如果您對模型感到滿意,您只需從 sagemaker S3 存儲桶下載 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 事物接收到新樣本以對其執(zhí)行推理時,將使用您新訓(xùn)練的模型。簡單的!
第五步:清理
一旦您完成了項目并且您不再需要運行任何 tyhac AWS 堆棧,我們應(yīng)該刪除它們。
因為我們使用了 CDK,所以移除堆棧很容易
您首先需要使用 AWS 管理控制臺從 AWS IoT 核心 CDK 策略中刪除設(shè)備證書,然后:
cd aws-cdk
projen destroy
專業(yè)提示:您還可以通過 AWS 控制臺使用 cloudformation 來刪除堆棧。
這將留下以下需要手動刪除的內(nèi)容:
- AWS S3 存儲桶
- AWS DynamoDB
- AWS ECR(容器)
導(dǎo)航到 AWS 控制臺中的這些服務(wù)以清空和刪除它們。
如果您配置了 SageMaker Studio:
- 導(dǎo)航到 SageMaker Studio
- 點擊用戶,刪除關(guān)聯(lián)應(yīng)用
- 刪除用戶
- 回去
- 刪除工作室

導(dǎo)航到 AWS EFS
- 選擇 EFS 卷,然后刪除

專業(yè)提示:如果您有多個卷檢查標(biāo)簽,SageMaker 會標(biāo)記與 SageMaker 關(guān)聯(lián)的卷。
困難/挑戰(zhàn)
我現(xiàn)在將討論我在這個項目中遇到的一些挑戰(zhàn),劇透有很多(現(xiàn)在仍然如此):)
使用SageMaker 進(jìn)行深度學(xué)習(xí)
- 你怎么能從音頻中預(yù)測任何東西?
這是一個兔子洞,試圖了解我如何使用音頻咳嗽來預(yù)測任何事情。一旦我開始研究這個問題,我就能找到一些非常棒的信息和研究論文(參見 repo)。最后,最好的方法是使用具有已知架構(gòu)的梅爾譜圖和卷積神經(jīng)網(wǎng)絡(luò)。使用音頻圖像,而不是查看音頻樣本的數(shù)字?jǐn)?shù)據(jù)點。
- 資料準(zhǔn)備,資料準(zhǔn)備,資料準(zhǔn)備
這似乎永無止境,下載數(shù)據(jù),排序數(shù)據(jù),找到標(biāo)簽,沖洗并重復(fù)。發(fā)現(xiàn)沒有足夠的數(shù)據(jù),盡可能調(diào)整以獲得更多數(shù)據(jù),然后意識到我在數(shù)據(jù)準(zhǔn)備中犯了一個錯誤,需要重做。耗時但關(guān)鍵的堆棧部分。
- 超參數(shù)、音頻參數(shù)、框架
時代?優(yōu)化器?一種全新的語言,我在訓(xùn)練一個完全有效的模型時遇到了很多麻煩。嘗試了各種框架但沒有成功,我?guī)缀醴艞壛诉@個項目,并準(zhǔn)備寫下我的失敗。我會不斷地訓(xùn)練一個 ROC 為 0.5 的模型,這是一個完全沒用的模型。FastAI 真的把我從我自己那里救了出來,一旦我改用 fastai,我就能夠訓(xùn)練一些有用的東西,將它與 fastaudio 配對對音頻組件有相同的效果。
- 只是使用更多的 CPU 內(nèi)核,反正誰需要 GPU
切換到 FastAI 后,我需要為框架構(gòu)建自定義 docker 容器。這很棒,但是,我在訓(xùn)練期間注意到從未使用過 GPU。我把這個問題放在了待辦事項上,并投入了更多的 CPU(不聰明),以使每個周期的訓(xùn)練時間達(dá)到 5-7 分鐘左右。我最終發(fā)現(xiàn) tensorflow 所需的軟件包是根據(jù)您的系統(tǒng)安裝的,我的本地系統(tǒng)缺少 NVIDIA GPU 并安裝了 CPU 軟件包。調(diào)整 Dockerfile 以提取 GPU 包意味著 GPU 已被使用,并且周期下降到大約 1 分鐘。這意味著,更多的成本節(jié)省,更少的時間!
- 好的,我有一個訓(xùn)練有素的模型,現(xiàn)在呢?
自定義容器和 SageMaker 推理。這過于復(fù)雜,如果您想使用 SageMaker 端點,您需要在 SageMaker 推理要求的框架內(nèi)工作。您的服務(wù)腳本中需要某些功能,這些功能只需要存在即可。我為此奮斗了最長時間,認(rèn)為這不是真的,但現(xiàn)在理解了結(jié)構(gòu)化方法。
M5 Core2 堆棧 Arduino
- Micropython,不,arduino
我想快點,我正在為 SageMaker 開發(fā) python 筆記本,我知道 M5 Core2 可以使用 micropython。我最初對 micropython 的實驗并不順利,很早就很清楚我試圖做的事情超出了設(shè)備上 micropython 的范圍,因為時間限制。我的下一個目標(biāo)是 arduino,它最終運行良好。該設(shè)備支持多種語言真是太好了。我認(rèn)為轉(zhuǎn)移到 esp-idf 將是一個很好的下一步。
- LM393是麥克風(fēng)嗎?
我以為這是麥克風(fēng),而不僅僅是聲音傳感器。我最初的設(shè)計需要一個觸發(fā)器來啟動錄音,這就是我購買 LM393 的原因,但我也認(rèn)為它是一個更高質(zhì)量的麥克風(fēng)。我必須快速適應(yīng)使用內(nèi)置麥克風(fēng)。
- SM1423 內(nèi)置麥克風(fēng) I2S
內(nèi)置麥克風(fēng)使用 I2S,這與我過去沒有任何關(guān)系。試圖了解如何從 I2S 接口讀取數(shù)據(jù)并將其寫入文件是一項挑戰(zhàn)。關(guān)于 arduino、SDCards 和 wav 文件有一些例子,但并不多。大量的試驗和錯誤。
- 我只想通過 HTTPS 將文件上傳到 S3,有什么用?
我無法計算出 AWS S3 所需的標(biāo)頭,它會不斷被 S3 拒絕。大量的調(diào)試、更改文件類型、查看標(biāo)題等,我最終得到了它的工作。我找不到任何關(guān)于如何使用 arduino 執(zhí)行此操作的明確示例。據(jù)我所知,我的示例是迄今為止唯一公開可用的已知工作示例。
- 嘿,酷,RGB燈,讓我們使用它們,這不是橙色的嗎?
在經(jīng)歷了所有挑戰(zhàn)之后,我決定繞道而行,用 RGB 燈玩一玩。原來 fastled 庫中的 RGB 燈出現(xiàn)故障,我會嘗試制作橙色,它會以不同的方式結(jié)束。一旦我理解了這個問題,在我的代碼中交換值就可以更容易地選擇我的 RGB 顏色,然后讓我的函數(shù)句柄交換。都是些小事...
- 搬家,網(wǎng)速慢,AWS Cloud9 來拯救
在我搬家的項目快結(jié)束時,新位置的下載速度不錯,但上傳可能會更好。通常這不是問題,但我的堆棧嚴(yán)重依賴需要上傳到 AWS ECR 的容器。當(dāng)我處理設(shè)備和分段/預(yù)測 lambda 函數(shù)時,我需要快速迭代代碼更改。進(jìn)行簡單的更改需要 20、30、60 分鐘。
我最終切換到 AWS Cloud9 進(jìn)行 aws-cdk 部署,這將容器更改的時間縮短到 2-5 分鐘。托管服務(wù)的啟動和運行快速、簡單且具有成本效益。切換到 Cloud9 只需幾分鐘,如果沒有它,我將無法完成挑戰(zhàn)。
下一步
這個項目是一個很好的開始,可以端到端地展示您如何使用 M5 Core2 AWS EduKit 解決這個問題。有許多改進(jìn)和未來的機(jī)會可以考慮:
- 設(shè)備注冊
我正在使用 RSA 證書身份驗證(根據(jù) AWS 控制臺),M5 堆棧包含一個安全硬件元素。我最初試圖讓它與 arduino 一起工作的嘗試沒有奏效。AWS 在 M5 Stack 存儲庫中有一個修改過的庫,我懷疑這是它工作所必需的。
- 嘗試不同的麥克風(fēng)
我想使用不同的麥克風(fēng),看看社區(qū)可能會推薦什么來提高音頻質(zhì)量。
- 局部推理
一個不錯的改變是嘗試將模型推理帶到設(shè)備本身,但在 AWS 中更接近邊緣時失敗。這將減少推理時間,但是基于數(shù)據(jù)進(jìn)行訓(xùn)練仍然會很好,后臺上傳可能需要研究。
- 更多數(shù)據(jù)
該模型與數(shù)據(jù)一樣好,它需要更多。看看公共數(shù)據(jù)是否繼續(xù)增長將會很有趣,這可能有助于用新數(shù)據(jù)重新訓(xùn)練模型并提高準(zhǔn)確性。
- 不同的設(shè)備
因為堆棧是解耦的,我們幾乎可以使用任何記錄音頻的設(shè)備來執(zhí)行此操作。我們可以利用任何可能已經(jīng)在錄制音頻的現(xiàn)有公共服務(wù)嗎?
最后的想法
我度過了很愉快的時間來應(yīng)對這個挑戰(zhàn),這是對 M5 Core2 Stack 的一個很好的介紹,它是一個非常強(qiáng)大的設(shè)備,非常適合像這個堆棧或更復(fù)雜的堆棧這樣的快速原型設(shè)計。我喜歡 AWS IoT 如何成為您所有 IoT 相關(guān)服務(wù)的中心點,從該中心服務(wù)與 AWS 安全交互的能力使得設(shè)計和與 DynamoDB 和 Lambda 集成變得容易。
我希望這個項目對其他人有用,可以在此基礎(chǔ)上進(jìn)行構(gòu)建、擴(kuò)展或獲取他們需要的部分,以使他們的原型或產(chǎn)品起步。
感謝 Hackster 和 AWS 將這一挑戰(zhàn)放在一起,并創(chuàng)建了一個社區(qū)以使這成為可能。
快樂編碼。
- COVID-19印度更新程序開源分享
- COVID-19最新項目
- COVID-19危機(jī)-發(fā)燒警報系統(tǒng)開源分享
- COVID-19消毒和監(jiān)測隧道開源項目
- 自動COVID-19貨幣消毒器開源分享
- COVID-19短信警報
- COVID-19額溫槍開源分享
- COVID-19密度追蹤器開源分享
- 適用于Covid-19的免費診斷移動應(yīng)用程序和DIY防護(hù)面罩
- 一款Covid 19疾病監(jiān)測器開源分享
- COVID 19社交距離提醒開源分享
- 基于手勢的Covid 19面具
- covid 19使用arduino洗手
- Covid19健康監(jiān)測系統(tǒng)
- 開源COVID 19肺呼吸機(jī)
- 堆棧和內(nèi)存的基本知識 521次閱讀
- 如何使用音頻接口播放音頻文件 685次閱讀
- 如何使用Polyspace Code Prover來統(tǒng)計堆棧 560次閱讀
- 什么是堆棧溢出?如何分配堆棧空間大??? 4772次閱讀
- 使用D類音頻放大器診斷汽車故障 981次閱讀
- 任務(wù)堆棧的檢測方法 2827次閱讀
- 詳解C/C++堆棧的工作機(jī)制 1161次閱讀
- 一款由3D打印筆制造的針狀SARS-CoV-2基因傳感器 1840次閱讀
- 單片機(jī)堆棧的基本原理解析 4741次閱讀
- 什么是單片機(jī)堆棧?單片機(jī)堆棧有什么作用和原理說明 2w次閱讀
- 詳解單片機(jī)堆棧 6130次閱讀
- 基于單片機(jī)設(shè)計堆棧的基本概念解析 1200次閱讀
- 基于FPGA的16位堆棧處理器的設(shè)計 3541次閱讀
- 實時診斷技術(shù):滿足汽車視音頻傳輸線路需求 1082次閱讀
- 檢測線束中的開路和短路的診斷技術(shù) 5286次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論