TorchVision предоставляет только модель предварительной подготовки данных ImageNet для архитектуры SqueezeNet.Однако вы можете обучить свою собственную модель с использованием набора данных MNIST, взяв только модель (но не предварительно обученную) из torchvision.models
.
In [10]: import torchvision as tv
# get the model architecture only; ignore `pretrained` flag
In [11]: squeezenet11 = tv.models.squeezenet1_1()
In [12]: squeezenet11.training
Out[12]: True
Теперь вы можете использовать эту архитектуру для обучения моделидля данных MNIST, что не должно занимать слишком много времени.
Одна из модификаций, о которой следует помнить, - это обновить количество классов, равное 10 для MNIST.В частности, 1000 следует изменить на 10, а ядро и шагать соответственно.
(classifier): Sequential(
(0): Dropout(p=0.5)
(1): Conv2d(512, 1000, kernel_size=(1, 1), stride=(1, 1))
(2): ReLU(inplace)
(3): AvgPool2d(kernel_size=13, stride=1, padding=0)
)
Вот соответствующее объяснение: finetuning_torchvision_models-squeezenet