gpt4 book ai didi

tensorflow - 我在我的简单编码器模型中得到 "Tensor.op is meaningless when eager execution is enabled."。 (TF 2.0)

转载 作者:行者123 更新时间:2023-12-04 04:08:33 26 4
gpt4 key购买 nike

下面给出了我的编码器模型的代码,我是使用函数式 API(TF 2.0) 制作的

embed_obj = EndTokenLayer()
def encoder_model(inp):
input_1 = embed_obj(inp)
h = Masking([(lambda x: x*0)(x) for x in range(128)])(input_1)
lstm1 , state_h, state_c = LSTM(512, return_sequences=True, return_state=True)(h)
model = Model(inputs=input_1, outputs=[lstm1, state_h, state_c])

return model

当我调用我的模型时:


for x,y in train.take(1):
k = x
model = encoder_model(k)

我收到以下错误:

---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-98-46e9c9596137> in <module>()
2 for x,y in train.take(1):
3 k = x
----> 4 model = encoder_model(k)

7 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in op(self)
1111 def op(self):
1112 raise AttributeError(
-> 1113 "Tensor.op is meaningless when eager execution is enabled.")
1114
1115 @property

AttributeError: Tensor.op is meaningless when eager execution is enabled.

最佳答案

在 TF2 中,可以使用装饰器构造静态图(防止使用动态图急切执行)。试试@tf.function 装饰器

@tf.function
def encoder_model(inp):
input_1 = embed_obj(inp)
h = Masking([(lambda x: x*0)(x) for x in range(128)])(input_1)
lstm1 , state_h, state_c = LSTM(512, return_sequences=True, return_state=True)(h)
model = Model(inputs=input_1, outputs=[lstm1, state_h, state_c])

return model

然后调用函数

for x,y in train.take(1):
k = x
model = encoder_model(k)

关于tensorflow - 我在我的简单编码器模型中得到 "Tensor.op is meaningless when eager execution is enabled."。 (TF 2.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62136814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com