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

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

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

3天內不再提示

如何進行tflite模型量化

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2025-08-13 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開發AI應用分享來到了本系列最后一期分享。

在windows上,如果我們按照上一期的方式安裝了tflite2pb,是不能直接運行的。因為命令行工具是為linux編譯的。那我們的廣大windows用戶就無緣了嗎?那可未必,小編給大家帶來一個好辦法,當然不僅僅適用于當前這個tflite2pb工具,話不多說,開始:

首先讓我們找到tflite2pb的安裝路徑:

eff22452-7328-11f0-a18e-92fbcf53809c.png

打開tflite2tensorflow.py文件,并定位到5641行:

f003e674-7328-11f0-a18e-92fbcf53809c.png

我們可以看到,這是函數的主入口,并且添加了對于命令行參數的解析,而且既然是def定義的函數,那我們就可以通過import來進行導入。那接下來小編就要利用這個函數做一些文章,首先在我們編寫的轉換函數中導入這個叫做main的函數:

fromtflite2tensorflow.tflite2tensorflowimportmain

現在已經導入了進來,接下來是怎么傳入main函數需要處理的參數,換句話來說,main函數實際上是處理系統命令行參數,那我們需要做的就是偽造一個系統命令行參數,那簡單了,首先導入sys模塊,然后開始系統參數偽造:

sys.argv = ['main.py',f'--model_path={tflite_model_name}.tflite',r'--flatc_path=flatc.exe','--schema_path=schema.fbs','--output_pb']

這里通過直接給sys.argv參數賦值,實際上相當于像系統命令行傳入了參數,接下來直接調用main:

main()

果不其然,成功運行,和在linux上運行效果一致,我們也獲得了saved_model文件夾以及模型:

f0153d2a-7328-11f0-a18e-92fbcf53809c.png

下面就是進行模型的量化:

# Convert the model
converter = tf.lite.TFLiteConverter.from_saved_model("saved_model")
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.representative_dataset = gen_representative_data_gen(represent_data)
converter.inference_input_type = tf.int8
converter.inference_output_type = tf.int8
tflite_model = converter.convert()
# Save the i8 model.
withopen(f"{tflite_model_name}_i8_opt.tflite","wb")asf:
 f.write(tflite_model)

熟悉tflite模型量化的伙伴應該是很熟悉了吧?首先聲明converter導入我們剛才生成的pb格式模型的文件夾,接下來指定量化類型為:

tf.lite.OpsSet.TFLITE_BUILTINS_INT8

指定代表性數據集:

converter.representative_dataset= gen_representative_data_gen(represent_data)

為了快速驗證模型,我們可以先隨機出來一些數據來指導模型量化:

defgen_representative_data_gen(datas_path):
 datas= np.load(datas_path)
 datas= (np.random.randint(0,255, size=(10,1,192,192,3), dtype='uint8') /255).astype("float32")
 defrepresentative_data_gen(samples=datas):
   forsample in samples:
     yield[sample]
 returnrepresentative_data_gen

并且指定輸入輸出格式:

converter.inference_input_type= tf.int8
   converter.inference_output_type= tf.int8

最終保存量化好的模型:

withopen(f"{tflite_model_name}_i8_opt.tflite","wb")asf:
f.write(tflite_model)

當然,我們還可以打印出來模型的算子信息:

intepreter = tf.lite.Interpreter(model_path=f"{tflite_model_name}_i8_opt.tflite")
 op_names =sorted(set([x['op_name']forx inintepreter._get_ops_details()]))
 print("len ops: ",len(op_names))
 print(op_names)

好了,至此,記站在巨人的肩膀上開發AI應用就到此完結了,此次系列分享給大家分享了小編的一次項目開發歷程,尤其是涉及到如何將網上找到的,不包含推理代碼的模型,如何一步步的進行分析,并最終轉換為可以為我們所用的模型,希望能夠幫助大家!

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

    關注

    88

    文章

    11641

    瀏覽量

    218191
  • WINDOWS
    +關注

    關注

    4

    文章

    3697

    瀏覽量

    93317
  • AI
    AI
    +關注

    關注

    90

    文章

    38413

    瀏覽量

    297697
  • 函數
    +關注

    關注

    3

    文章

    4409

    瀏覽量

    66979

原文標題:站在巨人肩膀上開發AI應用分享(三)

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用ml configurator進行tflite網絡模型的轉換不成功怎么解決?

    使用ml configurator進行tflite網絡模型的轉換不成功,提示錯誤,請幫忙協助謝謝 [ERROR] Failed to run QEMU
    發表于 01-31 06:56

    瑞芯微模型量化文件構建

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

    何進行YOLO模型轉換?

    ]# 輸入圖像反量化范圍compile_options.mean = [0, 0, 0] # 預處理均值compile_options.std = [1, 1, 1]# 標準差設為1,不進行歸一化
    發表于 08-14 06:03

    模型量化會帶來哪些好處?

    量化算法具有什么特點?模型量化會帶來哪些好處?
    發表于 09-28 06:32

    tflite接口調用tensorflow模型進行推理

    摘要本文為系列博客tensorflow模型部署系列的一部分,用于實現通用模型的部署。本文主要實現用tflite接口調用tensorflow模型進行
    發表于 12-22 06:51

    EIQ onnx模型轉換為tf-lite失敗怎么解決?

    我們正在嘗試將 tflite 框架與 npu 一起使用來進行機器學習。這是我們的步驟:1)用pytorch訓練一個模型2) 以onnx格式導出模型3) eiq工具的covnert
    發表于 03-31 08:03

    如何在MIMXRT1064評估套件上部署tflite模型

    我有一個嬰兒哭聲檢測 tflite (tensorflow lite) 文件,其中包含模型本身。我如何將此模型部署到 MIMXRT1064-evk 以通過 MCUXpresso IDE 運行推理。你能推薦一些用于嬰兒哭聲檢測的教
    發表于 04-06 06:24

    tflite + XNNPACK代表對量化網絡的推理不起作用是怎么回事?

    mobilenet_v1_1.0_224_quant.tfliteTFLite 進行基準推理,我發現 XNNPACK 委托未用于推理(很可能是因為這是一個量化網絡- 因為它適用
    發表于 04-11 07:05

    如何將DS_CNN_S.pb轉換為ds_cnn_s.tflite

    文本文件中添加了您能否提供該腳本或類似腳本,哪個量化和轉換模型在 ds_cnn_s.pb 到 ds_cnn_s.tflite 中?
    發表于 04-19 06:11

    RT1060注冊內存被TFLite Micro模型中的其他函數覆蓋了怎么解決?

    您好,我遇到了一些 TFLM 操作注冊在其他操作中被覆蓋的錯誤。這只發生在 INT8/UINT8 量化模型中,這意味著相同的模型但在浮點數中以預期的輸出完成執行(盡管非常慢)。我在模型
    發表于 04-20 07:18

    【KV260視覺入門套件試用體驗】Vitis AI 進行模型校準和來量化

    過程中不會被修改,但是在部署模型時可能需要用到。 總結 模型的校準和量化看起來很簡單,只需少量代碼就能完成整個過程。但其實,量化的關鍵不在于使用Vtiis AI工具,而在于理解
    發表于 10-15 10:51

    使用NVIDIA QAT工具包實現TensorRT量化網絡的設計

      目前, TensorFlow 在其開源軟件 模型優化工具包 中提供非對稱量化。他們的量化方法包括在所需層的輸出和權重(如果適用)處插入 QDQ 節點,并提供完整模型或部分層類類型的
    的頭像 發表于 06-21 16:54 ?5266次閱讀
    使用NVIDIA QAT工具包實現TensorRT<b class='flag-5'>量化</b>網絡的設計

    使用Arduino和TFlite進行下垂檢測

    電子發燒友網站提供《使用Arduino和TFlite進行下垂檢測.zip》資料免費下載
    發表于 06-15 10:25 ?0次下載
    使用Arduino和<b class='flag-5'>TFlite</b><b class='flag-5'>進行</b>下垂檢測

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

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

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

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