Python TensorFlow:卷积网络中的维数不相容误差
我假设权重变量Python TensorFlow:卷积网络中的维数不相容误差,python,numpy,machine-learning,tensorflow,Python,Numpy,Machine Learning,Tensorflow,我假设权重变量weights['wc1']的形状不正确,但我不确定正确的形状是什么。问题是,您的输入图像(在\u X中)有3个通道(可能是红色、绿色和蓝色),而层conv1的卷积滤波器(在\u weights['wc1']中)需要1个输入通道 对于如何解决此问题,至少有两种可能性: 重新定义权重['wc1']以接受3个输入通道: I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library lib
weights['wc1']
的形状不正确,但我不确定正确的形状是什么。问题是,您的输入图像(在\u X
中)有3个通道(可能是红色、绿色和蓝色),而层conv1
的卷积滤波器(在\u weights['wc1']
中)需要1个输入通道
对于如何解决此问题,至少有两种可能性:
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
File "/home/anilil/projects/pycharm-community-5.0.4/helpers/pydev/pydevd.py", line 2411, in <module>
globals = debugger.run(setup['file'], None, None, is_module)
File "/home/anilil/projects/pycharm-community-5.0.4/helpers/pydev/pydevd.py", line 1802, in run
launch(file, globals, locals) # execute the script
File "/media/anilil/Data/charm/Cnn/build_vgg_model.py", line 104, in <module>
pred = vgg_single_frame(x, weights, biases, keep_prob)
File "/media/anilil/Data/charm/Cnn/build_vgg_model.py", line 50, in vgg_single_frame
conv1 = conv2d('conv1', _X, _weights['wc1'], _biases['bc1'],s=2)
File "/media/anilil/Data/charm/Cnn/build_vgg_model.py", line 38, in conv2d
return tf.nn.relu(tf.nn.bias_add(tf.nn.conv2d(l_input, w, strides=[1, s, s, 1], padding='SAME'),b), name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 211, in conv2d
use_cudnn_on_gpu=use_cudnn_on_gpu, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 655, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2042, in create_op
set_shapes_for_outputs(ret)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1528, in set_shapes_for_outputs
shapes = shape_func(op)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/common_shapes.py", line 187, in conv2d_shape
input_shape[3].assert_is_compatible_with(filter_shape[2])
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_shape.py", line 94, in assert_is_compatible_with
% (self, other))
ValueError: Dimensions Dimension(3) and Dimension(1) are not compatible
tf.image.rgb\u to_grayscale()
op:
weights = {
'wc1': tf.Variable(tf.random_normal([7, 7, 3, 96])), # ...
# ...
}
问题是您的输入图像(在
\ux
中)有3个通道(可能是红色、绿色和蓝色),而层conv1
的卷积滤波器(在\u权重['wc1']
中)需要1个输入通道
对于如何解决此问题,至少有两种可能性:
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
File "/home/anilil/projects/pycharm-community-5.0.4/helpers/pydev/pydevd.py", line 2411, in <module>
globals = debugger.run(setup['file'], None, None, is_module)
File "/home/anilil/projects/pycharm-community-5.0.4/helpers/pydev/pydevd.py", line 1802, in run
launch(file, globals, locals) # execute the script
File "/media/anilil/Data/charm/Cnn/build_vgg_model.py", line 104, in <module>
pred = vgg_single_frame(x, weights, biases, keep_prob)
File "/media/anilil/Data/charm/Cnn/build_vgg_model.py", line 50, in vgg_single_frame
conv1 = conv2d('conv1', _X, _weights['wc1'], _biases['bc1'],s=2)
File "/media/anilil/Data/charm/Cnn/build_vgg_model.py", line 38, in conv2d
return tf.nn.relu(tf.nn.bias_add(tf.nn.conv2d(l_input, w, strides=[1, s, s, 1], padding='SAME'),b), name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 211, in conv2d
use_cudnn_on_gpu=use_cudnn_on_gpu, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 655, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2042, in create_op
set_shapes_for_outputs(ret)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1528, in set_shapes_for_outputs
shapes = shape_func(op)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/common_shapes.py", line 187, in conv2d_shape
input_shape[3].assert_is_compatible_with(filter_shape[2])
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_shape.py", line 94, in assert_is_compatible_with
% (self, other))
ValueError: Dimensions Dimension(3) and Dimension(1) are not compatible
tf.image.rgb\u to_grayscale()
op:
weights = {
'wc1': tf.Variable(tf.random_normal([7, 7, 3, 96])), # ...
# ...
}