-
FCN是用深度神经网络来做语义分割的奠基性工作;它用转置卷积层来替换CNN最后的全连接层,从而可以实现每个像素的预测。
-
初始化转置卷积层
# 利用双线性插值来初始化卷积核参数 def bilinear_kernel(in_channels, out_channels, kernel_size): factor = (kernel_size + 1) // 2 if kernel_size % 2 == 1: center = factor - 1 else: center = factor - 0.5 og = (torch.arange(kernel_size).reshape(-1, 1), torch.arange(kernel_size).reshape(1, -1)) filt = (1 - torch.abs(og[0] - center) / factor) * (1 - torch.abs(og[1] - center) / factor) weight = torch.zeros((in_channels, out_channels, kernel_size, kernel_size)) weight[range(in_channels), range(out_channels), :, :] = filt return weight
48 全连接卷积神经网络 FCN [动手学深度学习v2]
于 2022-01-19 15:59:39 首次发布