<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Tyhac covid 19音頻診斷堆棧開源分享

Tyhac covid 19音頻診斷堆棧開源分享

2022-11-04 | zip | 0.29 MB | 次下載 | 免費

資料介紹

描述

為什么選擇泰哈克

在大流行開始時對 COVID-19 進行測試很困難,沒有足夠的測試套件可供使用,而且就可靠性而言,套件本身仍在開發中。幾十年來,醫生一直通過聽病人咳嗽和呼吸來診斷各種疾病。研究人員已經對開發機器學習模型進行了研究,以預測患者是否患有支氣管炎,我們可以將相同的方法應用于 COVID-19 嗎?

是的,答案是肯定的,麻省理工學院和其他人已經做到了……并且正在制作一個應用程序……

麻省理工學院研究的關鍵信息之一是,他們能夠使用他們訓練有素的模型識別出沒有病毒癥狀的人,事實證明咳嗽是關鍵。

現在,麻省理工學院這次擊敗了我們,但正如麻省理工學院已經指出的那樣,無癥狀的人可能不會急于接受測試,如果麻省理工學院發布一個應用程序,它仍然需要用戶下載和使用該應用程序。

Tyhac 旨在通過提供一種被動聽音設備來解決這些問題,該設備可以檢測咳嗽,然后對樣本進行深度學習推理以確定 COVID-19 是陽性還是陰性。通過在辦公室、電梯、候診室等公共場所安裝 tyhac,我們可以通過響應檢測到的事件來幫助更好地保護我們的社區。我們還可以使用 tyhac 更好地了解社區在流感季節的反應,以及是否在工作場所管理健康習慣活動,以確保工人照顧好自己,并在可能的情況下使用遠程工作來限制傳播。

它是如何工作的?

得益于 M5 Core2 堆棧和 AWS,解決方案本身非常簡單,這讓一切變得非常簡單。它將貫穿設備的高級設計和 AWS 配置:

現在我們對堆棧有了更好的理解,我們可以討論一些關鍵特性,然后進入演示。該設備設計為在兩種模式下運行:

被動的

此模式專為安裝在工作場所、電梯、候診室、辦公室隔間、家庭等中的設備而開發。LM393 麥克風傳感器具有可聞噪音閾值,一旦超過該閾值,SPM1423 內部 I2S 麥克風將開始錄音一個 10 秒的音頻樣本。

臨床醫生(現場單位)

此模式專為醫療專業人員設計,在此模式下,設備不使用 LM393,技術上不需要。如果喜歡移動設備,該設備可以使用電池(包括在設備中)。

?
tyhac臨床醫生模式
?

用戶會看到一個顯示兩個選項的菜單:

提交

此按鈕旨在供醫療專業人員提交陽性樣本,我已將其包含在內,以便我們接收標記樣本以繼續訓練模型并改進預測。

測試

此按鈕用于診斷患者,一旦按下按鈕,它將使用內部 SPM1423 I2S 麥克風錄制 10 秒的音頻。

上傳

兩種模式都將音頻樣本記錄為 WAV 文件并寫入設備上的 SD 卡。然后設備將發布到 S3 Pre-signed URL MQTT 主題以請求安全 url 來上傳 WAV 文件。收到后,設備將開始通過安全 HTTPS 上傳。

驗證

文件上傳到 AWS S3 后,存儲桶觸發事件將調用暫存 Lambda 函數。暫存過程對樣本進行一系列檢查:

  • 樣本是有效的 WAV 文件嗎?
  • 樣本是咳嗽嗎?
  • 擴充文件
  • 歸檔文件并復制到最終存儲桶

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

推理/預測

在最終存儲桶中創建文件后,將從 S3 事件調用推理 Lambda 函數。這將加載經過訓練的 tyhac 模型并對樣本進行預測。結果通過 MQTT 返回。

演示

我準備了一個演示,它將運行一些功能,以便我們可以看到它的作用。演示顯示:

  • 啟動
  • 被動covid-19檢測
  • 臨床模式測試

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

在本節中,我們將逐步啟動和運行您的設置。請務必查看 BOM 以確保您擁有運行構建所需的組件。

除了 BOM,您還需要一個有效的 AWS 賬戶,因為這需要使用 AWS 服務(太棒了?。。。?。如果您沒有賬戶,請按照AWS 官方文檔設置賬戶。

專業提示:云需要花錢,我強烈建議您了解構建成本并使用計費警報設置您滿意的閾值。我創建了一個單獨的項目來自動執行此操作,請隨時查看。

構建這個項目所需的一切(不包括物理資產)都可以在talkncloud github repo 上開源。以下內容將作為“快速入門”幫助您啟動和運行。

注意:您將在項目代碼和 github 存儲庫中找到其他信息來補充這篇文章。

項目文件夾結構

瀏覽存儲庫后,您會注意到該項目已分為三個單獨的文件夾:

AWS-CDK

AWS Cloud Development Kit (CDK) 文件夾包含在云中部署所需服務所需的一切。如果您之前參考高級設計圖,圖中的所有內容都將自動為您提供。這就是基礎設施即代碼 (IaC),通過將所有內容開發為代碼,我可以提供一致的可重復環境,以確保其按設計工作。另一種方法是您需要手動創建所有內容(無聊)。

注意:CDK 是一個很棒的項目,如果您在熟悉開發定義風格的語言(如 JSON 或 YAML)之前看過 IaC。CDK 允許您將諸如 typescript、python 之類的編程語言帶到聚會中,如果您正在瀏覽 hackster,我相信您會喜歡的。

AWS-物聯網

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

AWS-SAGEMaker

如果您正在深入學習,此文件夾包含執行數據準備、模型訓練和模型托管所需的一切。高級設計中使用的訓練模型包含在項目中。對于此構建,您根本不需要使用 sagemaker。Sagemaker 不包含在 aws-cdk 部署中。

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

專業提示:我正在使用 fastai 和 fastaudio ,如果您正在考慮進行任何深度學習,我強烈建議您檢查一下。

第一步:克隆倉庫

讓我們通過準備本地環境來工作,我們將從 cdk 開始,然后移動到設備上。

克隆倉庫

讓我們克隆所有 tyhac 的優點...

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

Step2:AWS-CDK部署AWS

該項目需要使用 docker 容器,這些容器將使用 AWS Elastic Container Registry 構建并存儲在您的 AWS 賬戶中。這些容器用于 lambda 函數以執行分段和推理。如果您安裝并運行了 docker,您可以在本地構建這些容器,CDK 會處理所有事情。如果您沒有這些或您的互聯網速度很慢,我可以推薦AWS Cloud9。容器將上傳大約 3-4GB。

您不需要了解有關容器的任何信息,一切都會得到照顧。

如果你要去本地,請參考 docker doco 進行安裝和配置。如果您使用的是 Cloud9,它已經安裝。

注意:Cloud9 不是免費的,請參閱 AWS 定價,Cloud9 未包含在此構建的最終成本中,因為它不是必需的。

除了 CDK,我們將使用projen,另一個很棒的項目,這簡化了 CDK 和類似項目的構建和維護。這假設您已經安裝了節點,有關詳細信息,請參閱節點文檔。

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

您需要下載并安裝 AWS cli ,這將允許您向 AWS 進行身份驗證并執行與云相關的操作,這是我們需要將 CDK 部署到您的帳戶中的。

安裝 AWS cli 后,您需要配置客戶端以添加訪問密鑰。這將授予 AWS cli 訪問您賬戶的權限。有關配置,請參閱AWS 文檔。

專業提示:AWS 所指的密鑰是密碼,請像這樣對待它們。不要共享它們并限制他們的訪問。如果這是您第一次進入 AWS,請在此構建結束時刪除您的憑證文件以及您在 AWS 賬戶中生成的任何密鑰。如果需要,您可以隨時創建更多。最好不要把鑰匙掛在身邊。

現在您已經安裝了所有東西,并且您已經為您的 AWS cli 配置了訪問權限,您可以為 tyhac 預置后端 AWS 資源、權限、策略和配置。

projen
projen deploy

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

?

讓我們驗證幾件事,我不會詳細介紹,但如果您愿意,請了解 CDK 使用 AWS Cloudformation,即 IaC 'OG'。使用控制臺前往 cloudformation 并找到部署:

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

恭喜,您剛剛構建了容器、函數、存儲桶、數據庫、物聯網等。很酷!

步驟 3:AWS-IOT 構建和上傳 tyhac arduino 固件

現在,您可能最感興趣的部分是 tyhac。現在我們的 AWS 后端正在等待并準備好迎接您的事情,我們可以繼續構建我們的設備。

我強烈推薦AWS EduKit 上的示例和指南,這是從設置環境到運行示例項目的豐富信息。最好通過其中的一兩個來感受一下。

LM393麥克風單元SD

這部分很簡單,如果您使用的是 LM393 單元,只需將??傳感器連接到設備上的端口 B。這在 LM393 的外殼上標明。

將 micro SD 卡插入設備的 SD 卡插槽。

平臺

我正在使用 platformio 來提供功能豐富且易于擴展的 Visual Studio 代碼。請參閱Visual Studio 代碼下載和安裝和platformio 安裝以使它們運行。

現在讓我們進入 aws-iot 文件夾:

cd aws-iot
code

這應該在該位置打開 Visual Studio 代碼編輯器,否則打開 Visual Studio 代碼并打開克隆的存儲庫。

我們將使用 platformio 打開 iot 項目,這將創建連接到設備和使用 platformio 所需的環境:

poYBAGNkcRWASwwZAAFrzj_O3-0744.png
使用 platformio 打開 tyhac
?

文件夾結構

文件夾結構主要基于默認的 platformio 框架,您會注意到包含的自述文件比我能更好地解釋這一點。

poYBAGNkcRiAPANoAABitZGkZZI379.png
tyhac 物聯網文件夾結構
?

我想強調幾項:

certs - 安全 HTTPS 通信所需的公共 AWS 證書

實用程序 - 我們將使用它來自動使用 AWS 配置事物

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

lib/env - 你需要為你的環境更新它,我們將在下一節中詳細討論

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

環境樣本.h

使用編輯器打開環境文件,您需要將示例文件復制到名為env.h的相同位置

更新您的環境的設置,該文件包含有關如何檢索您需要的 AWS 相關信息的有用詳細信息。例子:

您的 AWS 賬戶:

aws sts get-caller-identity

您的 AWS IoT 終端節點:

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

設備配置

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

我提供了一個腳本來為你處理這個問題。如果您遵循AWS EduKit 指南,您會注意到這是一種類似的方法。該腳本將在 AWS IoT 中注冊事物,生成證書并將證書與我們之前在 CDK 堆棧中創建的策略相關聯。

cd utilities/AWS_IoT_registration_helper
./registration_helper.sh

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

設備構建和上傳

連接 M5 Core2 AWS EduKit 設備、完成 AWS 后端、為您的環境預置和配置設備后,您就可以構建固件并上傳到您的設備了。

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

pYYBAGNkcRqALzuNAAAHqoeHOu4755.png
platformio 工具欄
?

勾選=構建

箭頭 = 上傳到設備

垃圾箱/垃圾=干凈

插頭 = 監控串行輸出

終端 = 新的 platformio 終端

使用勾選,構建項目,然后使用箭頭上傳到設備,終端輸出將顯示當前狀態。一旦上傳完成,它應該會自動切換到監聽輸出,但如果沒有按下插頭按鈕切換到監聽。

?

您可以看到在正常操作下,串行輸出將提供有關 tyhac 操作方式的一些有用細節。在下一節中,我將詳細介紹每個不同的指標和消息的含義。

專業提示:如果您單擊工具欄中的 platformio 監視器按鈕,請注意按鈕位置是否像視頻中那樣移動。啊。

設備狀態指示燈串行輸出

M5 Stack Core2 AWS EduKit 在設備的兩側帶有兩個 RGB 條,所以我想我們也可以使用它們。現在您的設備正在運行 tyhac 固件并與 AWS 通信,您可能會注意到發生了不同的指標。

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

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

紅色 = 嚴重錯誤,很可能無法連接到 Wifi

白色 = 正常操作模式

注意:預測顯示使用相同的顏色。例如正負綠色和紅色。

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

pYYBAGNkcSOAd42iAADrV7ysITc871.png
tyhac 串行輸出
?

MQTT = 訂閱、接收、連接

Heartbeat = 以當前模式每分鐘向 AWS 發送一條心跳 MQTT 消息

NTP = 與遠程時間服務器同步

Screen = LCD 屏幕相關項目,例如更改顯示

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

Tyhac 設備庫

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

pYYBAGNkcSWAaTySAAAiFxS7OH0091.png
tyhac 設備庫
?

音頻 = 與將音頻從麥克風錄制到 SD 卡相關的所有內容

env = 您的環境特定配置

mqtt = 與 AWS 發布/訂閱 MQTT 相關的所有內容

ntp = 使用遠程 NTP 服務器設置時鐘

rgbcolor = 管理 RGB 條帶

ui = 與液晶屏界面相關的一切

上傳 = 與通過 HTTPS 上傳 AWS S3 相關的所有內容

version = 只是一個版本文件

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

Step4:AWS-Sagemaker 可選模型訓練

關于 sagemaker,我不會過多介紹。正如我之前所說,除非您想自己理解或希望維護模型,否則您不需要執行此部分。我對 sagemaker 采取的基本方法是我需要 CPU、GPU 和存儲,而我根本沒有,AWS 以低成本按需為我們提供這些。

專業提示:我已采取措施通過使用現貨市場進行培訓來降低與 sagemaker 相關的成本,這應該會節省約 70% 的成本,具體取決于您所在的地區和 AWS 市場。但是,這仍然是該項目中成本最高的部分,請確保您監控成本并設置計費警報并在完成后刪除任何內容。

AWS Sagemaker 工作室

我最終使用了sagemaker studio ,因為它為我提供了很多功能,我可以使用 Studio IDE 在標準瀏覽器中構建、訓練和部署所有功能,考慮到我們的時間框架很短,這很有意義。AWS 提供了更多關于為什么首選 Studio 的信息。如果您在 AWS 中有自己的設置或標準筆記本實例,您應該能夠在本地執行此操作。這將進一步降低成本,但會花費您更多的時間。

創建賢者工作室

使用瀏覽器中的 AWS 控制臺前往 sagemaker 并使用登錄頁面點擊橙色的“SageMaker Studio”按鈕。

poYBAGNkcSiAeMM1AAFLaAHn69k545.png
AWS SageMaker Studio 入門
?

使用“快速啟動”選項,這將為您設置和環境所需的權限。一旦您接受配置 AWS 將開始配置您的環境,這將需要幾分鐘但只是一次。

當您的配置準備就緒時,您會注意到一條橫幅消息,如下所示:

pYYBAGNkcSqAcJuHAABEt_qxYZQ189.png
SageMaker 工作室已準備就緒
?

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

poYBAGNkcSyAOijBAAAUWYJOQDM068.png
打開工作室
?

如果這不可用,您的環境可能仍在配置中,或者您需要使用“分配用戶和組”按鈕來關聯您的用戶帳戶。

啟動 SageMaker studio 后,您會看到一個可愛的 SageMaker 徽標加載屏幕,第一次啟動往往需要更長的時間,之后會更快。

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

加載 Studio 后,您將進入 Studio IDE:

pYYBAGNkcTOARKTaAALh40ILYNk612.png
工作室 IDE
?

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

poYBAGNkcTaADYUxAAAZZRjxjr4511.png
Git 倉庫
?

克隆后,您會注意到熟悉的 tyhac 代碼庫結構,導航到 aws-sagemaker 以使用我們需要的文件:

poYBAGNkcTiAAIfGAACppae-EkE613.png
在 Sagemaker Studio 中克隆的 tyhac 存儲庫
?

用于 fastai 培訓的Docker容器

當您需要執行訓練時,AWS SageMaker 將提交訓練作業并啟動您為訓練指定的計算、GPU、內存實例或實例。AWS SageMaker 為各種框架提供了一堆預配置的容器,讓您可以繼續使用,例如 tensorflow、pytorch 等。當您想要使用不同的東西時,您可以使用您的自定義框架構建容器。這就是我所做的。存儲庫中的 docker 文件夾包含構建容器并將其推送到您的 AWS ECR 所需的代碼,以供 SageMaker 在需要時使用。

專業提示:與前面的提示一樣,如果您的互聯網速度較慢或不想配置 docker 等,AWS Cloud9 在這里是一個很大的幫助。

您會注意到兩個容器,一個用于訓練,一個用于推理。如果您想訓練模型并在 tyhac 后端替換它,則無需擔心推理容器。如果您想使用專用 SageMaker 端點運行推理,則包含容器代碼和筆記本。

要構建容器,您需要再次使用 aws cli 進行身份驗證,更新 Dockerfile 以反映您的 AWS 區域,然后只需運行 shell 腳本:

./build_and_push.sh

SageMaker 圖表

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

pYYBAGNkcTuAKOAIAABhMk61Opc592.png
泰哈克圣人
?

使用筆記本_

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

pYYBAGNkcT6AWJ-PAAIuqw9qxSQ243.png
運行筆記本
?

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

poYBAGNkcUKAcuXqAAH74Q93s64706.png
改變內核
?

數據可視化

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

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

我們可以進一步挖掘數據集以顯示我們當前的標簽和頻譜圖:

pYYBAGNkcUqABvOMAAIrnaSAMEY102.png
批量拆分
?

訓練

一旦您對 dataprep 感到滿意,您就可以進入訓練筆記本,這將運行 sagemaker 訓練作業并將模型文件輸出到 s3,您可以更新筆記本中的超參數和模型架構:

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',

我開發的 notebook 會輸出一些圖像,您可以使用這些圖像查看模型性能:

poYBAGNkcUyAGlEEAAAvljM0p4Q781.png
泰哈克模型 roc
?

在 AWS 中更新模型

如果您對模型感到滿意,您只需從 sagemaker S3 存儲桶下載 model.tar.gz,提取內容并將 export.pkl 復制到 aws-cdk/src/lambda/predictor/model 文件夾中。

然后更新您的 AWS CDK 部署:

cd aws-cdk
projen deploy

現在,當 tyhac M5 Core AWS EduKit 事物接收到新樣本以對其執行推理時,將使用您新訓練的模型。簡單的!

第五步:清理

一旦您完成了項目并且您不再需要運行任何 tyhac AWS 堆棧,我們應該刪除它們。

因為我們使用了 CDK,所以移除堆棧很容易

您首先需要使用 AWS 管理控制臺從 AWS IoT 核心 CDK 策略中刪除設備證書,然后:

cd aws-cdk
projen destroy

專業提示:您還可以通過 AWS 控制臺使用 cloudformation 來刪除堆棧。

這將留下以下需要手動刪除的內容:

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

導航到 AWS 控制臺中的這些服務以清空和刪除它們。

如果您配置了 SageMaker Studio:

  • 導航到 SageMaker Studio
  • 點擊用戶,刪除關聯應用
  • 刪除用戶
  • 回去
  • 刪除工作室
pYYBAGNkcU-AeLQjAAA7rGHo76w884.png
刪除 Studio 應用程序
?

導航到 AWS EFS

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

專業提示:如果您有多個卷檢查標簽,SageMaker 會標記與 SageMaker 關聯的卷。

困難/挑戰

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

使用SageMaker 進行深度學習

  • 你怎么能從音頻中預測任何東西?

這是一個兔子洞,試圖了解我如何使用音頻咳嗽來預測任何事情。一旦我開始研究這個問題,我就能找到一些非常棒的信息和研究論文(參見 repo)。最后,最好的方法是使用具有已知架構的梅爾譜圖和卷積神經網絡。使用音頻圖像,而不是查看音頻樣本的數字數據點。

  • 資料準備,資料準備,資料準備

這似乎永無止境,下載數據,排序數據,找到標簽,沖洗并重復。發現沒有足夠的數據,盡可能調整以獲得更多數據,然后意識到我在數據準備中犯了一個錯誤,需要重做。耗時但關鍵的堆棧部分。

  • 超參數、音頻參數、框架

時代?優化器?一種全新的語言,我在訓練一個完全有效的模型時遇到了很多麻煩。嘗試了各種框架但沒有成功,我幾乎放棄了這個項目,并準備寫下我的失敗。我會不斷地訓練一個 ROC 為 0.5 的模型,這是一個完全沒用的模型。FastAI 真的把我從我自己那里救了出來,一旦我改用 fastai,我就能夠訓練一些有用的東西,將它與 fastaudio 配對對音頻組件有相同的效果。

  • 只是使用更多的 CPU 內核,反正誰需要 GPU

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

  • 好的,我有一個訓練有素的模型,現在呢?

自定義容器和 SageMaker 推理。這過于復雜,如果您想使用 SageMaker 端點,您需要在 SageMaker 推理要求的框架內工作。您的服務腳本中需要某些功能,這些功能只需要存在即可。我為此奮斗了最長時間,認為這不是真的,但現在理解了結構化方法。

M5 Core2 堆棧 Arduino

  • Micropython,不,arduino

我想快點,我正在為 SageMaker 開發 python 筆記本,我知道 M5 Core2 可以使用 micropython。我最初對 micropython 的實驗并不順利,很早就很清楚我試圖做的事情超出了設備上 micropython 的范圍,因為時間限制。我的下一個目標是 arduino,它最終運行良好。該設備支持多種語言真是太好了。我認為轉移到 esp-idf 將是一個很好的下一步。

  • LM393是麥克風嗎?

我以為這是麥克風,而不僅僅是聲音傳感器。我最初的設計需要一個觸發器來啟動錄音,這就是我購買 LM393 的原因,但我也認為它是一個更高質量的麥克風。我必須快速適應使用內置麥克風。

  • SM1423 內置麥克風 I2S

內置麥克風使用 I2S,這與我過去沒有任何關系。試圖了解如何從 I2S 接口讀取數據并將其寫入文件是一項挑戰。關于 arduino、SDCards 和 wav 文件有一些例子,但并不多。大量的試驗和錯誤。

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

我無法計算出 AWS S3 所需的標頭,它會不斷被 S3 拒絕。大量的調試、更改文件類型、查看標題等,我最終得到了它的工作。我找不到任何關于如何使用 arduino 執行此操作的明確示例。據我所知,我的示例是迄今為止唯一公開可用的已知工作示例。

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

在經歷了所有挑戰之后,我決定繞道而行,用 RGB 燈玩一玩。原來 fastled 庫中的 RGB 燈出現故障,我會嘗試制作橙色,它會以不同的方式結束。一旦我理解了這個問題,在我的代碼中交換值就可以更容易地選擇我的 RGB 顏色,然后讓我的函數句柄交換。都是些小事...

  • 搬家,網速慢,AWS Cloud9 來拯救

在我搬家的項目快結束時,新位置的下載速度不錯,但上傳可能會更好。通常這不是問題,但我的堆棧嚴重依賴需要上傳到 AWS ECR 的容器。當我處理設備和分段/預測 lambda 函數時,我需要快速迭代代碼更改。進行簡單的更改需要 20、30、60 分鐘。

我最終切換到 AWS Cloud9 進行 aws-cdk 部署,這將容器更改的時間縮短到 2-5 分鐘。托管服務的啟動和運行快速、簡單且具有成本效益。切換到 Cloud9 只需幾分鐘,如果沒有它,我將無法完成挑戰。

下一步

這個項目是一個很好的開始,可以端到端地展示您如何使用 M5 Core2 AWS EduKit 解決這個問題。有許多改進和未來的機會可以考慮:

  • 設備注冊

我正在使用 RSA 證書身份驗證(根據 AWS 控制臺),M5 堆棧包含一個安全硬件元素。我最初試圖讓它與 arduino 一起工作的嘗試沒有奏效。AWS 在 M5 Stack 存儲庫中有一個修改過的庫,我懷疑這是它工作所必需的。

  • 嘗試不同的麥克風

我想使用不同的麥克風,看看社區可能會推薦什么來提高音頻質量。

  • 局部推理

一個不錯的改變是嘗試將模型推理帶到設備本身,但在 AWS 中更接近邊緣時失敗。這將減少推理時間,但是基于數據進行訓練仍然會很好,后臺上傳可能需要研究。

  • 更多數據

該模型與數據一樣好,它需要更多。看看公共數據是否繼續增長將會很有趣,這可能有助于用新數據重新訓練模型并提高準確性。

  • 不同的設備

因為堆棧是解耦的,我們幾乎可以使用任何記錄音頻的設備來執行此操作。我們可以利用任何可能已經在錄制音頻的現有公共服務嗎?

最后的想法

我度過了很愉快的時間來應對這個挑戰,這是對 M5 Core2 Stack 的一個很好的介紹,它是一個非常強大的設備,非常適合像這個堆?;蚋鼜碗s的堆棧這樣的快速原型設計。我喜歡 AWS IoT 如何成為您所有 IoT 相關服務的中心點,從該中心服務與 AWS 安全交互的能力使得設計和與 DynamoDB 和 Lambda 集成變得容易。

我希望這個項目對其他人有用,可以在此基礎上進行構建、擴展或獲取他們需要的部分,以使他們的原型或產品起步。

感謝 Hackster 和 AWS 將這一挑戰放在一起,并創建了一個社區以使這成為可能。

快樂編碼。


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

評論

查看更多

下載排行

本周

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

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>