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

做网站建设月收入多少app开发公司广州英诺

做网站建设月收入多少,app开发公司广州英诺,php做的知名网站,网站界面设计的主要内容部署之后模型的运算基本上能快5倍。本地部署之后#xff0c;联网都不需要#xff0c;数据和隐私不像在网上那样容易泄露了。 模型部署的通用流程 各大厂商都有自己的推理工具。 训练的归训练#xff0c;部署的归部署#xff0c;人工智能也分训练端和部署端#xff0c;每一… 部署之后模型的运算基本上能快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_version11, # 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_pickleTrue).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, dim1) # 对 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, fontfont, 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 1080video.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硬件加速来进一步提高性能。ONNXOpen Neural Network Exchange是由微软、Facebook和亚马逊等科技公司联合开发的跨平台深度学习框架 它借助中间表示的方式将深度学习框架之间的模型和权重参数相互转换使得用户可以方便地将自己训练好的模型迁移到其他框架或硬件平台上使用。 相比之下ONNX主要关注的是模型的跨平台移植性使得用户可以方便地在不同的硬件平台上部署模型并且支持多种硬件平台包括CPU、GPU和FPGA等。
http://www.w-s-a.com/news/275359/

相关文章:

  • 新闻播报最新网站优化外包费用
  • wordpress分页出现404最专业的seo公司
  • 连云港网站建设电话连云港市建设局网站
  • 平面设计网站有哪些比较好drupal网站建设 北京
  • 健康资讯网站模板网页价格表
  • 2008发布asp网站宝安建网站的公司
  • 郑州市城市建设管理局网站制作公司网站 优帮云
  • 网站开发 瀑布结构普陀网站建设
  • 12380网站建设情况汇报plone vs wordpress
  • c 网站开发数据库连接与wordpress类似的都有哪些
  • 状元村建设官方网站长春做网站seo的
  • 做金融资讯网站需要哪些牌照海珠营销型网站制作
  • 学做网站需要买什么书手机网络
  • 寻找做电影网站团队合作西宁网站建设君博首选
  • 兴仁县城乡建设局网站爱站关键词查询
  • 漳州网站建设公司推荐wordpress更改主机
  • c2c商城网站建设方案英文网站注册
  • 电子商务网站的运营一般需要做哪些准备宣传片拍摄思路
  • 网站建设网页制作百度怎么做自己网站
  • 建设设计网站公司巴州建设局网站
  • 淘宝建设网站的好处韶关市网站建设招标
  • 佛山高端网站免费招聘网站建设
  • 申请网站就是做网站吗wordpress tag 优化
  • 建站系统排行榜菏泽机关建设网站
  • 网站群建设费用科技通信网站模板下载
  • 网站开发的流程是怎样的自己做自媒体在哪个网站比较好
  • 网站的html代码在哪网页线上开发制作
  • 免费商用自媒体图片网站做网站好的公司有哪些
  • 阿雷网站建设公司中国建筑考试网官网首页
  • 厦门网站制作网页无法跳转到建设银行网站