2. 扩展模型¶
2.1. 模型存储位置¶
├── EvalBox
├── Models
│ ├── TestModels 测试用模型存储路径
│ ├── UserModels 用户个人模型存储路径
│ │ ├── utils
│ │ ├── ResNet2.py
│ │ ├── new_model.py 用户新上传模型
│ ├── weights
│ │ ├── resnet20_cifar.pt
│ │ ├── new_weights.pt 用户新上传模型对应参数文件
│ ├── basic_module
├── utils
├── test
├── Datasets
2.2. 模型扩展要求¶
如下为一个可使用模型实例:
import ...
from Models.basic_module import BasicModule
# 用户可自定义若干辅助方法
def adjust_learning_rate(epoch, optimizer):
...
def conv3x3(in_planes, out_planes, stride=1):
...
# 用户可通过类,定义若干个人模型
class BasicBlock(BasicModule):
...
class ResNet_Cifar(BasicModule):
...
# 用户自定义实现的获取模型的方法
def resnet20_cifar(thermometer = False, level = 1):
model = ResNet_Cifar(BasicBlock, [3, 3, 3], thermometer = thermometer, level = level)
# 返回值应为用户实现的模型文件中模型
return model
# 必须实现的公用方法getModel
def getModel():
return resnet20_cifar()
模型的格式仅需要遵循,实现getModel函数,返回模型。