国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

TensorFlow模型優化:模型量化

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2021-02-04 15:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 模型量化需求

為了滿足各種 AI 應用對檢測精度的要求,深度神經網絡結構的寬度、層數、深度以及各類參數等數量急速上升,導致深度學習模型占用了更大的存儲空間,需要更長的推理時延,不利于工業化部署;目前的模型都運行在 CPUGPU,FPGA,ASIC 等四類芯片上,芯片的算力有限;對于邊緣設備上的芯片而言,在存儲、內存、功耗及時延性方面有許多限制,推理效率尤其重要。

作為通用的深度學習優化的手段之一,模型量化將深度學習模型量化為更小的定點模型和更快的推理速度,而且幾乎不會有精度損失,其適用于絕大多數模型和使用場景。此外,模型量化解鎖了定點硬件(Fixed-point hardware) 和下一代硬件加速器的處理能力,能夠實現相同時延的網絡模型推理功能,硬件價格只有原來的幾十分之一,尤其是 FPGA,用硬件電路去實現網絡推理功能,時延是各類芯片中最低的。

TensorFlow 模型優化工具包是一套能夠優化機器學習模型以便于部署和執行的工具。該工具包用途很多,其中包括支持用于以下方面的技術:

通過模型量化等方式降低云和邊緣設備(例如移動設備和 IoT 設備)的延遲時間和推斷成本。將優化后的模型部署到邊緣設備,這些設備在處理、內存、耗電量、網絡連接和模型存儲空間方面存在限制。在現有硬件或新的專用加速器上執行模型并進行優化。

根據您的任務選擇模型和優化工具:

利用現成模型提高性能在很多情況下,預先優化的模型可以提高應用的效率。

2. 模型量化過程

大家都知道模型是有權重 (w) 和偏置 (b) 組成,其中 w,b 都是以 float32 存儲的,float32 在計算機中存儲時占 32bit,int8 在計算機中存儲時占 8bit;模型量化就是用 int8 等更少位數的數據類型來代替 float32 表示模型的權重 (w) 和偏置 (b) 的過程,從而達到減少模型尺寸大小、減少模型內存消耗及加快模型推理速度等目標。

模型量化以損失推理精度為代價,將網絡中連續取值或離散取值的浮點型參數(權重 w 和輸入 x)線性映射為定點近似 (int8/uint8) 的離散值,取代原有的 float32 格式數據,同時保持輸入輸出為浮點型,從而達到減少模型尺寸大小、減少模型內存消耗及加快模型推理速度等目標。定點量化近似表示卷積和反卷積如下圖 所示,左邊是原始權重 float32 分布,右邊是原始權重 float32 經過量化后又反量化后權重分布。

32703f02-5408-11eb-8b86-12bb97331649.jpg

32a0429c-5408-11eb-8b86-12bb97331649.jpg

圖 2.1 Int8 量化近似表示卷積

33082e66-5408-11eb-8b86-12bb97331649.jpg

3341b7da-5408-11eb-8b86-12bb97331649.jpg

圖 2.2 Int8 量化近似表示反卷積

3. 模型量化好處

減小模型尺寸,如 8 位整型量化可減少 75% 的模型大??;

減少存儲空間,在邊緣側存儲空間不足時更具有意義;

減少內存耗用,更小的模型大小意味著不需要更多的內存;

加快推理速度,訪問一次 32 位浮點型可以訪問四次 int8 整型,整型運算比浮點型運算更快;CPU 用 int8 計算的速度更快

減少設備功耗,內存耗用少了推理速度快了自然減少了設備功耗;

支持微處理器,有些微處理器屬于 8 位的,低功耗運行浮點運算速度慢,需要進行 8bit 量化。

某些硬件加速器如 DSP/NPU 只支持 int8

4. 模型量化原理

模型前向推理過程中所有的計算都可以簡化為 x= w*x +b; x 是輸入,也叫作 FeatureMap,w 是權重,b 是偏置;實際過程中 b 對模型的推理結果影響不大,一般丟棄。原本 w,x 是 float32,現在使用 int8 來表示為 qw,qx;模型量化的原理就是定點 (qw qx) 與浮點 (w,x),建立了一種有效的數據映射關系.。不僅僅量化權重 W ,輸入 X 也要量化;詳解如下:

R 表示真實的浮點值(w 或者 x),

責任編輯:lq

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

    關注

    1

    文章

    3751

    瀏覽量

    52097
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136928
  • 深度學習
    +關注

    關注

    73

    文章

    5598

    瀏覽量

    124392

原文標題:社區分享 | TensorFlow 模型優化:模型量化

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    無法將Tensorflow Lite模型轉換為OpenVINO?格式怎么處理?

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

    瑞芯微模型量化文件構建

    模型是一張圖片輸入時,量化文件如上圖所示。但是我現在想量化deepprivacy人臉匿名模型,他的輸入是四個輸入。該模型訓練時數據集只標注
    發表于 06-13 09:07

    TensorFlow模型轉換為中間表示 (IR) 時遇到不一致的形狀錯誤怎么解決?

    使用命令轉換為 Tensorflow* 模型: mo --input_model ../models/middlebury_d400.pb --input_shape [1,352,704,6
    發表于 03-07 08:20

    使用OpenVINO? 2020.4.582將自定義TensorFlow 2模型轉換為中間表示 (IR)收到錯誤怎么解決?

    轉換自定義 TensorFlow 2 模型 mask_rcnn_inception_resnet_v2_1024x1024_coco17 要 IR 使用模型優化器命令: 注意上面的
    發表于 03-07 07:28

    將YOLOv4模型轉換為IR的說明,無法將模型轉換為TensorFlow2格式怎么解決?

    遵照 將 YOLOv4 模型轉換為 IR 的 說明,但無法將模型轉換為 TensorFlow2* 格式。 將 YOLOv4 darknet 轉換為 Keras 模型時,收到 Type
    發表于 03-07 07:14

    Tensorflow Efficientdet-d0模型轉換為OpenVINO? IR失敗了,怎么解決?

    使用轉換命令 mo --saved_model_dir /home/obs-56/effi/saved_model 將 TensorFlow* efficientdet-d0 模型轉換為 IR
    發表于 03-06 08:18

    可以使用OpenVINO?工具包將中間表示 (IR) 模型轉換為TensorFlow格式嗎?

    無法將中間表示 (IR) 模型轉換為 TensorFlow* 格式
    發表于 03-06 06:51

    是否可以輸入隨機數據集來生成INT8訓練后量化模型

    無法確定是否可以輸入隨機數據集來生成 INT8 訓練后量化模型。
    發表于 03-06 06:45

    Vgg16模型無法使用模型優化器重塑怎么解決?

    Vgg16 模型無法使用模型優化器重塑。
    發表于 03-06 06:29

    使用各種TensorFlow模型運行模型優化器時遇到錯誤非法指令怎么解決?

    使用各種 TensorFlow 模型運行模型優化器時遇到 [i]錯誤非法指令
    發表于 03-05 09:56

    使用模型優化器命令將ONNX模型轉換為OpenVINO? IR格式時出現“ReplacementID”錯誤怎么解決?

    使用模型優化器命令將 ONNX 模型轉換為 OpenVINO? IR 格式: --input_model \"{onnx_path} --input_shape [1,512, 896
    發表于 03-05 09:41

    為什么無法使用OpenVINO?模型優化器轉換TensorFlow 2.4模型?

    已下載 ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8 型號。 使用將模型轉換為中間表示 (IR) ssd_support_api_v.2.4.json
    發表于 03-05 09:07

    使用myriad_compile將IR模型轉換為blob后收到錯誤怎么解決?

    使用模型優化器將自定義 TensorFlow* 2 模型轉換為中間表示 (IR)。 使用 myriad_compile 將 IR 模型轉換
    發表于 03-05 08:27

    運行時OpenVINO?找不到模型優化器,為什么?

    在運行時OpenVINO?找不到模型優化器,運行模型下載程序命令并收到錯誤消息: omz_downloader:找不到命令
    發表于 03-05 08:16

    為什么無法將自定義EfficientDet模型TensorFlow 2轉換為中間表示(IR)?

    將自定義 EfficientDet 模型TensorFlow* 2 轉換 為 IR 時遇到錯誤: [ ERROR ] Exception occurred during running replacer \"REPLACEMENT_ID\" ()
    發表于 03-05 06:29