日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tensorflow2调用huggingface transformer预训练模型

發布時間:2025/3/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorflow2调用huggingface transformer预训练模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tensorflow2調用huggingface transformer預訓練模型

  • 一點廢話
    • huggingface簡介
    • 傳送門
    • pipline
    • 加載模型
    • 設定訓練參數
    • 數據預處理
    • 訓練模型
    • 結語

一點廢話

好久沒有更新過內容了,開工以來就是在不停地配環境,如今調通模型后,對整個流程做一個簡單的總結(水一篇)。

現在的NLP行業幾乎都逃不過fune-tuning預訓練的bert或者transformer這一關,按照傳統方法,構建整個模型,在processer里傳數據,在util里配路徑,在bert_fine_tune.sh里煉丹,說實話很麻煩,面對很多不需要復雜下游任務的任務,直接調用預訓練模型是最便捷高效的方法,著名的huggingface正是為此而生的,但它整體面向pytorch,如何有效得在tensorflow2中使用這些模型,對新員工和新入學的盆友們是一件很頭疼的事情,那么具體應該做些什么呢?往下看。

huggingface簡介

Hugging face原本是一家聊天機器人初創服務商 https://huggingface.co/ 專注于NLP技術,擁有大型的開源社區。尤其是在github上開源的自然語言處理,預訓練模型庫 Transformers,已被下載超過一百萬次,github上超過24000個star。Transformers 提供了NLP領域大量state-of-art的 預訓練語言模型結構的模型和調用框架。(https://github.com/huggingface/transformers)

傳送門

https://huggingface.co/models
在這里有近年來較為成熟的bert系模型,可以在目錄中直接下載預訓練的模型使用

pipline

pip install transformers==4.6.1 pip install tensorflow-gpu==2.4.0

需要注意的是,transforers包所需的tensorflow版本至少為2.2.0,而該版本對應的CUDA版本可能不同,如筆者使用的2.4.0版本tensorflow對應的CUDA是11版本,在此祭奠配cuda環境浪費的兩天時間……

加載模型

下載好的完整模型是這樣的,其中:
config 定義模型參數,如layer_num、batch等
tf_model.h5 tensorflow2模型文件
tokenizer 文本處理模塊
vocab 詞典

記錄好模型所在的目錄,然后打開你的編輯器,導入所需的包,這里以序列分類為例,其他下游任務參考官方文檔https://huggingface.co/transformers/model_doc/bert.html

import tensorflow as tf import transformers as ts from transformer import BertTokenizer, TFBertForSequenceClassification import pandas as pd

設定訓練參數

data_path = 'YOUR_DATA_PATH' model_path = 'YOUR_MODEL_PATH' config_path = 'YOUR_CONFIG_PATH' num_labels = 10 epoch = 10 tokenizer = BertTokenizer.from_pretrained(model_path)

數據預處理

涉及到數據的讀入和重組,注意數據格式一定要符合bert模型所需的格式

def data_incoming(path):x = []y = []with open(path, 'r') as f:for line in f.readlines():line = line.strip('\n')line = line.split('\t')x.append(line[0])y.append(line[1])df_row = pd.DataFrame([x, y], index=['text', 'label'])df_row = df_row.Tdf_label = pd.DataFrame({"label": ['YOUR_LABEL'], 'y': list(range(10))})output = pd.merge(df_row, df_label, on='label', how='left')return outputdef convert_example_to_feature(review):return tokenizer.encode_plus(review,max_length=256,pad_tp_max_length=True,return_attention_mask=True,truncation=True)def map_example_to_dict(input_ids, attention_mask, token_type_ids, label):return {"input_ids": input_ids,"token_type_ids": token_type_ids,"attention_mask": attention_mask,}, labeldef encode_example(ds, limit=-1):input_ids_list = []token_type_ids_list = []attention_maks_list = []label_list = []if limit > 0:ds.take(limit)for index, row in ds.iterrows():review = row["text"]label = row['y']bert_input = convert_example_to_feature(review)input_ids_list.append(bert_input["input_ids"])token_type_ids_list.append(bert_input['token_type_ids'])attention_maks_list.append(bert_input['attention_maks'])label_list.append([label])return tf.data.Dataset.from_tensor_slices((input_ids_list, token_type_ids_list, attention_maks_list, label_list)).map(map_example_to_dict)

具體內容就不再贅述了,已經寫得很詳細了,實在不懂的話……說不定我還有時間看評論

訓練模型

def main():train = data_incoming(data_path + 'train.tsv')test = data_incoming(data_path + 'test.tsv')train = encode_example(train).shuffle(100000).batch(100)test = encode_example(test).batch(100)model = TFBertForSequenceClassification(model_path, num_labels=num_labels)optimizer = tf.keras.optimizers.Adam(1e-5)model.compile(optimizer=optimizer, loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True))model.fit(train, epochs=epoch, verbose=1, validation_data=test)if __name__ == '__main__':main()

結語

吶,就是這么簡單的一小塊代碼,足以讓你的gpu煎雞蛋了,然鵝筆者再摸魚可能就要被組長裹進雞蛋里煎了,就先到這吧,下一期……有沒有還不曉得,996不配有空閑

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的tensorflow2调用huggingface transformer预训练模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月天婷婷丁香 | sese视频在线观看 | 天天做夜夜爽 | 欧美精品在线免费观看 | 久久久久亚洲av无码专区桃色 | 黑丝一区 | av中文字幕网站 | 中文字幕在线官网 | 亚洲一区二区三区中文字幕 | 久热精品视频 | 国产婷婷色 | 精品一区二区三区欧美 | 欧美交换国产一区内射 | 又黄又爽的视频 | 在办公室被c到呻吟的动态图 | 亚洲三级在线免费观看 | 午夜视频免费看 | 天天色天天射天天操 | 国产www视频| 人人揉人人 | 中国女人裸体乱淫 | 国产乱淫av公 | 一级性生活黄色片 | 青草视频在线播放 | www.xxx.国产| 91大尺度 | 日本电车痴汉 | 丰满人妻一区二区三区53视频 | 日本a在线免费观看 | 黄色片子一级 | 久久久无码18禁高潮喷水 | 香蕉福利视频 | 中日韩黄色大片 | 在线观看日韩一区二区 | 国产女人18毛片水真多 | 99热这里只有精品4 精品国产黄色 | 温柔少妇的高潮呻吟 | 中文字幕视频免费 | 亚洲精品久久久 | 一级片黄色 | 国产精品a级 | 国语对白对话在线观看 | 欧洲一区二区三区四区 | 亚洲国产v| 亚洲1区 | 一区二区日韩av | av撸撸在线 | 婷婷视频在线观看 | 国产精品久久久久影院老司 | 久久久精品人妻一区二区三区色秀 | 欧洲性生活片 | 小俊大肉大捧一进一出好爽 | 亚洲女人毛茸茸 | 亚洲色图27p | 综合网在线观看 | 闷骚老干部cao个爽 av九九九 | 毛片一级在线观看 | 华人av在线 | 天堂在线官网 | 亚欧精品视频一区二区三区 | 亚洲精品白浆 | 婷婷视频在线 | 成人av在线资源 | 91无限观看| 色老头网址 | 亚洲图片综合网 | 五月天婷婷综合 | 制服丝袜在线第一页 | a级黄毛片| 丁香婷婷深情五月亚洲 | 久久久影视 | 四虎国产成人永久精品免费 | 欧美特级黄色 | 成人免费网站在线观看 | 男人天堂2019 | 日本污污网站 | 在线免费观看视频网站 | 女人高潮特级毛片 | 成人性生交生交视频 | 国产精品二三区 | 亚洲精品久久久久久久久 | 欧美国产视频一区 | 欧美性在线视频 | 蜜桃臀aⅴ精品一区二区三区 | av一本二本 | 日韩大片免费观看 | 欧美性生交大片免费看app麻豆 | 羞羞的视频在线观看 | 日韩精品视频在线看 | 亚州av网站 | 亚洲是色 | 操极品美女 | 99热2| 永久免费在线观看av | 无码 制服 丝袜 国产 另类 | 国产免费观看视频 | 国产成人在线观看 | 亚洲a黄 | 久久精品国产99久久久 |