属性错误:“嵌入”对象没有属性“嵌入”TensorFlow和Keras

2024-04-29 15:52:20 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我有一个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'

这一行应该返回一个张量,如果我调用任何其他属性,到目前为止,它是有效的,所以我不确定它是否就是找不到张量,或者问题是其他什么。有人能帮我解决这个属性错误吗


Tags: 代码模型buildtruemodel属性savetf
2条回答

事实证明,因为我以tf格式保存了权重,所以我必须在tensor flow文档中遵循以下步骤:

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)

成功了

尝试使用.get_weights()

model_build.stimuli.get_weights()

相关问题 更多 >