一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何使用TensorFlow Lite快速構(gòu)建移動端聲音分類應(yīng)用

Tensorflowers ? 來源:TensorFlow ? 作者:Khanh LeViet ? 2020-12-17 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

聲音分類是機器學習任務(wù)中的一項,您向機器學習模型輸入一些聲音將其分類成預(yù)定義的類別,例如犬吠聲、汽車鳴笛聲等。目前,已有許多聲音分類應(yīng)用,檢測非法砍伐活動、檢測座頭鯨的聲音以更好地了解它們的自然行為。

測非法砍伐活動
https://v.youku.com/v_show/id_XMzQ4MTUxOTIxNg==.html?spm=a2hzp.8253869.0.0

檢測座頭鯨的聲音
https://ai.googleblog.com/2018/10/acoustic-detection-of-humpback-whales.html

我們很高興地宣布,現(xiàn)在 Teachable Machine 可用于訓(xùn)練您自己的聲音分類模型,并可導(dǎo)出 TensorFlow Lite (TFLite) 格式模型。然后,您可以將 TFLite 模型集成到移動應(yīng)用或物聯(lián)網(wǎng)設(shè)備。這是快速運行聲音分類的簡便方式,分類之后,您可以在 Python 中探索構(gòu)建生產(chǎn)模型,再將其導(dǎo)出到 TFLite。

Teachable Machine
https://teachablemachine.withgoogle.com/

模型架構(gòu)

Teachable Machine 使用小型卷積模型對 1 秒音頻樣本進行分類。如上圖所示,模型接收聲譜圖(通過傅里葉變換獲取的聲音的 2D 時頻表示形式)。它首先會處理具有連續(xù)二維卷積層和最大池化層的聲譜圖。模型以多個全連接層結(jié)束,這些層與隨機 dropout 層交錯,用于減少訓(xùn)練過程中的過擬合。模型的最終輸出是一個概率分數(shù)數(shù)組,要訓(xùn)練模型識別的每個聲音類都有一個概率分數(shù)。

在 Python 中使用此方式訓(xùn)練您自己的聲音分類模型,請查看此教程。

教程
https://tensorflow.google.cn/tutorials/audio/simple_audio

使用您自己的數(shù)據(jù)集訓(xùn)練模型

使用您自己的數(shù)據(jù)集訓(xùn)練聲音分類模型有如下兩種方式:

簡單方式:連一行代碼都不需要寫,使用 Teachable Machine 收集訓(xùn)練數(shù)據(jù),并且全部在瀏覽器中訓(xùn)練模型。這種方式適用于想通過交互方式快速構(gòu)建原型的用戶。

穩(wěn)健方式:提前錄制要用作訓(xùn)練數(shù)據(jù)集的聲音,然后使用 Python 訓(xùn)練并認真地評估模型。當然,這種方法的自動化以及可重復(fù)性也高于簡單方式。

使用 Teachable Machine 訓(xùn)練模型

Teachable Machine 是一款可用于創(chuàng)建訓(xùn)練數(shù)據(jù)集和訓(xùn)練多種機器學習模型的 GUI 工具,包括圖像分類、姿態(tài)分類和聲音分類。Teachable Machine 底層使用 TensorFlow.js 訓(xùn)練機器學習模型。您可以將訓(xùn)練的模型導(dǎo)出為 TensorFlow.js 格式,以在網(wǎng)絡(luò)瀏覽器中使用,或者導(dǎo)出為 TensorFlow Lite 格式,以在移動應(yīng)用或物聯(lián)網(wǎng)設(shè)備中使用。

下面是訓(xùn)練模型的步驟:

前往 Teachable Machine(https://teachablemachine.withgoogle.com)網(wǎng)站

創(chuàng)建一個音頻項目

為您想要識別的每個類別錄制一些聲音片段。每個類別只需要 8 秒的聲音

開始訓(xùn)練。完成后,您就可以在實時音頻源上測試您的模型

以 TFLite 格式導(dǎo)出模型

使用 Python 訓(xùn)練模型

如果錄音長達幾個小時或者有數(shù)十個類別,則在網(wǎng)絡(luò)瀏覽器上訓(xùn)練聲音分類可能耗時很長。在這種情況下,您可以提前收集訓(xùn)練數(shù)據(jù)集,將它們轉(zhuǎn)換成 WAV 格式,然后使用此 Colab Notebook(包括將模型轉(zhuǎn)換成 TFLite 格式的步驟)訓(xùn)練聲音分類。Google Colab 提供免費的 GPU,幫助您大幅提升模型訓(xùn)練的速度。

Notebook
https://colab.research.google.com/github/tensorflow/tfjs-models/blob/master/speech-commands/training/browser-fft/training_custom_audio_model_in_python.ipynb

通過 TF Lite 將模型部署到 Android

在 TensorFlow Lite 聲音分類模型訓(xùn)練完成后,您便可將其放到此 Android 示例應(yīng)用中試用。只需按照以下步驟操作: 1. 從 GitHub 克隆示例應(yīng)用:

git clone https://github.com/tensorflow/examples.git 2. 將聲音分類 Android 應(yīng)用導(dǎo)入 Android Studio。您可以在 lite/examples/sound_classification/android 文件夾中找到它。 3. 將模型(soundclassifier.tflite 和 labels.txt)添加到 src/main/assets 文件夾中,替換其中已有的示例模型。

4. 構(gòu)建應(yīng)用并將其部署到 Android 設(shè)備上?,F(xiàn)在,您就可以實時對聲音分類啦!

要將該模型集成到您自己的應(yīng)用中,您可以將 SoundClassifier.kt 類從示例應(yīng)用和已經(jīng)訓(xùn)練的 TFLite 復(fù)制到您的應(yīng)用。然后,您可以按如下方式使用該模型:

1. 從 Activity或 Fragment類初始化 SoundClassifier實例。

var soundClassifier: SoundClassifier soundClassifier = SoundClassifier(context).also { it.lifecycleOwner = context }


2. 開始從設(shè)備的麥克風捕獲實時音頻,并實時分類:

soundClassifier.start()

3. 作為可讀類名稱的映射接收實時分類結(jié)果,以及當前聲音屬于每個特定類別的概率。

let labelName = soundClassifier.labelList[0] // e.g. "Clap" soundClassifier.probabilities.observe(this) { resultMap -> let probability = result[labelName] // e.g. 0.7 }

未來計劃

我們正在開發(fā) iOS 版本的示例應(yīng)用,它將于幾周后發(fā)布。我們還會擴展 TensorFlow Lite Model Maker 以簡化 Python 中聲音分類的訓(xùn)練。敬請期待!

Model Maker
https://tensorflow.google.cn/lite/guide/model_maker

致謝

此項目由 Google 內(nèi)部的多個團隊聯(lián)合開發(fā)。特別感謝:

Google Research:Shanqing Cai、Lisie Lillianfeld

TensorFlow 團隊:Tian Lin

Teachable Machine 團隊:Gautam Bose、Jonas Jongejan

Android 團隊:Saryong Kang、Daniel Galpin、Jean-Michel Trivi、Don Turner

責任編輯:xj

原文標題:使用 TensorFlow Lite 快速構(gòu)建移動端聲音分類應(yīng)用

文章出處:【微信公眾號:TensorFlow】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    66

    文章

    8501

    瀏覽量

    134583
  • 移動端
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    4593
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    330

    瀏覽量

    61170
  • TensorFlow Lite
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    747

原文標題:使用 TensorFlow Lite 快速構(gòu)建移動端聲音分類應(yīng)用

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    無法將Tensorflow Lite模型轉(zhuǎn)換為OpenVINO?格式怎么處理?

    Tensorflow Lite 模型轉(zhuǎn)換為 OpenVINO? 格式。 遇到的錯誤: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostP
    發(fā)表于 06-25 08:27

    FlexBuild構(gòu)建Debian 12,在“tflite_ethosu_delegate”上構(gòu)建失敗了怎么解決?

    /workspace/tn_debian_FlexBuild 構(gòu)建/components_lsdk2412/apps/ml/tflite/tensorflow/lite/tools/cmake
    發(fā)表于 04-01 06:53

    STM32項目分享:STM32智能語音分類垃圾桶

    01—項目簡介1.功能詳解STM32智能語音分類垃圾桶功能如下:1.STM32F103C8T6單片機系統(tǒng)板作為主控單元2.舵機驅(qū)動垃
    的頭像 發(fā)表于 03-15 10:02 ?1479次閱讀
    STM32項目分享:STM32智能語<b class='flag-5'>音分類</b>垃圾桶

    廣和通發(fā)布Fibocom AI Stack,助力客戶快速實現(xiàn)跨平臺跨系統(tǒng)的側(cè)AI部署

    、AI工具鏈、高性能推理引擎、海量模型、支持與服務(wù)一體化的側(cè)AI解決方案,幫助智能設(shè)備快速實現(xiàn)AI能力商用。 Fibocom AI Stack 為適應(yīng)不同側(cè)場景的應(yīng)用,AI Stack具備海量
    發(fā)表于 01-08 11:38 ?270次閱讀
    廣和通發(fā)布Fibocom AI Stack,助力客戶<b class='flag-5'>快速</b>實現(xiàn)跨平臺跨系統(tǒng)的<b class='flag-5'>端</b>側(cè)AI部署

    使用SSR構(gòu)建React應(yīng)用的步驟

    使用SSR(Server-Side Rendering,服務(wù)器渲染)構(gòu)建React應(yīng)用的步驟通常包括以下幾個階段: 一、項目初始化與配置 創(chuàng)建React項目 : 可以使用Create React
    的頭像 發(fā)表于 11-18 11:30 ?835次閱讀

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    : NumPy:用于數(shù)學運算。 TensorFlow:一個開源機器學習庫,Keras是其高級API。 Keras:用于構(gòu)建和訓(xùn)練深度學習模型。 你可以使用pip來安裝這些庫: pip install
    的頭像 發(fā)表于 11-13 10:10 ?1571次閱讀

    用TLV320AIC32芯片采集聲音信號實現(xiàn)MP3編碼,LINE_IN和MIC錄音分別怎么配置?

    我想用TLV320AIC32芯片采集聲音信號實現(xiàn)MP3編碼,采樣率為44.1khz,主模式從模式都可以,LINE_IN和MIC錄音分別怎么配置?芯片的DATASHEET已經(jīng)看過了,但是采集不到聲音
    發(fā)表于 11-08 06:19

    工業(yè)智能網(wǎng)關(guān)快速接入移動OneNET平臺配置操作

    OneNET是由中國移動打造的PaaS物聯(lián)網(wǎng)開放平臺,能夠幫助用戶輕松實現(xiàn)設(shè)備接入與設(shè)備連接,快速完成產(chǎn)品開發(fā)部署,成完整鏈路物聯(lián)網(wǎng)解決方案體系,建設(shè)物聯(lián)網(wǎng)生態(tài)環(huán)境,賦能行業(yè)應(yīng)用
    的頭像 發(fā)表于 11-06 17:24 ?948次閱讀
    工業(yè)智能網(wǎng)關(guān)<b class='flag-5'>快速</b>接入<b class='flag-5'>移動</b>OneNET平臺配置操作

    TLV320AIC3104 HPLOUT和HPROUT能正常輸出雙聲道音頻,為什么HPLCOM沒有聲音HPRCOM是有聲音?

    HPLOUT和HPROUT能正常輸出雙聲道音頻,但HPLCOM沒有聲音,HPRCOM是有聲音的,會是哪里配置出問題呢? 這些是讀取出來的寄存器的值,我對HPxOUT和HPxCOM進行了簡單的分類。
    發(fā)表于 10-16 06:22

    用TAS5711把一路聲音分到兩路輸出,為什么在GDE生成的數(shù)組寫進去對應(yīng)的寄存器,濾波器并不起作用?

    我用TAS5711 ,把一路聲音分到兩路輸出,我想使用這個芯片做兩路分頻,想用CH1 的BQ1做濾波器。我軟件上初始化聲音出來了,但是我不知道為什么在GDE 生成的數(shù)組寫進去對應(yīng)的寄存器,濾波器
    發(fā)表于 10-16 06:18

    推挽膽機與單膽機的聲音區(qū)別

    推挽膽機與單膽機的聲音區(qū)別是一個復(fù)雜且深入的話題,涉及到電子管(膽機)的工作原理、聲音特性以及音樂欣賞等多個方面。 1. 電子管(膽機)的基本原理 電子管,也稱為真空管,是一種利用電子在真空或
    的頭像 發(fā)表于 10-09 18:18 ?2352次閱讀

    快速部署Tensorflow和TFLITE模型在Jacinto7 Soc

    電子發(fā)燒友網(wǎng)站提供《快速部署Tensorflow和TFLITE模型在Jacinto7 Soc.pdf》資料免費下載
    發(fā)表于 09-27 11:41 ?0次下載
    <b class='flag-5'>快速</b>部署<b class='flag-5'>Tensorflow</b>和TFLITE模型在Jacinto7 Soc

    芯盾時代設(shè)備指紋技術(shù)如何助力移動安全

    隨著移動互聯(lián)網(wǎng)的快速發(fā)展,移動安全風險頻發(fā)。設(shè)備指紋技術(shù)憑借高精度的設(shè)備識別能力,能夠幫助企業(yè)提升移動
    的頭像 發(fā)表于 08-28 09:41 ?996次閱讀

    第四章:在 PC 交叉編譯 aarch64 的 tensorflow 開發(fā)環(huán)境并測試

    本文介紹了在 PC 交叉編譯 aarch64 平臺的 tensorflow 庫而非 tensorflow lite 的心酸過程。
    的頭像 發(fā)表于 08-25 11:38 ?2594次閱讀
    第四章:在 PC 交叉編譯 aarch64 的 <b class='flag-5'>tensorflow</b> 開發(fā)環(huán)境并測試

    MESH-LITE子節(jié)點如何連接父節(jié)點?

    在探索MESH-LITE組網(wǎng)時發(fā)現(xiàn)下面這句話: “ESP-MESH-LITE 正式開始構(gòu)建網(wǎng)絡(luò)前,必須確保網(wǎng)絡(luò)中所有節(jié)點具有相同的配置(見 esp_mesh_lite_config_t
    發(fā)表于 07-19 07:19