濮阳杆衣贸易有限公司

主頁 > 知識庫 > pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型

pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型

熱門標簽:商家地圖標注海報 打電話機器人營銷 ai電銷機器人的優(yōu)勢 海外網(wǎng)吧地圖標注注冊 騰訊地圖標注沒法顯示 南陽打電話機器人 聊城語音外呼系統(tǒng) 地圖標注自己和別人標注區(qū)別 孝感營銷電話機器人效果怎么樣

pytorch_pretrained_bert將tensorflow模型轉化為pytorch模型

BERT倉庫里的模型是TensorFlow版本的,需要進行相應的轉換才能在pytorch中使用

在Google BERT倉庫里下載需要的模型,這里使用的是中文預訓練模型(chinese_L-12_H-768_A_12)

下載chinese_L-12_H-768_A-12.zip后解壓,里面有5個文件

chinese_L-12_H-768_A-12.zip后解壓,里面有5個文件

bert_config.json

bert_model.ckpt.data-00000-of-00001

bert_model.ckpt.index

bert_model.ckpt.meta

vocab.txt

使用bert倉庫里的convert_bert_original_tf_checkpoint_to_pytorch.py將此模型轉化為pytorch版本的,這里我的文件夾位置為:D:\Work\BISHE\BERT-Dureader\data\chinese_L-12_H-768_A-12,替換為自己的即可

python convert_tf_checkpoint_to_pytorch.py --tf_checkpoint_path D:\Work\BISHE\BERT-Dureader\data\chinese_L-12_H-768_A-12\bert_model.ckpt --bert_config_file D:\Work\BISHE\BERT-Dureader\data\chinese_L-12_H-768_A-12\bert_config.json --pytorch_dump_path D:\Work\BISHE\BERT-Dureader\data\chinese_L-12_H-768_A-12\pytorch_model.bin

注:這里讓我疑惑的是模型有5個文件,為什么轉化的時候使用的是bert_model.ckpt,而且這個文件也不存在呀,是我對TensorFlow的模型不太熟悉,查閱資料之后將5個文件的作用說明如下:

$ tree chinese_L-12_H-768_A-12/
chinese_L-12_H-768_A-12/
├── bert_config.json                     - 模型配置文件
├── bert_model.ckpt.data-00000-of-00001  - 保存斷點文件列表,可以用來迅速查找最近一次的斷點文件
├── bert_model.ckpt.index                - 為數(shù)據(jù)文件提供索引,存儲的核心內容是以tensor name為鍵以BundleEntry為值的表格entries,BundleEntry主要內容是權值的類型、形狀、偏移、校驗和等信息。
├── bert_model.ckpt.meta                 - 是MetaGraphDef序列化的二進制文件,保存了網(wǎng)絡結構相關的數(shù)據(jù),包括graph_def和saver_def等
└── vocab.txt                            - 模型詞匯表文件

0 directories, 5 files

在調用模型時使用chinese_L-12_H-768_A-12\bert_model.ckpt即可。

TensorFlow 讀取ckpt文件中的tensor,將ckpt模型轉為pytorch模型

想用MobileNet V1訓練自己的數(shù)據(jù),發(fā)現(xiàn)pytorch沒有MobileNet V1的預訓練權重,只好先下載TensorFlow的預訓練權重,再轉成pytorch模型。

讀取ckpt中的Tensor名稱以及Tensor值

TensorFlow的MobileNet V1預訓練權重文件如下:

解壓完文件后,發(fā)現(xiàn)沒有.ckpt文件,文件名只需'./my_model/mobilenet_v1_1.0_224/mobilenet_v1_1.0_224.ckpt'這樣寫就行。

寫一半發(fā)現(xiàn)Tensor名稱好難對應起來。希望能給大家一個參考,也希望大家多多支持腳本之家

您可能感興趣的文章:
  • 教你使用TensorFlow2識別驗證碼
  • TensorFlow中tf.batch_matmul()的用法
  • Tensorflow與RNN、雙向LSTM等的踩坑記錄及解決
  • tensorflow中的數(shù)據(jù)類型dtype用法說明
  • tensorflow基本操作小白快速構建線性回歸和分類模型

標簽:楊凌 南寧 六盤水 迪慶 揚州 聊城 牡丹江 撫州

巨人網(wǎng)絡通訊聲明:本文標題《pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型》,本文關鍵詞  pytorch,pretrained,bert,如何,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型》相關的同類信息!
  • 本頁收集關于pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    淅川县| 卢氏县| 佛坪县| 和硕县| 星座| 北海市| 澄迈县| 皋兰县| 武定县| 古蔺县| 萝北县| 沅江市| 栖霞市| 乐亭县| 保山市| 监利县| 汉中市| 齐河县| 阜新| 绥芬河市| 肃南| 绍兴市| 城口县| 丰宁| 莱芜市| 四会市| 彝良县| 库尔勒市| 武清区| 本溪市| 平定县| 巴林右旗| 宁晋县| 万源市| 宣恩县| 大同市| 呈贡县| 大埔县| 积石山| 濮阳县| 贡觉县|