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

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

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

3天內不再提示

如何在Android上構建自定義AI功能

谷歌開發者 ? 來源:Android 開發者 ? 2024-11-15 11:51 ? 次閱讀

作者 / 高級開發者關系工程師 Kateryna Semenova 和高級產品經理 Mark Sherwood

在 "AI on Android Spotlight Week" 期間,我們深入探討了如何將自己的 AI 模型引入 Android 設備,如手機、平板電腦等。通過利用 Google 和其他來源的工具與技術,您可以直接在這些設備上運行復雜的 AI 模型,以實現更出色的性能、更好的隱私性和更高的可用性,創造激動人心的可能性。

了解設備端 AI

設備端 AI 不依賴基于云服務器,而是直接在硬件設備上部署和運行機器學習或生成式 AI 模型。此方法具有幾項優勢,例如降低延遲、強化隱私、節約成本,以及減少了對互聯網連接的依賴。

對于生成文本用例,請探索 Gemini Nano;用戶現在可以通過 Gemini Nano 的 SDK 進行實驗性訪問。對于許多設備端 AI 用例,您可能想要在應用中打包自己的模型。我們將在本文介紹如何在 Android 上實現此操作。

設備端 AI 的核心資源

Google AI Edge 平臺為在邊緣設備上構建和部署 AI 模型提供了一個全面的生態系統。此平臺支持各種框架和工具,能讓開發者將 AI 功能無縫集成到應用中。Google AI Edge 平臺包括:

MediaPipe Tasks - 跨平臺低代碼 API,用于處理常見的生成式 AI、視覺、文本和音頻任務

LiteRT (前身為 TensorFlow Lite) - 用于在 Android 上部署自定義機器學習模型的輕量級運行時

MediaPipe Framework - 用于將多個機器學習模型與預處理和后處理邏輯高效鏈接在一起的流水線框架

Model Explorer - 轉換、性能和調試可視化工具

如何在 Android 上構建

自定義 AI 功能

1. 定義您的用例: 在深入研究技術細節之前,明確定義您希望 AI 功能實現的目標非常重要。無論您致力于開發圖像分類、自然語言處理還是其他應用,擁有明確的目標將為您的開發進程指明方向。

2. 選擇合適的工具和框架: 根據您的用例,您或許可以使用開箱即用的解決方案,也可能需要創建或獲取自己的模型。通過 MediaPipe Tasks 查看常見的解決方案,如手勢識別、圖像分割或面部特征點檢測。如果您找到符合需求的解決方案,可以直接進入測試和部署步驟。

如果您需要為用例創建或獲取自定義模型,則需要一個設備端機器學習框架,例如 LiteRT (前身為 TensorFlow Lite)。LiteRT 專為移動和邊緣設備設計,為部署機器學習模型提供了輕量級運行時。只需按照以下子步驟操作:

開發和訓練模型: 使用您選擇的框架開發 AI 模型。訓練可以在功能強大的機器或云環境中執行,但模型應針對設備上的部署進行優化。量化和剪枝等技術可以幫助縮小模型尺寸并提高推理速度。Model Explorer 可以幫助您在使用模型的同時理解和探索該模型。

轉換和優化模型: 當您的模型訓練好后,就可以將其轉換為適合設備端部署的格式。例如,LiteRT 需要將其轉換為特定格式。優化工具可以幫助減少模型的占用空間并提升其性能。AI Edge Torch 允許您使用 Google AI Edge LiteRT 和 MediaPipe Tasks 庫來轉換 PyTorch 模型,使其能在 Android 和其他平臺上本地運行。

加速模型: 您可以使用 GPU 和 NPU,為 Android 上的模型推理加速。借助 LiteRT 的 GPU 代理,您可以立即在 GPU 上運行您的模型。我們正在努力構建下一代 GPU 和 NPU 代理,使您的模型運行得更快,并支持更多模型在 GPU 和 NPU 上運行。我們誠邀您參與我們的搶先體驗計劃,以試用這一新的 GPU 和 NPU 基礎設施。我們將會陸續邀請參與者搶先體驗,即刻聯系我們參與體驗吧!

3. 測試和部署: 為了確保您的模型在各種設備上都能實現預期的性能,嚴格的測試至關重要。完成測試后,即可向用戶部署您的應用,為他們提供無縫且高效的 AI 體驗。我們正在努力讓 Google Play 和 Android App Bundle 發揮其優勢,以便更好地為設備端 AI 功能提供自定義機器學習模型。Play for On-device AI 簡化了啟動、定位、版本控制、下載和更新設備端模型的復雜程度,從而為用戶提供更好的使用體驗,同時不會影響應用的大小,也不會增加成本。如有興趣加入 Play for On-device AI 搶先體驗計劃,您可以填寫表格。

通過隱私性和透明度

建立對 AI 的信任

隨著 AI 在日常生活中發揮的作用日益增強,確保模型在設備上按預期運行至關重要。我們強調 "零信任" 方法,為開發者提供工具來驗證設備完整性和用戶對其數據的控制。在零信任方法中,開發者需要能夠對設備的可信度做出明智決策。

我們推薦開發者使用 Play Integrity API,來驗證應用、服務器請求和設備環境。您可以在應用后端決定下載并運行模型之前的重要時刻調用 API。還可以考慮啟用在安裝應用時進行完整性檢查,以減少應用被分發到未知和不受信任的環境中。

Play Integrity API 利用 Android 平臺密鑰認證來驗證硬件組件,并在整個設備群中生成完整性判定,從而使大多數開發者不再需要直接集成不同的認證工具,降低了設備生態系統的復雜性。在決定是否信任設備運行 AI 模型之前,開發者可以使用其中一個或兩個工具來評估設備安全性和軟件完整性。

結論

將您的 AI 模型引入設備涉及多個步驟,包括定義用例、部署和測試模型等。借助 Google AI Edge 等資源,開發者可以使用強大的工具和洞察,使過程更順暢、更高效。隨著設備端 AI 的不斷發展,您將能夠利用這些資源,創建先進的應用,提供更好的性能、隱私性和用戶體驗。我們目前正在尋找搶先體驗的合作伙伴,在 Google AI Edge 中試用我們的一些最新工具和 API。填寫表格聯系我們,即刻了解我們該如何共同努力,以實現您的愿景。

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

    關注

    12

    文章

    3923

    瀏覽量

    127133
  • AI
    AI
    +關注

    關注

    87

    文章

    30135

    瀏覽量

    268411
  • 模型
    +關注

    關注

    1

    文章

    3172

    瀏覽量

    48711
  • 機器學習
    +關注

    關注

    66

    文章

    8377

    瀏覽量

    132407

原文標題:如何輕松將 AI 模型引入 Android 設備

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    創建自定義的基于閃存的引導加載程序(BSL)

    電子發燒友網站提供《創建自定義的基于閃存的引導加載程序(BSL).pdf》資料免費下載
    發表于 09-19 10:50 ?0次下載
    創建<b class='flag-5'>自定義</b>的基于閃存的引導加載程序(BSL)

    如何創建TestStand自定義步驟

    在之前的課程中簡單地介紹過TestStand自帶的一些步驟類型,如測試、消息彈窗、賦值、標簽等等,這些簡單的步驟從TestStand的插入選版中就可以添加到序列中。那么在使用中如果碰到需要實現更加靈活、復雜的功能,使用自帶的一些步驟類型可能難以滿足,這時就需要使用到自定義
    的頭像 發表于 09-11 14:46 ?876次閱讀
    如何創建TestStand<b class='flag-5'>自定義</b>步驟

    NVIDIA NeMo加速并簡化自定義模型開發

    如果企業希望充分發揮出 AI 的力量,就需要根據其行業需求量身定制的自定義模型。
    的頭像 發表于 07-26 11:17 ?686次閱讀
    NVIDIA NeMo加速并簡化<b class='flag-5'>自定義</b>模型開發

    NVIDIA AI Foundry 為全球企業打造自定義 Llama 3.1 生成式 AI 模型

    Foundry 提供從數據策管、合成數據生成、微調、檢索、防護到評估的全方位生成式 AI 模型服務,以便部署自定義 Llama 3.1 NVIDIA NIM 微服務和新的 NVIDIA NeMo
    發表于 07-24 09:39 ?681次閱讀
    NVIDIA <b class='flag-5'>AI</b> Foundry 為全球企業打造<b class='flag-5'>自定義</b> Llama 3.1 生成式 <b class='flag-5'>AI</b> 模型

    如何通過SDK功能獲取esptouch v2 apk的自定義數據?

    嗨,我使用 esptouch v2 apk 來配置網絡。我在 esptouch v2 apk 的自定義數據幀中輸入 mqqt 數據,然后按確認鍵。同時,給ESP8266板電,ESP8266開始
    發表于 07-15 07:20

    如何為ESP8266構建自定義盾牌?

    我正在尋找某種如何為ESP8266構建自定義盾牌的指南。 到目前為止,我已經使用 NODEMCU 構建功能原型,但我現在想簡化事情并使其更小。 1. 是否有一些書面的、開放的硬件
    發表于 07-08 07:17

    何在IDF框架中使用自定義的靜態庫和動態庫?

    基于商業需要,我們需要在 ESP-IDF v4.0-rc 這個版本的IDF中開發與使用自定義庫,有如下問題請協助: 1如何利用IDF框架編寫自定義靜態庫和動態庫? 2如何在IDF框架中使用自定
    發表于 06-25 07:57

    Chrome移動版支持自定義菜單欄功能

    在先前版本中,用戶通過點擊瀏覽器右上角的三個點按鈕即可調出包含各類圖標與操作的菜單。而此次更新后,Chrome新增了“自定義菜單”選項,允許用戶自主控制該區域的展示內容。
    的頭像 發表于 05-27 15:00 ?742次閱讀

    HarmonyOS開發案例:【 自定義彈窗】

    基于ArkTS的聲明式開發范式實現了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實現自定義彈窗
    的頭像 發表于 05-16 18:18 ?1291次閱讀
    HarmonyOS開發案例:【 <b class='flag-5'>自定義</b>彈窗】

    TSMaster 自定義 LIN 調度表編程指導

    LIN(LocalInterconnectNetwork)協議調度表是用于LIN總線通信中的消息調度的一種機制,我們收到越來越多來自不同用戶希望能夠通過接口實現自定義LIN調度表的需求。所以在
    的頭像 發表于 05-11 08:21 ?610次閱讀
    TSMaster <b class='flag-5'>自定義</b> LIN 調度表編程指導

    HarmonyOS開發實例:【自定義Emitter】

    使用[Emitter]實現事件的訂閱和發布,使用[自定義彈窗]設置廣告信息。
    的頭像 發表于 04-14 11:37 ?973次閱讀
    HarmonyOS開發實例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個頁面可由多個組件組合而成,也可只由一個組件組合而成,這些組件可以是ArkUI開發框架自帶系統組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節筆者簡單介紹一下自定義組件的語法規范。
    的頭像 發表于 04-08 10:17 ?602次閱讀

    基于YOLOv8實現自定義姿態評估模型訓練

    Hello大家好,今天給大家分享一下如何基于YOLOv8姿態評估模型,實現在自定義數據集,完成自定義姿態評估模型的訓練與推理。
    的頭像 發表于 12-25 11:29 ?2784次閱讀
    基于YOLOv8實現<b class='flag-5'>自定義</b>姿態評估模型訓練

    博途用戶自定義庫的使用

    中經常使用的函數/函數塊/數據類型等存放到自定義庫中,方便自己使用及與別人共享。博途具有很強的庫管理功能,包括:庫版本管理,庫的更新及清掃等等。本系列文章我將給大家介紹項目庫、全局庫、庫的更新/清掃等功能,今天這篇文章,我們先來
    的頭像 發表于 12-25 10:08 ?875次閱讀
    博途用戶<b class='flag-5'>自定義</b>庫的使用

    基于YOLOv8的自定義醫學圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓練、測試和部署。在本教程中,我們將學習如何在自定義數據集使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優秀的分割模型時應該使用YOLOv8呢?
    的頭像 發表于 12-20 10:51 ?733次閱讀
    基于YOLOv8的<b class='flag-5'>自定義</b>醫學圖像分割