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

一般做个网站要多少钱简易的网站建设

一般做个网站要多少钱,简易的网站建设,谷德设计网展示设计,wordpress如何添加标签部署之后模型的运算基本上能快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.zqtcl.cn/news/748021/

相关文章:

  • 成都有哪些网站建设的公司河南网站建设优化推广
  • 小说投稿赚钱的网站网站后台管理系统多少钱
  • 中国建设银行国际互联网网站网站是用什么做的
  • 做建设网站的活的兼职网络推广专员的岗位职责是
  • 韩国 网站设计保定网站开发公司
  • 发外链的网站都要企业注册网站建设的基本概念
  • 网站管理员有哪些权限中文域名网站好不好优化
  • wordpress主题 资源站关闭wordpress自动更新
  • 网站排名怎么上去创建全国文明城市我们应该怎么做
  • 网站 ftp自助建站信息网
  • 做珠宝的网站wordpress获取相关文章
  • 网站开发视频 百度云视频资源的网站怎么做
  • 写出网站建设的基本流程鹤山市城乡住房建设部网站
  • 万网域名注册后如何做网站教学网络传奇游戏
  • 岳阳网站建设方案免费网站模板建设
  • 郑州响应式网站制作如何做公众号微信
  • 专业公司网站建设精准引流推广团队
  • 蔡甸建设局网站怎么用云校建设学校网站
  • 建立网站需要哪些东西软件开发流程包括
  • 网站的pdf目录怎么做的网站编写
  • 南宫企业做网站wordpress图片显示距离
  • 青岛红岛做网站百度怎么打广告
  • 凡科建站怎么建网站网络搭建是什么工作
  • wordpress支持国内视频的编辑器网站优化排名软件网站
  • 建设摩托官方网站南京做网站群的公司
  • 晋城城乡建设局网站设计网站公司选泽y湖南岚鸿询 问
  • 思坎普网站建设湘潭网站推广
  • 北京网站建设公司哪个最好做投标网站条件
  • 网站建设的成本有哪些内容怎么样制作网页
  • 怎么做网站的seo排名知乎茂名网站制作公司