def __init__(self, n_layers=2, h_size=420):
super(AlexLSTM, self).__init__()
print('Building AlexNet + LSTM model...')
self.h_size = h_size
self.n_layers = n_layers
alexnet = models.alexnet(pretrained=True)
self.conv = nn.Sequential(*list(alexnet.children())[:-1])
self.lstm = nn.LSTM(1280, h_size, dropout=0.2, num_layers=n_layers)
self.fc = nn.Sequential(
nn.Linear(h_size, 64),
nn.ReLU(),
nn.Dropout(0.2),
nn.Linear(64, 1)
)
python类alexnet()的实例源码
def getNetwork(args):
if (args.net_type == 'alexnet'):
net = models.alexnet(pretrained=args.finetune)
file_name = 'alexnet'
elif (args.net_type == 'vggnet'):
if(args.depth == 11):
net = models.vgg11(pretrained=args.finetune)
elif(args.depth == 13):
net = models.vgg13(pretrained=args.finetune)
elif(args.depth == 16):
net = models.vgg16(pretrained=args.finetune)
elif(args.depth == 19):
net = models.vgg19(pretrained=args.finetune)
else:
print('Error : VGGnet should have depth of either [11, 13, 16, 19]')
sys.exit(1)
file_name = 'vgg-%s' %(args.depth)
elif (args.net_type == 'resnet'):
net = resnet(args.finetune, args.depth)
file_name = 'resnet-%s' %(args.depth)
else:
print('Error : Network should be either [alexnet / vggnet / resnet]')
sys.exit(1)
return net, file_name
def alexnet(num_classes=1000, pretrained='imagenet'):
r"""AlexNet model architecture from the
`"One weird trick..." <https://arxiv.org/abs/1404.5997>`_ paper.
"""
# https://github.com/pytorch/vision/blob/master/torchvision/models/alexnet.py
model = models.alexnet(pretrained=False)
if pretrained is not None:
settings = pretrained_settings['alexnet'][pretrained]
model = load_pretrained(model, num_classes, settings)
model = modify_alexnet(model)
return model
###############################################################
# DenseNets