我正在尝试在带有 python 3.7 的 jupyter notebook 中使用预训练的 elmo 嵌入。TensorFlow 版本 - 1.14.0
这是我的代码
def ElmoEmbeddingLayer(x):
print(x.shape)
module = hub.Module("https://tfhub.dev/google/elmo/3", trainable=False)
embeddings = module(tf.squeeze(tf.cast(x, tf.string)), signature="default", as_dict=True)["elmo"]
return embeddings
elmo_dim=1024
elmo_input = Input(shape=(None,), dtype=tf.string)
elmo_embedding = Lambda(ElmoEmbeddingLayer, output_shape=(None,elmo_dim))(elmo_input)
x = Dense(1)(elmo_embedding)
x = Activation('relu')(x)
model = Model(inputs=[elmo_input], outputs=x)
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(x_train, y_train, epochs=1,validation_data=(x_test, y_test))
但是我收到了一个运行时错误
FailedPreconditionError:从容器读取资源变量模块/bilm/CNN_proj/W_proj 时出错:localhost。这可能意味着该变量未初始化。未找到:资源 localhost/module/bilm/CNN_proj/W_proj/N10tensorflow3VarE 不存在。[[{{node lambda/module_apply_default/bilm/MatMul_9/ReadVariableOp}}]]