我正在尝试在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()
非常感谢。
答案 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
希望有帮助。