原理
DPN这个模型融入了三种基础模型,inception,resnet,densenet。有inception的宽度,又有resnet的shortcut利用,和densenet的浅层特征重复利用
tensor的切片操作:a 是 [2,3,5,5], 那么 a[:,:1,:,:] 就是 [2,1,5,5]。a,b 都是 [2,3,5,5] ,那么 torch.cat([a[:,:1,:,:] + b[:,:1,:,:]], dim=1) 还是 2, 1, 5, 5], 数据相加,值大小的变化。但 torch.cat([a[:,:1,:,:], b[:,:1,:,:]], dim=1) 是 [2, 2, 5, 5],拼接了一个特征图。通道数的改变。
代码实现
# DPN这个模型融入了三种基础模型,inception,resnet,densenet。
# 有inception的宽度,又有resnet的shortcut利用,和densenet的浅层特征重复利用
# tensor的切片操作:a 是 [2,3,5,5], 那么 a[:,:1,:,:] 就是 [2,1,5,5]
# a,b 都是 [2,3,5,5] ,那么 torch.cat([a[:,:1,:,:] + b[:,:1,:,:]], dim=1) 还是 2, 1, 5, 5], 数据相加,值大小的变化
# 但 torch.cat([a[:,:1,:,:], b[:,:1,:,:]], dim=1) 是 [2, 2, 5, 5],拼接了一个特征图。通道数的改变
from time import sleep
import torch
import torch.nn as nn