标签:hub keras 模型 add tf tensorflow model
tensorflow_hub
武神教的这个预训练模型,感觉比word2vec效果好很多~
只需要分词,不需要进行词条化处理
总评:方便,好用,在线加载需要时间
步骤
- 文本预处理(去非汉字符号,jieba分词,停用词酌情处理)
- 加载预训练模型
- 可以加上attention这样的机制等
给一个简单的栗子,完整代码等这个项目开源一起给链接
这里直接给模型的栗子
import tensorflow as tf
import tensorflow_hub as hub
# ResourceExhaustedError: OOM when allocating tensor with shape[971177,50]
# early_stop = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10) callbacks 不能写在这里? 会报错 EagerVariableNameReuse
hub_layer = hub.KerasLayer("https://hub.tensorflow.google.cn/google/tf2-preview/nnlm-zh-dim50-with-normalization/1", output_shape=[50],
input_shape=[], dtype=tf.string,trainable = True)
model = tf.keras.Sequential()
model.add(hub_layer)
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(3, activation='softmax'))
model.summary()
model.compile(loss= 'sparse_categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
early_stop = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(x= X_train, y= y_train, epochs= 100, validation_data= (X_dev, y_dev), batch_size= 100 ,verbose=1,callbacks= [early_stop])
#history = model.fit(train_dataset, epochs= 20, validation_data= dev_dataset) 会报错?
plot_graphs(history, metric= 'accuracy')
pred = model.predict_classes(test_online)
应该把预训练模型下载下来保存到本地,但是貌似要配置环境,会比较麻烦~
这个就迭代了10次,效果差~
标签:hub,keras,模型,add,tf,tensorflow,model 来源: https://www.cnblogs.com/gaowenxingxing/p/12818120.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。