打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
有四个问题请教一下各位大神:
1、我将yolov5s6的pth模型移植到mlu220设备进行使用,首先将模型进行了int8量化,然后转了.cambricon离线模型,但是找到的官方资料中量化过程都只使用了一张图片(程序最后两行),如果我想使用多张图片应该怎么操作呢?
import torch_mlu import torch_mlu.core.mlu_model as ct import torch_mlu.core.mlu_quantize as mlu_quantize import torch import torch.nn as nn import torch.optim as optim import torchvision import numpy as np import torchvision.transforms as transforms import argparse from collections import OrderedDict from PIL import Image import cv2 import os import yolo if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--cfg', type=str, default='yolov5s.yaml',help='model.yaml') parser.add_argument('--device', default='cpu',help='cuda device, i.e. 0 or 0,1,2,3 or cpu') opt = parser.parse_args() # 获取yolov5网络文件 net = yolo.get_model(opt) # 配置量化参数 qconfig={'iteration': 1, 'use_avg':False, 'data_scale':1.0, 'firstconv':False, 'per_channel': False} # 调用量化接口 quantized_net = mlu_quantize.quantize_dynamic_mlu(net.float(),qconfig_spec=qconfig, dtype='int8', gen_quant=True) # 设置为推理模式 quantized_net = quantized_net.eval().float() # 对图片作预处理 img_mat = Image.open("./images/image.jpg") if img_mat.mode != 'RGB': img_mat = img_mat.convert('RGB') crop = 640 resize = 640 transform = transforms.Compose([ transforms.Resize(resize), transforms.CenterCrop(crop), transforms.ToTensor(), ]) img = transform(img_mat) im_tensor = torch.unsqueeze(img, 0) im_tensor = im_tensor.float() print(im_tensor.shape) # 执行推理生成量化值 quantized_net(im_tensor) # 保存量化模型 torch.save(quantized_net.state_dict(), './yolov5s_int8.pt')
2、另外量化过程中的mlu_quantize.quantize_dynamic_mlu()接口参数的mean和std应该怎么选择呢?
3、int8.pth模型在转.cambricon离线模型的过程中需要使用图片吗?
4、在mlu220设备上部署yolov5的c++代码中(github),模型推理获取结果后并没有找到NMS的处理,想问一下NMS是在c++的CNRT库内部实现了吗?
热门帖子
精华帖子