使用Keras与Tensorflow后端的TFE_Py_RecordGradient错误

时间:2018-08-19 03:50:25

标签: python tensorflow keras gpu

我正在尝试在Nvidia GPU上使用Keras和Tensorflow训练卷积神经网络。我尝试使用代码和数据实现没有锁的非常简单的模型模型。我尝试定义的每个网络都会给我同样的错误:

  

文件“”,第2行,在       model.add(Dense(12,input_dim = 5,kernel_initializer ='normal',activation ='relu'))>

     

添加文件“ build / bdist.linux-x86_64 / egg / keras / models.py”,第463行       name = layer.name +'_input')

     

输入中的文件“ build / bdist.linux-x86_64 / egg / keras / engine / topology.py”,行1457       input_tensor = tensor)

     

在包装器中的文件“ build / bdist.linux-x86_64 / egg / keras / legacy / interfaces.py”,第91行       返回func(* args,** kwargs)

     

init 中的文件“ build / bdist.linux-x86_64 / egg / keras / engine / topology.py”,第1366行       name = self.name)

     

文件“ build / bdist.linux-x86_64 / egg / keras / backend / tensorflow_backend.py”,第507行,在占位符中       x = tf.placeholder(dtype,shape = shape,name = name)

     

文件“ /home/smalldave/.local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py”,行1734,在占位符中       返回gen_array_ops.placeholder(dtype = dtype,shape = shape,name = name)

     

文件“ /home/smalldave/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py”,第4929行,占位符       “占位符”,_inputs_flat,_attrs,_result,名称)

     

文件“ /home/smalldave/.local/lib/python2.7/site-packages/tensorflow/python/eager/backprop.py”,行162,在_record_gradient中       返回pywrap_tensorflow.TFE_Py_RecordGradient(op_name,输入,属性,

     

AttributeError:“ NoneType”对象没有属性“ TFE_Py_RecordGradient”

有人知道这个错误的根源吗?

这是我尝试定义的网络示例:

model = Sequential()
model.add(Dense(12, input_dim=5, kernel_initializer='normal', activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='linear'))
model.summary()

非常感谢。

1 个答案:

答案 0 :(得分:0)

从堆栈跟踪中,我发现您使用的是keras而不是tf.keras,它是与TensorFlow安装包打包在一起的。

tf.keras实现了keras.io中定义的API规范,但添加了特定于TensorFlow的其他功能,例如对急切执行的支持。

因此,我怀疑您需要做的只是改变以下内容:

from keras.models import Sequential
from keras.layers import Dense

收件人:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

希望有帮助。