Attribute Error: 'Embedding' object has no attribute 'embeddings' - TensorFlow & Keras
Attribute Error: 'Embedding' object has no attribute 'embeddings' - TensorFlow & Keras
好的,我有一个完全 运行 的 keras 模型,然后用这条线保存权重:
model.save_weights("rho_beta_true_tf", save_format="tf")
然后在另一个文件中,我只构建模型,然后使用以下行从上面 运行 的模型加载权重:
model_build.load_weights("rho_beta_true_tf")
当我调用某些属性时,除了我尝试 运行 这一行之外,一切都正确显示:
model_build.stimuli.embeddings
或
model_build.stimuli.embeddings.numpy()[0]
我收到一条属性错误消息:
AttributeError: 'Embedding' object has no attribute 'embeddings'
这一行应该 return 一个张量,如果我到目前为止调用任何其他属性它都可以工作,所以我不确定它是否只是找不到张量或者问题是否出在其他地方。有人可以帮我弄清楚如何解决这个属性错误吗?
尝试使用 .get_weights()
:
model_build.stimuli.get_weights()
事实证明,因为我以 tf 格式保存了权重,所以我必须按照张量流文档中的这个步骤操作:
For user-defined classes which inherit from tf.keras.Model, Layer instances must be assigned to object attributes, typically in the constructor.
那么行
build_model.stimuli.embedding(put the directory path to your custom embedding layer here)
成功了!
好的,我有一个完全 运行 的 keras 模型,然后用这条线保存权重:
model.save_weights("rho_beta_true_tf", save_format="tf")
然后在另一个文件中,我只构建模型,然后使用以下行从上面 运行 的模型加载权重:
model_build.load_weights("rho_beta_true_tf")
当我调用某些属性时,除了我尝试 运行 这一行之外,一切都正确显示:
model_build.stimuli.embeddings
或
model_build.stimuli.embeddings.numpy()[0]
我收到一条属性错误消息:
AttributeError: 'Embedding' object has no attribute 'embeddings'
这一行应该 return 一个张量,如果我到目前为止调用任何其他属性它都可以工作,所以我不确定它是否只是找不到张量或者问题是否出在其他地方。有人可以帮我弄清楚如何解决这个属性错误吗?
尝试使用 .get_weights()
:
model_build.stimuli.get_weights()
事实证明,因为我以 tf 格式保存了权重,所以我必须按照张量流文档中的这个步骤操作:
For user-defined classes which inherit from tf.keras.Model, Layer instances must be assigned to object attributes, typically in the constructor.
那么行
build_model.stimuli.embedding(put the directory path to your custom embedding layer here)
成功了!