Purpose of Resnet18Binary and Resnet18Multiclass classes; distinguish them as separate classes from the general PytorchModel framework. Possibly in the basic tutorial use PytorchModel instead of ResNet18... classes?
So what happened is the ResNet18Binary and Multiclass are based on the original classes Miao wrote, but are a bit more “custom” than the most generic opso classes. The PytorchModel class is the generic class that can take any architecture, including resnet, and the Inception classes are that class adapted for inception. Those are the classes that fit the opso framework and structure, and we should maintain. The Resnet18… classes are kind of legacy or custom in that they use an internally implemented version of the resnet architecture. Thats why they don’t have the same initialization structure, and are created a bit differently. Maybe they should be renamed and tutorials should not use them. But they are what we’ve mostly been using to train models, because they allow the added flexibility of separate training parameters for feature and classification layers. (Enabling this generally would require us to have internal implantation of every architecture). [from #328]
Split out from the big documentation issue #335
Resnet18Binary
andResnet18Multiclass
classes; distinguish them as separate classes from the general PytorchModel framework. Possibly in the basic tutorial use PytorchModel instead of ResNet18... classes?