def __init__(self):
super(SqueezeNet, self).__init__()
self.lr = 0.01
self.momentum = 0.01
self.N_FRAMES = 2
self.N_STEPS = 10
self.pre_metadata_features = nn.Sequential(
nn.Conv2d(12, 64, kernel_size=3, stride=2),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True),
Fire(64, 16, 64, 64),
)
self.post_metadata_features = nn.Sequential(
Fire(256, 16, 64, 64),
nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True),
Fire(128, 32, 128, 128),
Fire(256, 32, 128, 128),
nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True),
Fire(256, 48, 192, 192),
Fire(384, 48, 192, 192),
Fire(384, 64, 256, 256),
Fire(512, 64, 256, 256),
)
final_conv = nn.Conv2d(512, 66, kernel_size=1)
self.final_output_Aruco = nn.Sequential(
nn.Dropout(p=0.5),
final_conv,
# nn.ReLU(inplace=True),
nn.AvgPool2d(kernel_size=5, stride=6)
)
for m in self.modules():
if isinstance(m, nn.Conv2d):
if m is final_conv:
init.normal(m.weight.data, mean=0.0, std=0.01)
else:
init.kaiming_uniform(m.weight.data)
if m.bias is not None:
m.bias.data.zero_()
评论列表
文章目录