tensorflow2.1 InvalidArgumentError:Assert失败:[0] [Op:Assert] name:EagerVariableNameReuse

agxfikkp  于 2023-08-06  发布在  其他
关注(0)|答案(5)|浏览(116)

我训练了我的自定义模型,并使用了TensorFlow 2.1。当我运行代码时,我得到以下错误:
InvalidArgumentError:Assert失败:[0] [Op:Assert] name:EagerVariableNameReuse
下面是显示错误的一行:

self.train_accuracy = tf.keras.metrics.CategoricalAccuracy('train_accuracy')

字符串
这个错误是什么意思,提前谢谢。

0s7z1bwu

0s7z1bwu1#

在这里提供解决方案,即使它存在于Github中,为了Stackoverflow社区的利益。
当我们试图同时运行两个使用Tensorflow的Python程序时,就会触发此错误。请使用Tensorflow关闭其他python会话将解决此问题。
有关更多信息,请参阅here

kgsdhlau

kgsdhlau2#

我遇到了同样的问题,配置如下:

  • Windows 10操作系统
  • GE Force MX130上的GPU,带驱动程序451.67
  • CUDA 10.1
  • cuDNN 7.6
  • TensorFlow 2.3.0

我通过从TensorFlow 2.3.0降级到TensorFlow 2.2.0解决了这个问题(在Github上也提到了)。

lokaqttq

lokaqttq3#

将环境变量TF_FORCE_GPU_ALLOW_GROWTH设置为true似乎可以解决这个问题:

import os
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = "true"

字符串
不知道为什么。

6yoyoihd

6yoyoihd4#

我也遇到了同样的问题,发现错误是在TensorFlow 2.3.0中引起的,降级到2.2.0工作得很好。
尝试:

pip install tensorflow==2.2.0

字符串

pdkcd3nj

pdkcd3nj5#

我也犯了同样的错误。不要使用LSTM和…例如,仅使用“密集”,然后重试。我通过在Dense层和LSTM之间放置一层Flatten来解决这个问题!一般来说,您的模型结构中可能存在错误。

相关问题