use*_*948 11 python machine-learning keras tensorflow tensorflow2.0
我构建了一个非常简单的带有单个密集层的 TensorFlow Keras 模型。它在块外工作得很好GradientTape
,但在GradientTape
块内它会引发LookupError: No gradient defined for operation 'IteratorGetNext' (op type: IteratorGetNext)
重现代码:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import tensorflow as tf
import numpy as np
print(tf.__version__)
model = Sequential()
model.add(Dense(1, input_shape=(16,)))
fake_data = np.random.random((1, 16))
print(model.predict(fake_data).shape) # works
with tf.GradientTape() as tape:
print(model.predict(fake_data).shape) # LookupError: No gradient defined for operation 'IteratorGetNext' (op type: IteratorGetNext)
Run Code Online (Sandbox Code Playgroud)
这似乎在 TensorFlow 2.0.0 中有效,但在 TensorFlow 2.1.0 和 2.2.0 中失败
这是一个重现该问题的笔记本。
Mar*_*ani 13
尝试以这种方式重新定义 GradientTape 中的预测操作
with tf.GradientTape() as tape:
print(model(fake_data).shape)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6095 次 |
最近记录: |