首页 > 解决方案 > TensorFlow 中 tf.GradientTape 的急切执行错误

问题描述

当我尝试创建显着性可视化时收到此警告。

RuntimeError                              Traceback (most recent call last)

<ipython-input-36-6f13b9abef1d> in <module>()
      8   fig, axes = plt.subplots(1, 2)
      9   # Generate visualization
---> 10   visualize = visualize_saliency(saved_model, layer_index, filter_indices=input_class, seed_input=input_image)
     11   axes[0].imshow(input_image[..., 0])
     12   axes[0].set_title('Original image')


tf.gradients is not supported when eager execution is enabled. Use tf.GradientTape instead.

这是我的代码

layer_index = utils.find_layer_idx(saved_model, 'dense_2')
saved_model.layers[layer_index].activation = activations.linear
saved_model = utils.apply_modifications(saved_model)  
indices_to_visualize = [ 0, 12, 38, 83, 112, 74, 190 ]

# Visualize
for index_to_visualize in indices_to_visualize:
  # Get input
  input_image = X_test[index_to_visualize]
  input_class = np.argmax(y_test[index_to_visualize])
  # Matplotlib preparations
  fig, axes = plt.subplots(1, 2)
  # Generate visualization
  visualize = visualize_saliency(saved_model, layer_index, filter_indices=input_class, seed_input=input_image)
  axes[0].imshow(input_image[..., 0]) 
  axes[0].set_title('Original image')
  axes[1].imshow(visualize)
  axes[1].set_title('Saliency map')
  fig.suptitle(f'MNIST target = {input_class}')
  plt.show()

我曾尝试在线查看其他类似的错误,但我不明白如何在我的代码中实现这些解决方案。我应该如何在我的显着性可视化功能上使用 tf.GradientTape。我还没有遇到任何人对显着性可视化有同样的错误。

标签: pythontensorflowkerasdata-visualizationeager-execution

解决方案


推荐阅读