当前位置: 首页 > news >正文

网站后台文件下载咨询网站源码

网站后台文件下载,咨询网站源码,网页微信手机版,网站建设计入什么会计科目八、模型移植 1. 认识ONNX ​ https://onnx.ai/ ​ Open Neural Network Exchange#xff08;ONNX#xff0c;开放神经网络交换#xff09;格式#xff0c;是一个用于表示深度学习模型的标准#xff0c;可使模型在不同框架之间进行转移。 ​ ONNX的规范及代码主要由微软…八、模型移植 1. 认识ONNX ​ https://onnx.ai/ ​ Open Neural Network ExchangeONNX开放神经网络交换格式是一个用于表示深度学习模型的标准可使模型在不同框架之间进行转移。 ​ ONNX的规范及代码主要由微软亚马逊 Face book 和 IBM等公司共同开发以开放源代码的方式托管在Github上。目前官方支持加载ONNX模型并进行推理的深度学习框架有 Caffe2, PyTorch, PaddlePaddle TensorFlow等。 2. 导出ONNX 2.1 安装依赖包 pip install onnx pip install onnxruntime2.2 导出ONNX模型 import os import torch import torch.nn as nn from torchvision.models import resnet18if __name__ __main__:dir os.path.dirname(__file__)weightpath os.path.join(os.path.dirname(__file__), pth, resnet18_default_weight.pth)onnxpath os.path.join(os.path.dirname(__file__), pth, resnet18_default_weight.onnx)device torch.device(cuda if torch.cuda.is_available() else cpu)model resnet18(pretrainedFalse)model.conv1 nn.Conv2d(#in_channels3,out_channels64,kernel_size3,stride1,padding0,biasFalse,)# 删除池化层model.maxpool nn.MaxPool2d(kernel_size1, stride1, padding0)# 修改全连接层in_feature model.fc.in_featuresmodel.fc nn.Linear(in_feature, 10)model.load_state_dict(torch.load(weightpath, map_locationdevice))model.to(device)# 创建一个实例输入x torch.randn(1, 3, 224, 224, devicedevice)# 导出onnxtorch.onnx.export(model,x,onnxpath,#verboseTrue, # 输出转换过程input_names[input],output_names[output],)print(onnx导出成功) 2.3 ONNX结构可视化 可以直接在线查看https://netron.app/ 也可以下载桌面版https://github.com/lutzroeder/netron 3. ONNX推理 ONNX在做推理时不再需要导入网络且适用于Python、JAVA、PyQT等各种语言不再依赖于PyTorch框架 3.1 简单推理 import onnxruntime as ort import torchvision.transforms as transforms import cv2 as cv import os import numpy as npimg_size 224 transformtest transforms.Compose([transforms.ToPILImage(), # 将numpy数组转换为PIL图像transforms.Resize((img_size, img_size)),transforms.ToTensor(),transforms.Normalize(# 均值和标准差mean[0.4914, 0.4822, 0.4465],std[0.2471, 0.2435, 0.2616],),] )def softmax(x):e_x np.exp(x - np.max(x))return e_x / e_x.sum(axis1, keepdimsTrue)def cv_imread(file_path):cv_img cv.imdecode(np.fromfile(file_path, dtypenp.uint8), cv.IMREAD_COLOR)return cv_imglablename 飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车.split(、)if __name__ __main__:dir os.path.dirname(__file__)weightpath os.path.join(os.path.dirname(__file__), pth, resnet18_default_weight.pth)onnxpath os.path.join(os.path.dirname(__file__), pth, resnet18_default_weight.onnx)# 读取图片img_path os.path.join(dir, test, 5.jpg)img cv_imread(img_path)img cv.cvtColor(img, cv.COLOR_BGR2RGB)img_tensor transformtest(img)# 将图片转换为ONNX运行时所需的格式img_numpy img_tensor.numpy()img_numpy np.expand_dims(img_numpy, axis0) # 增加batch_size维度# 加载onnx模型sess ort.InferenceSession(onnxpath)# 运行onnx模型outputs sess.run(None, {input: img_numpy})output outputs[0]# 应用softmaxprobabilities softmax(output)print(probabilities)# 获得预测结果pred_index np.argmax(probabilities, axis1)pred_value probabilities[0][pred_index[0]]print(pred_index)print(预测目标,lablename[pred_index[0]],预测概率,str(pred_value * 100)[:5] %,) 输出结果 [[6.7321511e-05 9.7113671e-11 7.6417709e-05 2.8661249e-02 7.0206769e-043.9052707e-04 9.7010124e-01 6.8206714e-07 4.1351362e-07 5.7089373e-09]] [6] 预测目标 青蛙 预测概率 97.01%3.2 使用GPU推理 需要安装依赖包 pip install onnxruntime-gpu代码 # 导入FileSystemStorage import time import random import os# 人工智能推理用到的模块 import onnxruntime as ort import torchvision.transforms as transforms import numpy as np import PIL.Image as Imageimg_size 32 transformtest transforms.Compose([transforms.Resize((img_size, img_size)),transforms.ToTensor(),transforms.Normalize(# 均值和标准差mean[0.4914, 0.4822, 0.4465],std[0.2471, 0.2435, 0.2616],),] )def softmax(x):e_x np.exp(x - np.max(x))return e_x / e_x.sum(axis1, keepdimsTrue)def imgclass():# AI推理# 读取图片imgpath os.path.join(os.path.dirname(__file__), .., static/ai, filename)# 加载并预处理图像image Image.open(imgpath)input_tensor transformtest(image)input_tensor input_tensor.unsqueeze(0) # 添加批量维度# 将图片转换为ONNX运行时所需的格式img_numpy input_tensor.numpy()# 加载模型onnxPath os.path.join(#os.path.dirname(__file__),..,onnx,resnet18_default_weight_1.onnx,)# 设置 ONNX Runtime 使用 GPUproviders [CUDAExecutionProvider]sess ort.InferenceSession(onnxPath, providersproviders)# 使用模型对图片进行推理运算output sess.run(None, {input: img_numpy})output softmax(output[0])print(output)ind np.argmax(output, axis1)print(ind)lablename 飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船、卡车.split(、)res {code: 200, msg: 处理成功, url: img, class: lablename[ind[0]]}
http://www.hkea.cn/news/14499963/

相关文章:

  • 烟台网站制作公司上海猎头公司排名
  • 小说网站制作开源为什么网站 关键词策划
  • 网页qq登录保护功能怎么关闭连云港网站推广优化
  • 南京企业网站搭建网站怎么提高百度权重
  • 网站后台管理系统登录总工会网站建设方案
  • dedecms 模版网站门源网站建设公司
  • 网站设计的知识技能安阳王新刚
  • 织梦批量修改网站源代码制作ppt的软件是什么
  • 淘宝上做网站网站建设服务承诺包括什么
  • 如何找到网站的模板页面移动互联网应用程序清理整合情况
  • 网站做淘宝客有什么要求镇江建工建设集团网站
  • 东莞网站设计师网站流量指标
  • 如何提高网站响应速度网站购买空间多少钱
  • 营销型企业网站的类型wordpress学生
  • 3000ok新开传奇网站在线课程网站开发价格
  • tp3企业网站开发百度云成都建站模板网站开发
  • 不同类型的购物网站会员管理系统app
  • 网站淘宝客怎么做的东莞网站建设工作室
  • 晋源网站建设成都网站建设今明互联
  • 建设专业网站网络教师做爰网站
  • 教育行业网站建设价格质量品质好的装修公司
  • 揭阳网站设计国外做彩票网站推广是合法的吗
  • 网站建设公司厦门有哪些app推广引流
  • 新昌网站制作云南建设监理协会官方网站
  • 用vs做网站的教程网站图片被盗连怎么办
  • 用jsp做网站一般会用到什么软件淘宝网站怎样做
  • sem seo是什么意思呢梧州seo
  • c 网站开发如何每天10点执行任务莱芜论坛莱芜话题吕金梦
  • 国家中职示范校建设专题网站网站备案拍布幕
  • 清远市建设局官方网站企业管理论文