pytorch+显著性检测
mac command+shift+4
数据准备
if __name__ == '__main__':
main()
#命令行参数可以由此注入
记录两个文件
model.txt #相当于model建立的log
opts.txt # record options
model=Net(2)
FCN32
def __init__(self, num_classes):
def __init__(self, 2):
self.score = nn.Conv2d(4096, num_classes, 1)
self.score = nn.Conv2d(4096, 2, 1)
nn.Conv2d(512, 4096, 7),
torch.nn.Conv2d(in_channels , out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
model.apply(weights_init)
#apply函数会递归地搜索网络内的所有module并把参数表示的函数应用到所有的module上。
apply函数:
Conv2d
ReLU
Conv2d
ReLU
MaxPool2d
Conv2d
ReLU
Conv2d
ReLU
MaxPool2d
Conv2d
ReLU
Conv2d
ReLU
Conv2d
ReLU
MaxPool2d
Conv2d
ReLU
Conv2d
ReLU
Conv2d
ReLU
MaxPool2d
Conv2d
ReLU
Conv2d
ReLU
Conv2d
ReLU
MaxPool2d
Sequential
Conv2d
ReLU
Dropout
Conv2d
ReLU
Dropout
Sequential
Conv2d
FCN32
Dropout()防止过拟合
res1 = model(inputs,depth)
当执行model(x)的时候,底层自动调用forward方法计算结果
epoch
1、train
for LEARNING RATE
for model
2、fcn.py
1)init
nn.Conv2d(4, 64, (3, 3), 1, 1)
nn.Conv2d 输入信号的形式为(N,Cin,H,W),N表示batch size,Cin表示channel个数,H,W分别表示特征图的高和宽。
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
经常使用二维的kernel_size如(3,5)
feats = list(vgg16.features.children())
VGG模型有一些变种,其中最受欢迎的当然是 VGG-16,这是一个拥有16层的模型。你可以看到它需要维度是 224*224*3 的输入数据.
torch.nn.Sequential
2)forward