色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

TensorFlow Lite (TFLite) 在內存使用方面的改進

Tensorflowers ? 來源:TensorFlow ? 作者: Juhyun Lee 和 Yury ? 2020-10-21 10:50 ? 次閱讀

文 /Juhyun Lee 和 Yury Pisarchyk,軟件工程師

由于資源限制嚴重,必須在苛刻的功耗要求下使用資源有限的硬件,因此在移動和嵌入式設備上進行推理頗有難度。在本文中,我們將展示 TensorFlow Lite (TFLite) 在內存使用方面的改進,更適合在邊緣設備上運行推理。

中間張量

一般而言,神經網絡可以視為一個由算子(例如 CONV_2D 或 FULLY_CONNECTED)和保存中間計算結果的張量(稱為中間張量)組成的計算圖。這些中間張量通常是預分配的,目的是減少推理延遲,但這樣做會增加內存用量。不過,如果只是以簡單的方式實現,那么在資源受限的環境下代價有可能很高,它會占用大量空間,有時甚至比模型本身高幾倍。例如,MobileNet v2 中的中間張量占用了 26MB 的內存(圖 1),大約是模型本身的兩倍。

圖 1. MobileNet v2 的中間張量(上圖)及其到二維內存空間大小的映射(下圖)。如果每個中間張量分別使用一個專用的內存緩沖區(用 65 種不同的顏色表示),它們將占用約 26MB 的運行時內存

好消息是,通過數據相關性分析,這些中間張量不必共存于內存中。如此一來,我們便可以重用中間張量的內存緩沖區,從而減少推理引擎占用的總內存。如果網絡呈簡單的鏈條形狀,則兩個大內存緩沖區即夠用,因為它們可以在整個網絡中來回互換。然而,對于形成復雜計算圖的任意網絡,這個NP 完備(NP-complete)資源分配問題需要一個良好的近似算法

我們針對此問題設計了許多不同的近似算法,這些算法的表現取決于神經網絡和內存緩沖區的屬性,但都通過張量使用記錄。中間張量的張量使用記錄是一種輔助數據結構,其中包含有關張量的大小以及在給定的網絡執行計劃中首次最后一次使用時間的信息。借助這些記錄,內存管理器能夠在網絡執行的任何時刻計算中間張量的使用情況,并優化其運行時內存以最大限度減少占用空間。

共享內存緩沖區對象

在 TFLite GPU OpenGL 后端中,我們為這些中間張量采用 GL 紋理。這種方式有幾個有趣的限制:(a) 紋理一經創建便無法修改大小,以及 (b) 在給定時間只有一個著色器程序可以獨占訪問紋理對象。在這種共享內存緩沖區對象模式的目標是最小化對象池中創建的所有共享內存緩沖區對象的大小總和。這種優化與眾所周知的寄存器分配問題類似,但每個對象的大小可變,因此優化起來要復雜得多。

根據前面提到的張量使用記錄,我們設計了 5 種不同的算法,如表 1 所示。除了“最小成本流”以外,它們都是貪心算法,每個算法使用不同的啟發式算法,但仍會達到或非常接近理論下限。根據網絡拓撲,某些算法的性能要優于其他算法,但總體來說,GREEDY_BY_SIZE_IMPROVED 和 GREEDY_BY_BREADTH 產生的對象分配占用內存最小。

理論下限
https://arxiv.org/abs/2001.03288

表 1. “共享對象”策略的內存占用量(以 MB 為單位;最佳結果以綠色突出顯示)。前 5 行是我們的策略,后 2 行用作基準(“下限”表示最佳數的近似值,該值可能無法實現,而“樸素”表示為每個中間張量分配專屬內存緩沖區的情況下可能的最差數)

回到我們的第一個示例,GREEDY_BY_BREADTH 在 MobileNet v2 上表現最佳,它利用了每個算子的寬度,即算子配置文件中所有張量的總和。圖 2,尤其是與圖 1 相比,突出了使用智能內存管理器的優勢。

圖 2. MobileNet v2 的中間張量(上圖)及其大小到二維內存空間的映射(下圖)。如果中間張量共享內存緩沖區(用 4 種不同的顏色表示),它們僅占用大約 7MB 的運行時內存

內存偏移量計算

對于在 CPU 上運行的 TFLite,適用于 GL 紋理的內存緩沖區屬性不適用。因此,更常見的做法是提前分配一個大內存空間,并通過給定偏移量訪問內存在所有不干擾其他讀取和寫入操作的讀取器和寫入器之間共享。這種內存偏移量計算法的目的是最大程度地減小內存空間的大小。

我們針對此優化問題設計了 3 種不同的算法,同時還分析了先前的研究工作(Sekiyama 等人于 2018 年提出的 Strip Packing)。與“共享對象”法類似,根據網絡的不同,一些算法的性能優于其他算法,如表 2 所示。這項研究的一個收獲是:“偏移量計算”法通常比“共享對象”法占用的空間更小。因此,如果適用,應該選擇前者而不是后者。

Strip Packing
https://arxiv.org/abs/1804.10001

表 2. “偏移量計算”策略的內存占用量(以 MB 為單位;最佳結果以綠色突出顯示)。前 3 行是我們的策略,接下來 1 行是先前的研究,后 2 行用作基準(“下限”表示最佳數的近似值,該值可能無法實現,而“樸素”表示為每個中間張量分配專屬內存緩沖區的情況下可能的最差數)

這些針對 CPU 和 GPU 的內存優化默認已隨過去幾個穩定的 TFLite 版本一起提供,并已證明在支持更苛刻的最新模型(如 MobileBERT)方面很有優勢。直接查看 GPU 實現和 CPU 實現,可以找到更多關于實現的細節。

MobileBERT
https://tfhub.dev/tensorflow/lite-model/mobilebert/1/default/1

GPU 實現
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/delegates/gpu/common/memory_management

CPU 實現
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/simple_memory_arena.h

致謝

感謝 Matthias Grundmann、Jared Duke 和 Sarah Sirajuddin,特別感謝 Andrei Kulik 參加了最開始的頭腦風暴,同時感謝 Terry Heo 完成 TFLite 的最終實現。

責任編輯:xj

原文標題:優化 TensorFlow Lite 推理運行環境內存占用

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

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

    關注

    42

    文章

    4771

    瀏覽量

    100744
  • 張量
    +關注

    關注

    0

    文章

    7

    瀏覽量

    2566
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60530
  • TensorFlow Lite
    +關注

    關注

    0

    文章

    26

    瀏覽量

    621

原文標題:優化 TensorFlow Lite 推理運行環境內存占用

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

收藏 人收藏

    評論

    相關推薦

    如何解決高校宿舍用電浪費及管理方面的問題?

    為解決高校宿舍用電浪費及管理方面的問題,對高校宿舍用電現狀進行分析,并闡述節能背景下加強高校宿舍用電管理的重要意義,在此基礎上,提出用電改進措施和智慧監管平臺構建要點,以期為相關人員提供參考。
    的頭像 發表于 11-27 15:59 ?212次閱讀
    如何解決高校宿舍用電浪費及管理<b class='flag-5'>方面的</b>問題?

    Google AI Edge Torch的特性詳解

    我們很高興地發布 Google AI Edge Torch,可將 PyTorch 編寫的模型直接轉換成 TFLite 格式 (.tflite),且有著優異的模型覆蓋率和 CPU 性能。TFLite
    的頭像 發表于 11-06 10:48 ?373次閱讀
    Google AI Edge Torch的特性詳解

    快速部署TensorflowTFLITE模型在Jacinto7 Soc

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

    第四章:在 PC 交叉編譯 aarch64 的 tensorflow 開發環境并測試

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

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開發的一個開源深度學習框架,它允許開發者方便地構建、訓練和部署各種復雜的機器學習模型。TensorFlow憑借其高效的計算性能、靈活的架構以及豐富的工具和庫,在學
    的頭像 發表于 07-12 16:38 ?698次閱讀

    tensorflow和pytorch哪個更簡單?

    PyTorch更簡單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個易于使用、靈活且具有強大社區支持的框架,PyTorch可能是一個更好的選擇。如果您需要一個在
    的頭像 發表于 07-05 09:45 ?854次閱讀

    tensorflow和pytorch哪個好

    tensorflow和pytorch都是非常不錯的強大的框架,TensorFlow還是PyTorch哪個更好取決于您的具體需求,以下是關于這兩個框架的一些關鍵點: TensorFlow : 發布時間
    的頭像 發表于 07-05 09:42 ?682次閱讀

    tensorflow簡單的模型訓練

    在本文中,我們將詳細介紹如何使用TensorFlow進行簡單的模型訓練。TensorFlow是一個開源的機器學習庫,廣泛用于各種機器學習任務,包括圖像識別、自然語言處理等。我們將從安裝
    的頭像 發表于 07-05 09:38 ?645次閱讀

    keras模型轉tensorflow session

    在這篇文章中,我們將討論如何將Keras模型轉換為TensorFlow session。 Keras和TensorFlow簡介 Keras是一個高級神經網絡API,它提供了一種簡單、快速的方式來構建
    的頭像 發表于 07-05 09:36 ?519次閱讀

    請問STM32H730 OSPI在內存映射模式下單次讀寫長度是多少?

    方面的配置。 OSPIM_CfgTypeDef sOspiManagerCfg = {0};/* USER CODE BEGIN OCTOSPI1_Init 1 *//* USER CODE END
    發表于 05-31 06:55

    fpga在通信方面的應用

    FPGA在通信方面的應用非常廣泛,以下是一些主要的應用場景。
    的頭像 發表于 03-27 14:10 ?1079次閱讀

    使用電腦上tensorflow創建的模型,轉換為tflite格式了,導入后進度條反復出現0-100%變化,為什么?

    使用電腦上tensorflow創建的模型,轉換為tflite格式了,導入后,進度條反復出現0-100%變化,卡了一個晚上了還沒分析好?
    發表于 03-19 06:20

    數組和鏈表在內存中的區別 數組和鏈表的優缺點

    數組和鏈表在內存中的區別 數組和鏈表的優缺點? 數組和鏈表是常見的數據結構,用于組織和存儲數據。它們在內存中的存儲方式以及優缺點方面存在一些顯著的差異。本文將詳細探討這些差異以及它們的優缺點。 1.
    的頭像 發表于 02-21 11:30 ?1032次閱讀

    【飛騰派4G版免費試用】第五章:使用C++部署tflite模型到飛騰派

    本章記錄下使用 C++ 進行佩奇檢測 tflite 模型推理的過程。
    的頭像 發表于 12-28 09:08 ?1343次閱讀
    【飛騰派4G版免費試用】第五章:使用C++部署<b class='flag-5'>tflite</b>模型到飛騰派

    【飛騰派4G版免費試用】第五章:使用C++部署tflite模型到飛騰派

    Pose Detection in C++ using Machine Learning with TensorFlow Lite Tensorflow 1 vs Tensorflow
    發表于 12-27 21:17
    主站蜘蛛池模板: 男生射女生| 国产精品成久久久久三级四虎| 亚洲麻豆精品成人A在线观看 | videos gratis欧美另类| 6080YYY午夜理论片在线观看| 在线看片成人免费视频| 夜色爽爽爽久久精品日韩| 亚洲欧美日韩高清专区| 亚洲免费黄色片| 野花社区WWW韩国日本 | 欧洲-级毛片内射八十老太婆| 妺妺窝人体色777777野大粗| 嗯啊插的好深啊使劲抽视频| 蜜芽一区二区国产精品| 男人J进入女人P免费狂躁| 欧美精品九九99久久在观看| 欧美国产影院| 日本一卡2卡3卡四卡精品网站| 秋霞电影网伦大理电影在线观看| 日本特殊精油按摩| 神马电影我不卡国语版| 亚洲国产精品自在自线观看| 亚洲中字幕永久在线观看| 尤物yw193can入口| 97免费视频观看| 成 人 动漫3d 在线看| 国产国产乱老熟女视频网站97 | 最近2019中文字幕免费| 99re久久这里只有精品| 白嫩美女直冒白浆| 国产精品久久婷婷五月色| 健身房被教练啪到腿软H| 久久中文字幕免费视频| 欧美日韩中文国产一区| 伸到同桌奶罩里捏她胸h| 亚洲免费福利在线视频| 最近韩国HD免费观看国语| 成人亚洲视频在线观看| 国产亚洲欧美高清在线| 美女大鸡鸡| 同居了嫂子在线观看|