Python ny,nz])其中-1指定批处理维度应在运行时设置为适当的大小。

Python ny,nz])其中-1指定批处理维度应在运行时设置为适当的大小。,python,tensorflow,deep-learning,conv-neural-network,convolution,Python,Tensorflow,Deep Learning,Conv Neural Network,Convolution,尝试以下操作: shape = tf.shape(tf.reshape(x, [-1, 32, 32, 7, 1])) DeConnv1 = tf.nn.conv3d_transpose(layer1, filter=w, output_shape=shape, strides=[1,2,2,2,1], padding='SAME') final = tf.reshape(final, [-1, 7168]) 通过这种方式,您不需要在模型中硬编码40,但可以输入您想要的任何批次大小,包括40

尝试以下操作:

shape = tf.shape(tf.reshape(x, [-1, 32, 32, 7, 1]))
DeConnv1 = tf.nn.conv3d_transpose(layer1, filter=w, output_shape=shape, strides=[1,2,2,2,1], padding='SAME')

final = tf.reshape(final, [-1, 7168])

通过这种方式,您不需要在模型中硬编码40,但可以输入您想要的任何批次大小,包括40。

我仍然得到完全相同的错误。你能解释一下这个错误的确切含义吗?谢谢。嗯。。。我没有错。实际上,“内部错误”表明tensorflow侧的形状很好,但问题在CUDA层更深层。tensorflow在您的机器上正常工作吗?谢谢您的帮助。无论出于何种原因,40似乎是一个太大的批量。可能是内存问题之类的。啊,如果你有这么多像in这样的层,40可能确实太多了。看起来重量初始化可能太大了,因为损失在增加,最终会增加到NaN。此外,训练非常深入的模型可能很棘手,我建议您以迭代方式添加层。
shape = tf.shape(tf.reshape(x, [-1, 32, 32, 7, 1]))
DeConnv1 = tf.nn.conv3d_transpose(layer1, filter=w, output_shape=shape, strides=[1,2,2,2,1], padding='SAME')

final = tf.reshape(final, [-1, 7168])