Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TensorFlow CNN tf.nn.conv2d值错误:输出深度不是组数的倍数(op:'conv2d')_Python_Tensorflow_Jupyter Notebook - Fatal编程技术网

Python TensorFlow CNN tf.nn.conv2d值错误:输出深度不是组数的倍数(op:'conv2d')

Python TensorFlow CNN tf.nn.conv2d值错误:输出深度不是组数的倍数(op:'conv2d'),python,tensorflow,jupyter-notebook,Python,Tensorflow,Jupyter Notebook,我正在处理CNN分类模型,并尝试应用MNIST数据集,并在tf.nn.conv2d操作期间获得以下ValueError异常,有关更多详细信息,请参阅下文 conv2d操作的代码段: 打印报表: 例外摘录: 你知道我做错了什么吗 我提前感谢您的回答和提示 多亏了一位朋友,我后来找到了解决办法 而不是: self.filter_convolutional_layer_2 = tf.Variable(tf.random.normal([CONV2_f,CONV2_f, image_channe

我正在处理CNN分类模型,并尝试应用MNIST数据集,并在tf.nn.conv2d操作期间获得以下ValueError异常,有关更多详细信息,请参阅下文

conv2d操作的代码段:

打印报表:

例外摘录:

你知道我做错了什么吗


我提前感谢您的回答和提示

多亏了一位朋友,我后来找到了解决办法

而不是:

    self.filter_convolutional_layer_2 = tf.Variable(tf.random.normal([CONV2_f,CONV2_f, image_channels, CONV2_n]))
使用:

Input layer dimension:  (1000, 28, 28, 1)
CONV1 layer dimension:  (1000, 24, 24, 6)
POOL1 layer dimension:  (1000, 12, 12, 6)
self.max_pool_layer_1.shape =  (1000, 12, 12, 6)
self.filter_convolutional_layer_2.shape =  (5, 5, 1, 16)

---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\framework\ops.py in _create_c_op(graph, node_def, inputs, control_inputs)
   1863   try:
-> 1864     c_op = c_api.TF_FinishOperation(op_desc)
   1865   except errors.InvalidArgumentError as e:

InvalidArgumentError: Depth of output (16) is not a multiple of the number of groups (6) for 'Conv2D_1' (op: 'Conv2D') with input shapes: [1000,12,12,6], [5,5,1,16].

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-21-b36571fb8c02> in <module>
     10     mnist.train_images.shape[3],
     11     batch_size,
---> 12     learning_rate,
     13 )
     14 

<ipython-input-13-d4fafa792491> in __init__(self, num_classes, image_height, image_width, image_channels, batch_size, learning_rate)
     49         print('self.filter_convolutional_layer_2.shape = ', self.filter_convolutional_layer_2.shape)
     50 
---> 51         self.conv2d_convolutional_layer_2 = tf.nn.conv2d(self.max_pool_layer_1, use_cudnn_on_gpu=True, filter=self.filter_convolutional_layer_2, strides=[1, 1, 1, 1], padding='VALID')
     52 
     53         self.biases_convolutional_layer_2 = tf.Variable(tf.random.normal([1, CONV2_n]))

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\ops\nn_ops.py in conv2d(input, filter, strides, padding, use_cudnn_on_gpu, data_format, dilations, name, filters)
   1951                            data_format=data_format,
   1952                            dilations=dilations,
-> 1953                            name=name)
   1954 
   1955 

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\ops\gen_nn_ops.py in conv2d(input, filter, strides, padding, use_cudnn_on_gpu, explicit_paddings, data_format, dilations, name)
   1069                   padding=padding, use_cudnn_on_gpu=use_cudnn_on_gpu,
   1070                   explicit_paddings=explicit_paddings,
-> 1071                   data_format=data_format, dilations=dilations, name=name)
   1072   _result = _op.outputs[:]
   1073   _inputs_flat = _op.inputs

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\framework\op_def_library.py in _apply_op_helper(self, op_type_name, name, **keywords)
    786         op = g.create_op(op_type_name, inputs, dtypes=None, name=scope,
    787                          input_types=input_types, attrs=attr_protos,
--> 788                          op_def=op_def)
    789       return output_structure, op_def.is_stateful, op
    790 

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\util\deprecation.py in new_func(*args, **kwargs)
    505                 'in a future version' if date is None else ('after %s' % date),
    506                 instructions)
--> 507       return func(*args, **kwargs)
    508 
    509     doc = _add_deprecated_arg_notice_to_docstring(

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\framework\ops.py in create_op(***failed resolving arguments***)
   3614           input_types=input_types,
   3615           original_op=self._default_original_op,
-> 3616           op_def=op_def)
   3617       self._create_op_helper(ret, compute_device=compute_device)
   3618     return ret

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\framework\ops.py in __init__(self, node_def, g, inputs, output_types, control_inputs, input_types, original_op, op_def)
   2025           op_def, inputs, node_def.attr)
   2026       self._c_op = _create_c_op(self._graph, node_def, grouped_inputs,
-> 2027                                 control_input_ops)
   2028 
   2029     # Initialize self._outputs.

C:\dev\programs\Miniconda3\envs\mseml2-gpu\lib\site-packages\tensorflow\python\framework\ops.py in _create_c_op(graph, node_def, inputs, control_inputs)
   1865   except errors.InvalidArgumentError as e:
   1866     # Convert to ValueError for backwards compatibility.
-> 1867     raise ValueError(str(e))
   1868 
   1869   return c_op

ValueError: Depth of output (16) is not a multiple of the number of groups (6) for 'Conv2D_1' (op: 'Conv2D') with input shapes: [1000,12,12,6], [5,5,1,16].

name: PLACEHOLDER
channels:
 - defaults
dependencies:
 - jupyter==1.0.0
 - matplotlib==3.1.1
 - numpy==1.16.5
 - scikit-learn==0.21.2
 - scipy==1.3.1
 - tensorboard==1.14.0
 - tensorflow-gpu==1.14.0
 - python==3.7.0
    self.filter_convolutional_layer_2 = tf.Variable(tf.random.normal([CONV2_f,CONV2_f, image_channels, CONV2_n]))
    self.filter_convolutional_layer_2 = tf.Variable(tf.random.normal([CONV2_f,CONV2_f, self.max_pool_layer_1.shape[3], CONV2_n]))