【发布时间】:2021-03-02 09:10:40
【问题描述】:
当我尝试从 Tensorflow 2.0 的 Python 深度学习一书中实现示例时。我遇到了一个错误,告诉我:RuntimeError: 启用急切执行时不支持 tf.gradients。请改用 tf.GradientTape。
def generate_pattern(layer_name, filter_index, size=150):
layer_output = model.get_layer(layer_name).output
loss = K.mean(layer_output[:, :, :, filter_index])
grads = K.gradients(loss, model.input)[0]
grads /= (K.sqrt(K.mean(K.square(grads))) + 1e-5)
iterate = K.function([model.input], [loss, grads])
input_img_data = np.random.random((1, size, size, 3)) * 20 + 128.
step = 1.
for i in range(40):
loss_value, grads_value = iterate([input_img_data])
input_img_data += grads_value * step
img = input_img_data[0]
return deprocess_image(img)
【问题讨论】:
-
有什么问题?你读过guide about the gradient tape吗?
标签: python tensorflow keras gradient