当前位置:首页 >> 脚本专栏

pytorch中的inference使用实例

这里inference两个程序的连接,如目标检测,可以利用一个程序提取候选框,然后把候选框输入到分类cnn网络中。

这里常需要进行一定的连接。

#加载训练好的分类CNN网络
model=torch.load('model.pkl')

#假设proposal_img是我们提取的候选框,是需要输入到CNN网络的数据

#先定义transforms对输入cnn的网络数据进行处理,常包括resize、totensor等操作
data_transforms=transforms.Compose([transforms.RandomSizedCrop(224),
transforms.ToTensor()])

#由于transforms是对PIL格式数据操作,所以必要时转化格式

def tensor_to_PIL(tensor):
 image = tensor.cpu().clone()
 image = image.squeeze(0)
 image = unloader(image)
 return image
 
#unqueeze(0)是加多一维,对应原来batchsiaze
data=data_transforms(proposal_img).unqueeze(0)

#新版本pytorch已经不用variable,可以省略这句
data=Variable(data)
#貌似这句也是多余的
torch.no_grad()

predict=F.softmax(model(data.cuda()).cuda())

以上这篇pytorch中的inference使用实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。