这里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使用实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!