Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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 试图得到单个图像的卷积_Python_Opencv_Tensorflow_Convolution_Tf.keras - Fatal编程技术网

Python 试图得到单个图像的卷积

Python 试图得到单个图像的卷积,python,opencv,tensorflow,convolution,tf.keras,Python,Opencv,Tensorflow,Convolution,Tf.keras,我正在尝试使用tf.keras.backend.conv2d对图像进行一次卷积,得到结果 输入的规格为227像素×227像素,通道大小为3(RGB图像) 我想使用的过滤器大小是11x11,步幅为4。不包括零填充 我不赞成使用tf.keras.backend.conv2d。我愿意改变方法/包,只要我得到一个符合上述规定要求的卷积图像 下面是我正在努力实现的代码块: 将tensorflow导入为tf 从tensorflow进口keras 进口cv2 image=cv2.imread('pic.jpg

我正在尝试使用tf.keras.backend.conv2d对图像进行一次卷积,得到结果

输入的规格为227像素×227像素,通道大小为3(RGB图像)

我想使用的过滤器大小是11x11,步幅为4。不包括零填充

我不赞成使用tf.keras.backend.conv2d。我愿意改变方法/包,只要我得到一个符合上述规定要求的卷积图像

下面是我正在努力实现的代码块:

将tensorflow导入为tf
从tensorflow进口keras
进口cv2
image=cv2.imread('pic.jpg')
conv2d(图像,11,步幅=4,数据格式=“通道最后一个”,扩张率=(1))
我收到了这个错误消息

InvalidArgumentError:无法将Conv2D计算为输入#1(基于零)应为双张量,但为int32张量[Op:Conv2D]名称:卷积/

如果有什么我可以补充澄清,请让我知道。我可以发布整个代码,但大部分代码都是无关的,至少在我看来是这样


感谢所有花时间帮助我的人

您使用了错误的函数。您使用的是卷积运算,它接受一个输入和一个滤波器张量并执行卷积运算。因此,第二个参数应该是过滤张量本身。您试图将
11
作为过滤器张量传递,这显然没有意义。我怀疑您想要使用的是
tf.keras.layers.Conv2D
,它负责根据一些规范创建过滤器,然后包装卷积运算。试试这个:

conv_layer = tf.layers.Conv2D(1, 11, 4)
result = conv_layer(image)
这将创建一个11x11滤波器和一个步长为4的卷积运算;然后第二行调用op.I put
1
作为过滤器的数量(第一个参数),因为我不知道您到底想做什么