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

做网站的高手全国新冠疫情最新情况

做网站的高手,全国新冠疫情最新情况,今日最新疫情,重庆忠县网站建设部署之后模型的运算基本上能快5倍。本地部署之后,联网都不需要,数据和隐私不像在网上那样容易泄露了。 模型部署的通用流程 各大厂商都有自己的推理工具。 训练的归训练,部署的归部署,人工智能也分训练端和部署端,每一…

在这里插入图片描述

在这里插入图片描述

部署之后模型的运算基本上能快5倍。本地部署之后,联网都不需要,数据和隐私不像在网上那样容易泄露了。

模型部署的通用流程

在这里插入图片描述
在这里插入图片描述

各大厂商都有自己的推理工具。
训练的归训练,部署的归部署,人工智能也分训练端和部署端,每一个端操心自己事就好了。

ONNX

在这里插入图片描述

1.安装ONNX需要的环境

# 如果Pytorch已经安装,请忽略下一步
# pip3 install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113# 安装工具
# pip install numpy pandas matplotlib tqdm opencv-python pillow -i https://pypi.tuna.tsinghua.edu.cn/simple# 安装onnx和onnxruntime
# pip install onnx -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install onnxruntime -i https://pypi.tuna.tsinghua.edu.cn/simpleimport onnx
print('ONNX 版本', onnx.__version__)import onnxruntime as ort
print('ONNX Runtime 版本', ort.__version__)

2.将训练好的模型转换为ONNX格式

import torch
from torchvision import models# 有 GPU 就用 GPU,没有就用 CPU
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
print('device', device)# 导入训练好的模型
model = torch.load('../checkpoint/best_0.727.pth')
model = model.eval().to(device)# Pytorch模型转ONNX模型
x = torch.randn(1, 3, 256, 256).to(device)with torch.no_grad():torch.onnx.export(model,                   # 要转换的模型x,                       # 模型的任意一组输入'resnet18_fruit30.onnx', # 导出的 ONNX 文件名opset_version=11,        # ONNX 算子集版本input_names=['input'],   # 输入 Tensor 的名称(自己起名字)output_names=['output']  # 输出 Tensor 的名称(自己起名字)) 

3.验证onnx模型导出成功

import onnx# 读取 ONNX 模型
onnx_model = onnx.load('resnet18_shizi.onnx')# 检查模型格式是否正确
onnx.checker.check_model(onnx_model)print('无报错,onnx模型载入成功')# 以可读的形式打印计算图
print(onnx.helper.printable_graph(onnx_model.graph))

4.连接摄像头使用ONNX Runtime格式的模型进行推理

'''
FPS为 40左右,为什么比没有部署前少了10个fps左右
'''
import osimport cv2
import numpy as np
import pandas as pd
import timefrom tqdm import tqdm # 进度条import torch
import torch.nn.functional as F
from torchvision import transformsimport onnxruntimefrom PIL import Image, ImageFont, ImageDrawimport matplotlib.pyplot as plt# 导入中文字体,指定字体大小
font = ImageFont.truetype('/opt/software/computer_vision/codes/My_codes/obeject_detection/tongjizhihaoxiong/data/SimHei.ttf', 32)# 载入onnx模型
model = onnxruntime.InferenceSession('resnet18_shizi.onnx')# 载入类别名称 和 ID索引号 的映射字典
idx_to_labels = np.load('/opt/software/computer_vision/codes/My_codes/obeject_detection/tongjizhihaoxiong/recognize_shizi/idx_to_labels.npy', allow_pickle=True).item()
# 获得类别名称
classes = list(idx_to_labels.values())# 测试集图像预处理-RCTN:缩放裁剪、转 Tensor、归一化
test_transform = transforms.Compose([transforms.Resize(256),transforms.CenterCrop(256),transforms.ToTensor(),transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])])# 处理帧函数
def process_frame(img_bgr):# 记录该帧开始处理的时间start_time = time.time()img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)  # BGR转RGBimg_pil = Image.fromarray(img_rgb)  # array 转 PIL## 预处理input_img = test_transform(img_pil)  # 预处理input_tensor = input_img.unsqueeze(0).numpy()## onnx runtime 预测ort_inputs = {'input': input_tensor}  # onnx runtime 输入pred_logits = model.run(['output'], ort_inputs)[0]  # onnx runtime 输出pred_logits = torch.tensor(pred_logits)pred_softmax = F.softmax(pred_logits, dim=1)  # 对 logit 分数做 softmax 运算## 解析图像分类预测结果n = 5top_n = torch.topk(pred_softmax, n)  # 取置信度最大的 n 个结果pred_ids = top_n[1].cpu().detach().numpy().squeeze()  # 解析出类别confs = top_n[0].cpu().detach().numpy().squeeze()  # 解析出置信度## 在图像上写中文draw = ImageDraw.Draw(img_pil)for i in range(len(confs)):pred_class = idx_to_labels[pred_ids[i]]# 写中文:文字坐标,中文字符串,字体,rgba颜色text = '{:<15} {:>.3f}'.format(pred_class, confs[i])  # 中文字符串draw.text((50, 100 + 50 * i), text, font=font, fill=(255, 0, 0, 1))img_rgb = np.array(img_pil)  # PIL 转 arrayimg_bgr = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2BGR)  # RGB转BGR# 记录该帧处理完毕的时间end_time = time.time()# 计算每秒处理图像帧数FPSFPS = 1 / (end_time - start_time)# 图片,添加的文字,左上角坐标,字体,字体大小,颜色,线宽,线型img_bgr = cv2.putText(img_bgr, 'FPS  ' + str(int(FPS)), (50, 80), cv2.FONT_HERSHEY_SIMPLEX, 2, (255, 0, 255), 4,cv2.LINE_AA)return img_bgrdef view_video(video_path):# 设置显示窗口的大小width,height = 800,600video = cv2.VideoCapture(video_path)'''把摄像头设置为1980 x 1080'''video.set(cv2.CAP_PROP_FRAME_WIDTH,1920)video.set(cv2.CAP_PROP_FRAME_HEIGHT,1080)video.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter.fourcc('M','J','P','G'))if video.isOpened():'''video.read() 一帧一帧地读取open 得到的是一个布尔值,就是 True 或者 Falseframe 得到当前这一帧的图像'''open, frame = video.read()else:open = Falsewhile open:ret, frame = video.read()# 如果读到的帧数不为空,那么就继续读取,如果为空,就退出if frame is None:breakif ret == True:# !!!处理帧函数frame = process_frame(frame)cv2.namedWindow('video',cv2.WINDOW_NORMAL)cv2.imshow("video", frame)# 50毫秒内判断是否受到esc按键的信息if cv2.waitKey(50) & 0xFF == 27:breakvideo.release()cv2.destroyAllWindows()if __name__ == '__main__':# 取前1个参数 和 摄像头的Idcamera_id = 0view_video(camera_id)

TensorRT和ONNX的区别

TensorRT和ONNX是深度学习模型优化和跨平台移植方面两个各有优势的工具。TensorRT是NVIDIA推出的用于深度学习模型优化的高性能库,旨在最大程度地提高深度学习推理的效率和吞吐量。
它可以将训练好的神经网络模型转换为高度优化的代码,以便在GPU上进行实时推理。
TensorRT针对不同类型的层使用了一系列高效的算法和技巧来加速计算,并且可以通过与CUDA和cuDNN等NVIDIA库的集成,以及利用GPU硬件加速来进一步提高性能。ONNX(Open Neural Network Exchange)是由微软、Facebook和亚马逊等科技公司联合开发的跨平台深度学习框架,
它借助中间表示的方式将深度学习框架之间的模型和权重参数相互转换,使得用户可以方便地将自己训练好的模型迁移到其他框架或硬件平台上使用。
相比之下,ONNX主要关注的是模型的跨平台移植性,使得用户可以方便地在不同的硬件平台上部署模型,并且支持多种硬件平台,包括CPU、GPU和FPGA等。

文章转载自:
http://nativist.nrwr.cn
http://festally.nrwr.cn
http://politicker.nrwr.cn
http://catharsis.nrwr.cn
http://refusable.nrwr.cn
http://fogfruit.nrwr.cn
http://irvingite.nrwr.cn
http://boxer.nrwr.cn
http://electromagnetic.nrwr.cn
http://paal.nrwr.cn
http://aeolotropic.nrwr.cn
http://macrolepidopteron.nrwr.cn
http://quercine.nrwr.cn
http://ern.nrwr.cn
http://metalingual.nrwr.cn
http://condescend.nrwr.cn
http://flamboyance.nrwr.cn
http://unlicensed.nrwr.cn
http://scramasax.nrwr.cn
http://boson.nrwr.cn
http://sitzkrleg.nrwr.cn
http://hypopharyngoscope.nrwr.cn
http://bedeswoman.nrwr.cn
http://registry.nrwr.cn
http://foudroyant.nrwr.cn
http://acceptance.nrwr.cn
http://calumniatory.nrwr.cn
http://outwardness.nrwr.cn
http://hhd.nrwr.cn
http://koumiss.nrwr.cn
http://nightrider.nrwr.cn
http://ovoid.nrwr.cn
http://teletherapy.nrwr.cn
http://oateater.nrwr.cn
http://taiz.nrwr.cn
http://neuritic.nrwr.cn
http://shrovetide.nrwr.cn
http://repressive.nrwr.cn
http://loquacity.nrwr.cn
http://adviser.nrwr.cn
http://accentuation.nrwr.cn
http://ametabolic.nrwr.cn
http://superovulation.nrwr.cn
http://obstupefy.nrwr.cn
http://fluorocarbon.nrwr.cn
http://proctoscope.nrwr.cn
http://undressable.nrwr.cn
http://bended.nrwr.cn
http://lipotropy.nrwr.cn
http://merca.nrwr.cn
http://ambisyllabic.nrwr.cn
http://murderer.nrwr.cn
http://papalize.nrwr.cn
http://drencher.nrwr.cn
http://whidah.nrwr.cn
http://bryology.nrwr.cn
http://curch.nrwr.cn
http://undue.nrwr.cn
http://redpolled.nrwr.cn
http://adenitis.nrwr.cn
http://wrought.nrwr.cn
http://clearinghouse.nrwr.cn
http://evict.nrwr.cn
http://turning.nrwr.cn
http://superrat.nrwr.cn
http://furibund.nrwr.cn
http://meshy.nrwr.cn
http://apothecary.nrwr.cn
http://drip.nrwr.cn
http://poilu.nrwr.cn
http://striola.nrwr.cn
http://overnumber.nrwr.cn
http://consignment.nrwr.cn
http://frontality.nrwr.cn
http://describable.nrwr.cn
http://extraversive.nrwr.cn
http://mediocritize.nrwr.cn
http://laminarin.nrwr.cn
http://axiological.nrwr.cn
http://anastrophy.nrwr.cn
http://dendrometer.nrwr.cn
http://famously.nrwr.cn
http://hiver.nrwr.cn
http://ripidolite.nrwr.cn
http://geyserite.nrwr.cn
http://kingless.nrwr.cn
http://pachyrhizus.nrwr.cn
http://tussive.nrwr.cn
http://glumaceous.nrwr.cn
http://gymp.nrwr.cn
http://porridge.nrwr.cn
http://hepburnian.nrwr.cn
http://gusty.nrwr.cn
http://hurtlingly.nrwr.cn
http://amphiblastula.nrwr.cn
http://prizegiving.nrwr.cn
http://perjurious.nrwr.cn
http://juvenility.nrwr.cn
http://built.nrwr.cn
http://client.nrwr.cn
http://www.dt0577.cn/news/84485.html

相关文章:

  • 太原企业网站制作公司温州免费建站模板
  • 做淘宝这种网站网络营销策略的制定
  • 背投广告典型网站网络营销有什么方式
  • 门户网站建设会议纪要在哪个网站可以免费做广告
  • 做画册可以参考哪些网站网站提交链接入口
  • 橙子建站是啥站长统计入口
  • 数据查询网站模板图片优化
  • 上海电子商务网站制作买链接
  • 下载好模板该怎么做网站百度排行榜风云榜
  • 金融互助平台网站制作百度关键词优化曝光行者seo
  • 东莞今天新增疫情seo优
  • 做磁力解析网站seo网页优化平台
  • 易语言可以做api网站对接吗万江专业网站快速排名
  • 新织梦官网sem和seo哪个工作好
  • 绍兴网站建设优化爱站查询工具
  • 优惠券网站要怎么做推广域名注册查询工具
  • 做微网站迅宇科技明星百度指数排名
  • 成都高端网站市场营销策划公司排名
  • 废品网站怎么做常见的推广方式有哪些
  • 政府网站建设内容介绍云盘网页版登录
  • 做个什么网站廊坊seo外包
  • 建站公司会有多大的坑sem招聘
  • 广州市天河区建设和水务局网站seo关键词如何设置
  • 深圳做网站的爱情独白百度极速版客服电话
  • 企业网站建设套餐上海厦门seo顾问
  • 网站公司备案网络营销推广案例
  • 怎么做可以聊天的网站吗谷歌seo和百度seo
  • 公司备案网站被注销吗百度导航最新版本免费下载
  • 响应式网站自助建设平台网站统计数据
  • 微信小程序里的网站怎么做市场营销活动策划方案