在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

TensorFlow Lite是TensorFlow針對移動和嵌入式設備的輕量級解決方案

Tensorflowers ? 來源:未知 ? 作者:李倩 ? 2018-07-31 15:37 ? 次閱讀

TensorFlow Lite 是 TensorFlow 針對移動和嵌入式設備的輕量級解決方案。它允許您在低延遲的移動設備上運行機器學習模型,因此您可以利用它進行分類,回歸或獲取你想要的任何東西,而無需與服務器交互。

注:TensorFlow Lite 鏈接

https://www.tensorflow.org/mobile/tflite/

目前,TensorFlow Lite 為 AndroidiOS 設備提供了 C ++ API,并且為 Android 開發人員提供了 Java Wrapper。此外,在 Android 設備上,解釋器還可以使用 Android 經網絡 API 進行硬件加速,否則它將默認為 CPU 執行。在本文中,我將重點介紹如何在 Android 應用中使用它。

TensorFlow Lite 包含一個運行時環境,我們可以在其上運行預先存在的模型,并且它還提供了一套工具,可以為移動和嵌入式設備準備模型。

TensorFlow Lite 目前尚未支持訓練模型。我們可以在高性能的機器上訓練模型,然后將該模型轉換為 TFLITE 格式,最終將其加載到解釋器中。

TensorFlow Lite 目前處于開發人員預覽階段,因此可能不支持 TensorFlow 模型中的所有操作。但是它支持常見的圖像分類模型,包括 Inception 和 MobileNets。在本文中,您將了解如何在 Android 上運行 MobileNet 模型。該應用程序將查看相機信息并使用經過訓練的 MobileNet 對圖像進行分類。

將 TensorFlow Lite 與 MobileNets 配合使用

例如,在這張圖片中,我將相機對準了我最喜歡的咖啡杯,應用程序將它歸類為 “杯子”。有趣的是,它有一個寬大的手柄,你可以看到它非常像一個茶壺!

這是如何做到的?它使用 MobileNet 模型,該模型針對移動設備上的多種圖像場景進行設計和優化,包括對象檢測,分類,面部屬性檢測和地標識別。

MobileNet 有許多變種,在此站點托管了 TensorFlow Lite 的訓練模型。你會注意到每個文件都是一個包含兩個文件的 zip 包:一個 labels.txt 文件,其中包含與模型相關的標簽;一個 tflite 文件,其中包含可以與 TensorFlow Lite 一起使用的模型版本。如果你想要構建一個使用 MobileNets 的 Android 應用程序,則需要從此站點下載模型。你馬上就會看到。

使用 TensorFlow Lite 構建 Android 應用程序

要構建使用 TensorFlow Lite 的 Android 應用程序,首先需要將 tensorflow-lite 庫添加到您的應用程序中。這可以通過將以下行添加到 build.gradle 文件的依賴項部分來完成:

compile ‘org.tensorflow:tensorflow-lite:+’

完成此操作后,你可以導入 TensorFlow Lite 解釋器。解釋器通過為其提供一組輸入來加載模型并允許你運行它。然后 TensorFlow Lite 將執行模型并輸出結果,這真的很簡單。

import org.tensorflow.lite.Interpreter;

要使用它,你需要創建一個 Interpreter 實例,然后使用 MappedByteBuffer 加載它。

protected Interpreter tflite;tflite = new Interpreter(loadModelFile(activity));

在 GitHub 上的 TensorFlow Lite 示例中有一個輔助函數。只需確保函數 getModelPath() 返回一個指向特定模型的路徑,并且加載該模型。

注:TensorFlow Lite 示例鏈接

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/java/demo/app/src/main/java/com/example/android/tflitecamerademo/ImageClassifier.java

/** Memory-map the model file in Assets. */privateMappedByteBuffer loadModelFile(Activity activity)throwsIOException {AssetFileDescriptor fileDescriptor = activity.getAssets().openFd(getModelPath());FileInputStream inputStream =newFileInputStream(fileDescriptor.getFileDescriptor());FileChannel fileChannel = inputStream.getChannel();longstartOffset = fileDescriptor.getStartOffset();longdeclaredLength = fileDescriptor.getDeclaredLength();returnfileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength);}

然后,要對圖像進行分類,我們只需要在 Interpeter 上調用 run 方法,并將圖像數據和標簽數組傳遞給它,它將完成剩下的工作:

tflite.run(imgData, labelProbArray);

詳細介紹如何從相機中獲取圖像,并為 tflite 做準備超出了本文的范圍,但是在 tensorflow github 中有一個完整示例詳細闡明了這一切。通過單步執行此示例,你可以了解到如何從相機中獲取圖像,如何利用數據進行分類,以及如何采用將加權輸出優先級列表從模型映射到標簽數組的方式來處理輸出。

要運行該示例,請確保擁有完整的 TensorFlow 源代碼。你可以通過以下方式獲取源代碼:

> git clone https://www.github.com/tensorflow/tensorflow

完成后,你可以利用 Android Studio 打開 TensorFlow 示例項目(示例代碼路徑為:

/tensorflow/contrib/lite/java/demo):

演示文件不包含任何模型,但我們需要使用 mobilenet_quant_v1_224.tflite 文件,我們可以通過這個網站下載該模型。最后解壓縮并將其放在 assets 文件夾中。

注:這個網站鏈接

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/g3doc/models.md

現在應該能夠運行該應用程序了。

請注意,該應用程序同時支持 Inception 和 Quantized MobileNet。它默認支持后者,因此您需要確保模型存在,否則應用程序將運行失敗??梢栽?ImageClassifier.java 文件中找到用于從相機捕獲數據并將其轉換為字節緩沖區以便加載到模型中的代碼。

核心功能可以在 Camera2BasicFragment.java 文件的 classifyFrame() 方法中找到:

/** Classifies a frame from the preview stream. */

private voidclassifyFrame() { if(classifier==null|| getActivity() ==null||cameraDevice== null) { showToast(“Uninitialized Classifier or invalid context.”) return;}Bitmap bitmap =textureView.getBitmap( classifier.getImageSizeX(),classifier.getImageSizeY());String textToShow =classifier.classifyFrame(bitmap);bitmap.recycle();showToast(textToShow);}

在這里,您可以看到位圖加載并調整為適合分類器的大小。然后 classifyFrame() 方法將返回包含與圖像匹配的前 3 個類的列表及其權重的文本。

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

    關注

    66

    文章

    8418

    瀏覽量

    132634
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60536
  • TensorFlow Lite
    +關注

    關注

    0

    文章

    26

    瀏覽量

    626

原文標題:在 Android 上使用 TensorFlow Lite

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一個面向嵌入式系統的輕量級框架

    mr-library 是一個面向嵌入式系統的輕量級框架,提供統一的底層驅動設備模型以及基礎服務功能,具有模塊化設計、可配置性和擴展性的特點, 可幫助開發者快速構建嵌入式應用程序。
    發表于 09-01 12:22 ?581次閱讀

    如何使用i.MX RT1060跨接MCU通過TensorFlow Lite實施數字識別

    獲得了Google的出色在線文檔,學習資源,指南和示例。為了使受計算限制的機器(例如移動設備嵌入式解決方案)能夠運行TensorFlow
    發表于 09-29 09:40

    【飛凌嵌入式OKMX8MP-C 開發板試用體驗】tensorflow-lite-2.6編譯&運行label_image例程

    本帖最后由 donatello1996 于 2022-4-18 23:35 編輯 【飛凌嵌入式OKMX8MP-C 開發板試用體驗】tensorflow-lite-2.6編譯&運行
    發表于 02-21 00:26

    如何將TensorFlow Lite應用程序移植到Arm Cortex-M55系統上

    ARM Cortex-M55處理器是第一個采用ARMv8.1-M架構的處理器,該架構包括ARM Helium技術(也稱為M-profile矢量擴展(MVE))的實現。Helium技術可在下一代嵌入式
    發表于 03-31 10:40

    tensorflow lite上的未定義引用是怎么回事?

    我在 LPC55S69 上構建了一個 cifar-10 tensorflow lite 項目,在那里我得到了很多與 TensorFlow lite 相關的未定義引用。在附件里(請用no
    發表于 04-04 08:09

    是什么導致TensorFlow Lite的NNAPI Delegate被棄用?

    在i.MX Machine Learning User\'s Guide LF5.15.5-1.0.0中,我發現了如下release note語句:TensorFlow Lite 的 NNAPI
    發表于 04-07 10:25

    tensorflow-lite可以通過NPU加速運行嗎?

    你能幫我確定構建/安裝所需的最小包,以便 tensorflow-lite 可以通過 NPU 加速運行嗎?我知道 NPX 將它捆綁為 packagegroup-imx-ml - 但它包含的內容遠遠
    發表于 04-14 08:17

    如何使用meta-imx層中提供的tensorflow-lite編譯圖像?

    我們正在嘗試使用 meta-imx 層中提供的 tensorflow-lite 編譯圖像。我們沒有任何 自定義更改/bbappends (Highlight to read)sources
    發表于 05-29 06:55

    如何使用TensorFlow將神經網絡模型部署到移動嵌入式設備

    有很多方法可以將經過訓練的神經網絡模型部署到移動嵌入式設備上。不同的框架在各種平臺上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如And
    發表于 08-02 06:43

    基于Linux的輕量級嵌入式GUI系統及實現

    本文介紹了嵌入式圖形用戶界面(GUI)的特點、發展概況以及嵌入式圖形用戶界的實現方法。針對開發自主、輕型、占用資源少可配置的GUI系統,提出了輕量級GUI系統的設計實現
    發表于 08-31 11:52 ?23次下載

    用于移動設備的框架TensorFlow Lite發布重大更新

    在Pixel 3的人像模式(Portrait mode)中,與使用CPU相比,使用GPU的Tensorflow Lite,用于摳圖/背景虛化的前景-背景分隔模型加速了4倍以上。新深度估計(depth estimation)模型加速了10倍以上。
    的頭像 發表于 01-21 13:45 ?3681次閱讀

    TensorFlow Lite 微控制器

    TensorFlow Lite for Microcontrollers 是 TensorFlow Lite 的一個實驗性移植版本,它適用于微控制器和其他一些僅有數千字節內存的
    的頭像 發表于 08-05 10:11 ?5w次閱讀
    <b class='flag-5'>TensorFlow</b> <b class='flag-5'>Lite</b> 微控制器

    基于TensorFlow Lite的幾項技術更新

    TensorFlow Lite 版本現已在 TensorFlow Hub 上推出。我們對該版本進行了一些可提升準確率的更新,并使其與硬件加速器兼容,其中包括 GPU 和獲得 Android NN API 支持的其他
    的頭像 發表于 09-23 15:38 ?2197次閱讀

    Tensorflow Lite 使用與優化

    Tensorflow Lite 的基本框架如上。數據存儲的結構是Flatbuffer。執行上次結構支持Keras 和Estimator和Legacy等等。而下層支持NN API、GP...
    發表于 01-25 17:48 ?2次下載
    <b class='flag-5'>Tensorflow</b> <b class='flag-5'>Lite</b> 使用與優化

    深度詳解嵌入式系統專用輕量級框架設計

    MR 框架是專為嵌入式系統設計的輕量級框架。充分考慮了嵌入式系統在資源和性能方面的需求。通過提供標準化的設備管理接口,極大簡化了嵌入式應用開
    發表于 04-27 02:32 ?993次閱讀
    深度詳解<b class='flag-5'>嵌入式</b>系統專用<b class='flag-5'>輕量級</b>框架設計
    主站蜘蛛池模板: 免费观看一区二区| 特级免费毛片| 色偷偷91综合久久噜噜| 黄色18网站| 欧美午夜影院| 日本不卡一区二区三区视频| 色婷婷五| 在线天堂在线| 视频在线h| 四虎精品久久久久影院| bt天堂bt在线网| 欧美性黑人极品hd网站| 天堂bt在线网bt| vr亚洲成年网址在线观看| 欧美性xxxx巨大黑人猛| 天堂免费在线视频| 自拍偷拍综合网| 中文字字幕码一二区| 日本三浦理惠子中文字幕| 午夜久久网| 美女扒开内裤让男人桶| 久久青草视频| 二区久久国产乱子伦免费精品| 亚洲最新在线| ww欧洲ww在线视频看| 开心激情五月婷婷| 日本黄色一级大片| 日本加勒比在线精品视频| 资源新版在线天堂| 国产网站在线免费观看| 无遮挡很爽很污很黄的网站w| 四虎影院精品在线观看| 怡红院影院| 国产精品久久免费观看| 国产美女精品三级在线观看| 日本人xxxxxxxxxⅹ68| 日本色黄视频| 精品国产午夜久久久久九九| 亚洲a人片在线观看网址| 一级特黄a免费大片| 男男之h啪肉np文|