import tensorflow as tf
from sklearn.model_selection import train_test_split
from bert4keras.models import build_transformer_model
from bert4keras.tokenizers import Tokenizer
from bert4keras.backend import keras
tf.config.experimental.set_memory_growth(device=tf.config.experimental.list_physical_devices(device_type='GPU')[0], enable=True)
embed_dim = 64
NEG, batch_size = 20, 128
config_path = 'chinese_roberta_L-6_H-384_A-12/bert_config.json'
checkpoint_path = 'chinese_roberta_L-6_H-384_A-12/bert_model.ckpt'
query_bert = build_transformer_model(config_path, checkpoint_path, return_keras_model=False).model
query_layer = keras.layers.Dropout(0.1)(query_bert.output)
query_layer = keras.layers.Dense(128, activation='relu', kernel_regularizer='l2', name="query_tower")(query_layer)
doc_bert = build_transformer_model(config_path, checkpoint_path, return_keras_model=False).model
for layer in doc_bert.layers:
layer.name = layer.name + str("_doc")
doc_layer = keras.layers.Dropout(0.1)(doc_bert.output)
doc_layer = keras.layers.Dense(128, activation='relu', kernel_regularizer='l2', name="doc_tower")(doc_layer)
output = keras.layers.Dot(axes=1)([query_layer, doc_layer])
# output = tf.keras.layers.Dense(1, activation='sigmoid')(output)
output = keras.layers.Dense(2, activation='softmax')(output)
model = keras.models.Model(query_bert.input+doc_bert.input, output)
model.compile(loss="categorical_crossentropy", metrics=['acc' ], optimizer='RMSprop')
# query tower
query_model = keras.Model(inputs=query_bert.input, outputs=query_layer)
# doc tower
doc_model = keras.Model(inputs=doc_bert.input, outputs=doc_layer)
print("[INFO] training model...")
model.fit(
train_generator.forfit(),
steps_per_epoch=len(train_generator),
epochs=2, verbose=1)
dssm using bert
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- https://arxiv.org/abs/1908.10084[https://arxiv.org/abs/19...
- 目錄 - Motivation:論文想要解決的問題 -Methodology:本文提出的方法 - ex...
- 提出了一種用于中文序列標注的詞庫增強型BERT,通過Lexicon Adapter layer 將外部詞庫知識融入...
- 本文來源:bert-as-service 博客 Serving Google BERT in Production...
- Spelling Error Correction with Soft-Masked BERT 基于Soft-Ma...