TensorFlow 2.3 GPU-InvalidArgumentError:断言失败:[0][Op:Assert]名称:AckereVariableNameReuse

TensorFlow 2.3 GPU-InvalidArgumentError:断言失败:[0][Op:Assert]名称:AckereVariableNameReuse,tensorflow,keras,tensorflow2.x,Tensorflow,Keras,Tensorflow2.x,环境: Windows 8.1 64位 Python 3.7.7 64位 张量流2.3 Keras 2.4 中大:10.1 CuDNN:7 错误:InvalidArgumentError:assertion失败:[0][Op:Assert]名称:WargeVariableNameReuse 问题:在GPU执行时,在一个简单语句中出现上述错误model=Sequential() 但是,如果我在没有GPU的情况下运行脚本(没有设置CUDA/CuDnn环境变量),它将按预期工作 因此,我有一个GPU,

环境:

Windows 8.1 64位 Python 3.7.7 64位 张量流2.3 Keras 2.4

中大:10.1 CuDNN:7

错误
InvalidArgumentError:assertion失败:[0][Op:Assert]名称:WargeVariableNameReuse

问题:在GPU执行时,在一个简单语句中出现上述错误
model=Sequential()

但是,如果我在没有GPU的情况下运行脚本(没有设置CUDA/CuDnn环境变量),它将按预期工作

因此,我有一个GPU,但不能与TensorFlow(2.3)一起使用


有人能帮忙吗?

据我所见,这个问题是针对以下致命组合的

  • Windows操作系统
  • TensorFlow 2.3.x
我一直在努力解决这个问题,直到最近才发现

最简单的解决方法 最简单的解决方案是使用TensorFlow 2.4.0rcx。它仍在预发行版中。但没有给我上述问题。所以

pip uninstall tensorflow
pip install tensorflow==2.4.0rc0
如果您想继续使用TF2.3.x,解决方案 如果您真的坚持使用TensorFlow 2.3.x,那么唯一的解决方案似乎是

  • 尝试基于Linux的操作系统(Ubuntu)
  • 从源代码编译TensorFlow(根据评论)

请提供要运行def get_model(n_inputs=800,n_outputs=200)的确切代码:model=keras.Sequential()model.add(BatchNormalization())model.add(稠密(512,input_dim=n_inputs,activation='relu'))model.add(辍学(0.2))model.add(稠密(256,input_dim=n_inputs,activation='relu'))model.add(稠密(n_outputs,activation='sigmoid'))model.compile(loss='binary'u crossentropy',optimizer='adam')返回模型model=get_model()@用户2533922,是这样还是回答你的问题?@TFer2。这些都不是解决方案。我知道如果我将TF降级到2.2,它会起作用。我一直在使用GPU,直到我升级到tf2.3。我无法用谷歌Colab
tf2.3
Cuda 10.1
使用
顺序模型来复制你的错误。请你清除所有的pyt尊敬的sessions并重试。@thushv89..谢谢您…2.4将需要升级到CuDA 11。我刚刚将TF降级为2.2.1,与以前一样,一切正常..将在2.4发布时重试。。