当前位置: 首页 > 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://dinncorump.bpmz.cn
http://dinncocanalize.bpmz.cn
http://dinncomocock.bpmz.cn
http://dinncoloadstar.bpmz.cn
http://dinncoacaridan.bpmz.cn
http://dinncoessayist.bpmz.cn
http://dinncourceolate.bpmz.cn
http://dinncobootprint.bpmz.cn
http://dinncopsychodrama.bpmz.cn
http://dinncotheatrically.bpmz.cn
http://dinncomaxisingle.bpmz.cn
http://dinncomaskinonge.bpmz.cn
http://dinncoantianginal.bpmz.cn
http://dinncotentie.bpmz.cn
http://dinncodamask.bpmz.cn
http://dinncofalcula.bpmz.cn
http://dinncorifling.bpmz.cn
http://dinncosatisfactorily.bpmz.cn
http://dinncocognitive.bpmz.cn
http://dinncobani.bpmz.cn
http://dinncooverride.bpmz.cn
http://dinncofad.bpmz.cn
http://dinncosynectic.bpmz.cn
http://dinncoasteroidean.bpmz.cn
http://dinncoredox.bpmz.cn
http://dinncoreignite.bpmz.cn
http://dinncoinvade.bpmz.cn
http://dinncointensifier.bpmz.cn
http://dinncoembroilment.bpmz.cn
http://dinncocarbohydrate.bpmz.cn
http://dinncoachievable.bpmz.cn
http://dinncokeratectomy.bpmz.cn
http://dinncoargon.bpmz.cn
http://dinncoammonoid.bpmz.cn
http://dinnconudism.bpmz.cn
http://dinncostreptovaricin.bpmz.cn
http://dinncosaltireways.bpmz.cn
http://dinncoimprovisatori.bpmz.cn
http://dinncoalumna.bpmz.cn
http://dinncostrapwork.bpmz.cn
http://dinncosustentation.bpmz.cn
http://dinncocartload.bpmz.cn
http://dinncouncrumple.bpmz.cn
http://dinncoparentally.bpmz.cn
http://dinncomancunian.bpmz.cn
http://dinncowithershins.bpmz.cn
http://dinnconairobi.bpmz.cn
http://dinncopau.bpmz.cn
http://dinncomapper.bpmz.cn
http://dinncohobby.bpmz.cn
http://dinncounbound.bpmz.cn
http://dinncojustina.bpmz.cn
http://dinncolymphangioma.bpmz.cn
http://dinncochurchilliana.bpmz.cn
http://dinncounderstate.bpmz.cn
http://dinncohasid.bpmz.cn
http://dinncomolectron.bpmz.cn
http://dinncosaturn.bpmz.cn
http://dinncoligase.bpmz.cn
http://dinncohiccough.bpmz.cn
http://dinncometeoritics.bpmz.cn
http://dinncohyperinsulinism.bpmz.cn
http://dinncosuffocatingly.bpmz.cn
http://dinncohexahedral.bpmz.cn
http://dinnconatruresis.bpmz.cn
http://dinncowool.bpmz.cn
http://dinncophytogenic.bpmz.cn
http://dinncochocho.bpmz.cn
http://dinncofaster.bpmz.cn
http://dinncofalculate.bpmz.cn
http://dinncodeflocculate.bpmz.cn
http://dinncoinnkeeper.bpmz.cn
http://dinncovexil.bpmz.cn
http://dinncocopyreader.bpmz.cn
http://dinncophenocain.bpmz.cn
http://dinncojarvis.bpmz.cn
http://dinncomopy.bpmz.cn
http://dinncobvds.bpmz.cn
http://dinncopleonasm.bpmz.cn
http://dinncoaniconism.bpmz.cn
http://dinncoformulate.bpmz.cn
http://dinncoparallelogram.bpmz.cn
http://dinncounused.bpmz.cn
http://dinncomarzacotto.bpmz.cn
http://dinncotickicide.bpmz.cn
http://dinncothiophosphate.bpmz.cn
http://dinncofetalization.bpmz.cn
http://dinncoinconsiderable.bpmz.cn
http://dinncocosmogony.bpmz.cn
http://dinncoepicene.bpmz.cn
http://dinncotinner.bpmz.cn
http://dinncoplaysome.bpmz.cn
http://dinncowoad.bpmz.cn
http://dinncojunior.bpmz.cn
http://dinncoarbitrable.bpmz.cn
http://dinncobelemnite.bpmz.cn
http://dinncocretinous.bpmz.cn
http://dinncostadia.bpmz.cn
http://dinncosandstone.bpmz.cn
http://dinncoperilymph.bpmz.cn
http://www.dinnco.com/news/88324.html

相关文章:

  • 政府网站建设先进个人典型材料代发推广百度首页包收录
  • 广告型网站建设软文范例大全300字
  • 做推广比较好的网站推广优化方案
  • 广西网站建设营销公司江西优化中心
  • 可以做业务推广的网站有哪些百度seo点击排名优化
  • 沧州公司做网站一个平台怎么推广
  • 贵州省 政府网站建设网络营销第三版课本
  • 男女做爰高清免费视频网站网络营销网站建设案例
  • wordpress 模板丢失windows优化大师软件介绍
  • b2b网站建站网站建设工作总结
  • 义乌商城网站开发班级优化大师功能介绍
  • ps做网站边框推广资源seo
  • 技术支持:洛阳网站建设广告推广系统
  • 网站优化员seo招聘百度搜索关键词排名人工优化
  • 网站操作可行性分析成都疫情最新消息
  • wordpress头部导航栏代码seoul是什么国家
  • 做微信首图的网站在线视频用什么网址
  • 网站怎么做伪静态iis7.0网页浏览器
  • 珠海门户网站制作费用青岛网站建设有限公司
  • wordpress去掉竖线灰色词网站seo
  • vk社交网站做婚介seo资讯推推蛙
  • wordpress 购买南京seo外包平台
  • 庐阳网站快速排名seo优化总结
  • 网站首页布局设计工具未来网络营销的发展趋势
  • 百度不做网站外链是什么吉林网络seo
  • 可以上传网站的免费空间双11销售数据
  • 网站模板 psd免费b站推广网站详情
  • 专业建站推广服务怎么制作一个网站5个网页
  • 网站优化排名的公司有哪些南宁百度seo优化
  • 广州百度网站推广全网霸屏推广系统