使用pytorch模型进行推理

使用pytorch模型进行推理,pytorch,Pytorch,我正在使用fastai库()来训练图像分类器。fastai创建的模型实际上是一个pytorch模型 type(model) <class 'torch.nn.modules.container.Sequential'> 根据这里显示的示例:,我知道我需要编写自己的数据加载类,该类将覆盖Dataset类中的一些函数。但我不清楚的是,我需要在测试时应用哪些转换?特别是,如何在测试时规范化图像 另一个问题:我在pytorch中保存和加载模型的方法好吗?我在这里的教程中读到:不推荐我使用的

我正在使用fastai库()来训练图像分类器。fastai创建的模型实际上是一个pytorch模型

type(model)
<class 'torch.nn.modules.container.Sequential'>
根据这里显示的示例:,我知道我需要编写自己的数据加载类,该类将覆盖Dataset类中的一些函数。但我不清楚的是,我需要在测试时应用哪些转换?特别是,如何在测试时规范化图像

另一个问题:我在pytorch中保存和加载模型的方法好吗?我在这里的教程中读到:不推荐我使用的方法。原因还不清楚。

只是澄清一下:不仅打印架构,而且将模型设置为评估模式


特别是,如何在测试时规范化图像

这取决于你的型号。例如,对于
torchvision
模块,必须将输入标准化


关于如何保存/加载模型,/“将对象保存/加载到磁盘文件。”

因此,如果保存_模型,它将保存整个模型对象,包括其架构定义和一些其他内部方面。如果保存,它将只保存包含模型状态(即参数和缓冲区)的字典。保存模型会以各种方式破坏代码,因此首选方法是仅保存和加载模型状态。但是,我不确定fast.ai“model file”实际上是完整模型还是模型的状态。您必须对此进行检查,以便正确加载

torch.save(model,"./torch_model_v1")
the_model = torch.load("./torch_model_v1")
the_model.eval() # shows the entire network architecture