我们知道,我们可以tensor通过 的填充模式来计算输出的形状conv2d,算法很清晰,但是我很困惑conv2d_transpose,它是否填充输入张量然后调用conv2d?它在哪里转置过滤器或输入?如何根据填充模式SAME或VALIDfor计算输出张量的形状conv2d_transpose?
我正在使用 Pytorch 0.4.0 使用类似 UNet 的 CNN 架构进行图像分割。它在最终分割结果中将前景标记为 1,将背景标记为 0。我使用预训练的 VGG 的特征提取器作为我的编码器,所以我需要对编码器输出进行多次上采样。但结果显示了一个奇怪的格子部分,如下所示:
我想知道产生黑色格子的原因。它们看起来像一个网格或方形部分。如何解决它。此外,我需要将所有deconv层超参数调整为一个统一的或分别修改它们?
环境:Ubuntu 16.04、Pytorch 0.4.0、GTX 1080Ti,上采样的架构是三层deconv层,层层递进。
在我修改了 deconv 超参数之后,(受图像分割结果中的噪声启发使用
从而避免输出填充并满足大小。但是在 100 epoch 之后我遇到了类似的问题。
self.conv1=Basic(1024,512,kernel_size=3,stride=1,padding=1)
self.conv2=Basic(512,512,kernel_size=3,stride=1,padding=1)
self.deconv1=Basic(512,256,kernel_size=4,stride=2,conv=False,padding=1)
self.deconv2=Basic(256,128,kernel_size=4,stride=2,conv=False,padding=1)
self.deconv3=Basic(128,64,kernel_size=4,stride=2,conv=False,padding=1)
#output 480*640 segmap
self.conv4=Basic(64,2,kernel_size=1,stride=1)
# self.avgpool=nn.AvgPool2d(kernel_size=2,stride=2)
def forward(self, input):
input=self.conv1(input)
input=self.conv2(input)
input=self.deconv1(input)
input=self.deconv2(input)
input=self.deconv3(input)
input=self.conv4(input)
# print(input.shape)
#a channel-wise probability map
raw=input
return raw`
Run Code Online (Sandbox Code Playgroud) python image-segmentation deconvolution pytorch semantic-segmentation
I am trying to deconvolve complex gas chromatogram signals into individual gaussian signals. Here is an example, where the dotted line represents the signal I am trying to deconvolve.
I was able to write the code to do this using scipy.optimize.curve_fit; however, once applied to real data the results were unreliable. I believe being able to set bounds to my parameters will improve my results, so I am attempting to use lmfit, which allows this. I am having a problem …
在论文《用于语义分割的全卷积网络》中,作者在反卷积的背景下区分了输入步幅和输出步幅。这些术语有何不同?
我知道original_image * filter = blur_image,*卷积在哪里。因此,filter = ifft(fft(blur)/fft(original))
我有一个原始图像、已知的滤镜和已知的模糊图像。我尝试了以下代码。我只想比较使用 fft 和 ifft 计算的滤波器,并将其与已知的滤波器进行比较。我在Matlab中尝试过:
orig = imread("orig.png")
blur = imread("blur.png")
fftorig = fft(orig)
fftblur = fft(blur)
div = fftblur/fftorig
conv = ifft(div)
Run Code Online (Sandbox Code Playgroud)
结果没有意义。我看到div包含很多NaN值,并且fftblur和fftorig都包含很多 0 值。我需要对此做些什么吗?比如使用fftshift?
编辑:为了使这一点更容易理解,我现在使用以下图像: http: //matlabgeeks.com/tips-tutorials/how-to-blur-an-image-with-a-fourier-transform-in- matlab-第一部分/
我决定使用以下链接计算origimage和的内核:blurimageunpad
kernelc = real(ifft2(fft2(origimage)./fft2(blurimageunpad));
imagesc(kernelc)
colormap gray
Run Code Online (Sandbox Code Playgroud)
结果如下:
https://i.stack.imgur.com/kJavg.jpg
这显然与该链接顶部提到的高斯模糊不匹配
运行tensorflow代码时出现以下错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_shape.py", line 579, in merge_with
new_dims.append(dim.merge_with(other[i]))
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_shape.py", line 138, in merge_with
self.assert_is_compatible_with(other)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_shape.py", line 111, in assert_is_compatible_with
other))
ValueError: Dimensions 5 and 4 are not compatible
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gradients_impl.py", line 602, in gradients
in_grad.set_shape(t_in.get_shape())
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 407, in set_shape
self._shape = self._shape.merge_with(shape)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_shape.py", line 582, in merge_with
raise ValueError("Shapes %s and %s are not compatible" % …Run Code Online (Sandbox Code Playgroud) 我试图tf.nn.deconv2d()在可变大小的数据批处理上使用op.但是,似乎我需要将output_shape参数设置如下:
tf.nn.deconv2d(x, filter, output_shape=[12, 24, 24, 5], strides=[1, 2, 2, 1],
padding="SAME")
Run Code Online (Sandbox Code Playgroud)
为什么tf.nn.deconv2d()要修一个output_shape?有没有办法指定变量批量维度?如果输入批量大小变化会发生什么?
convolution ×3
tensorflow ×3
python ×2
fft ×1
lmfit ×1
matlab ×1
modeling ×1
python-3.x ×1
pytorch ×1