(Pytorch)涉及的常见操作

涉及一些pytorch的API内容在此进行整理

损失函数:Binary-Cross-Entropy loss

criterion = nn.BCECriterion()

创建一个标准来度量目标和输出之间的二值交叉熵

$CrossEntropy(t,o) = -(t*log(o) + (1-t) * log(1-o)) $ 

这是用来测量误差的重建,例如一个自动编码器。


 

卷积操作 2Dconv spatial conv

module = nn.SpatialConvolution(nInputPlane, nOutputPlane, kW, kH, [dW], [dH], [padW], [padH])

各参数的意义

nInputPlane: 输入图像的通道数
nOutputPlane: 卷积层输出数据的通道数(Caffe中的num_output)
kW: 卷积核窗口宽度
kH: 卷积核窗口长度
dW: 卷积窗口沿宽边方向上的移动步距,默认值为1
dH: 卷积窗口沿长边方向上的移动步距,默认值为1
padW, padH: 输入补零,默认值是0,比较好的设置是(kW-1)/2,可以保证卷积后feature map的plane size与输入的plane size一致。

卷积操作  空间全卷积  spatial full conv

module = nn.SpatialFullConvolution(nInputPlane, nOutputPlane, kW, kH, [dW], [dH], [padW], [padH], [adjW], [adjH])

咋一看与SpatialConvolution基本一致,只是多了两个参数而已。在其他框架下,这一操作相当于: “In-network Upsampling”, “Fractionally-strided convolution”, “Backwards Convolution,” “Deconvolution”, or “Upconvolution. 及反卷积

各参数的意义:

nOutputPlane: 卷积层输出数据的通道数(Caffe中的num_output)
kW: 卷积核窗口宽度
kH: 卷积核窗口长度
dW: 卷积窗口沿宽边方向上的移动步距,默认值为1
dH: 卷积窗口沿长边方向上的移动步距,默认值为1
padW, padH: 输入补零,默认值是0,比较好的设置是(kW-1)/2,可以保证卷积后feature map的plane size与输入的plane size一致
adjW: 额外加上一定的宽度或者高度到输出图像中,默认值是0,但是不能超过dW-1/dH-1。

因为spatial full conv 是等同于上采样或者叫做反卷积,所以他的输出feature map的计算公式与一般的conv 是不同的:

owidth  = (width  - 1) * dW - 2*padW + kW + adjW
oheight = (height - 1) * dH - 2*padH + kH + adjH
posted @ 2019-07-19 14:47  陈柯成  阅读(645)  评论(0编辑  收藏  举报