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

ppt模板做的好的网站有哪些用腾讯云服务器做网站

ppt模板做的好的网站有哪些,用腾讯云服务器做网站,秦皇岛城乡建设局和住建局官网,宣城 网站建设节前#xff0c;我们星球组织了一场算法岗技术面试讨论会#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集我们星球组织了一场算法岗技术面试讨论会邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集 《大模型面试宝典》(2024版) 发布 圈粉无数《PyTorch 实战宝典》火了 PyTorch 是一个用于机器学习的开源深度学习框架而ONNXOpen Neural Network Exchange是一个用于表示深度学习模型的开放式格式。 将 PyTorch 模型转换为ONNX格式有几个原因和优势 跨平台部署 ONNX是一个跨平台的格式支持多种深度学习框架包括PyTorch、TensorFlow等。将模型转换为ONNX格式可以使模型在不同框架和设备上进行部署和运行。 性能优化 ONNX格式可以在不同框架之间实现性能优化。例如可以在PyTorch中训练模型然后转换为ONNX格式并在性能更高的框架如TensorRT中进行推理。 模型压缩 ONNX格式可以实现模型的压缩和优化从而减小模型的体积并提高推理速度。这对于在资源受限的设备上部署模型尤为重要。 pytorch 模型线上部署最常见的方式是转换成onnx然后再转成tensorRT 在cuda上进行部署推理。 技术交流群 前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~ 我们建了Pytorch 技术与面试交流群 想要获取最新面试题、了解最新面试动态的、需要源码资料、提升技术的同学可以直接加微信号mlc2040。加的时候备注一下研究方向 学校/公司CSDN即可。然后就可以拉你进群了。 方式①、微信搜索公众号机器学习社区后台回复加群 方式②、添加微信号mlc2040备注技术交流 本文介绍将pytorch模型转换成onnx模型并进行推理的方法。 #!pip install onnx #!pip install onnxruntime #!pip install torchvision一准备pytorch模型 我们先导入torchvision中的resnet18模型演示它的推理效果。 以便和onnx的结果进行对比。 import torch import torchvision.models as models import numpy as np import torchvision import torchvision.transforms as Tfrom PIL import Imagedef create_net():net models.resnet18(weightstorchvision.models.ResNet18_Weights.IMAGENET1K_V1)return net net create_net()torch.save(net.state_dict(),resnet18.pt) net.eval();def get_test_transform():return T.Compose([T.Resize([320, 320]),T.ToTensor(),T.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]),])image Image.open(dog.png) # 289 img get_test_transform()(image) img img.unsqueeze_(0) output net(img) score, indice torch.max(torch.softmax(output,axis-1),1) info {score:score.tolist()[0],indice:indice.tolist()[0]}def show_image(image, title):import matplotlib.pyplot as plt axplt.subplot()ax.imshow(image)ax.set_title(title)ax.set_xticks([])ax.set_yticks([]) plt.show()show_image(image, title info)二pytorch模型转换成onnx模型 1 简化版本 import onnxruntime import onnxbatch_size 1 input_shape (3, 320, 320) x torch.randn(batch_size, *input_shape) onnx_file resnet18.onnx torch.onnx.export(net,x,onnx_file,opset_version10,do_constant_foldingTrue, # 是否执行常量折叠优化input_names[input],output_names[output],dynamic_axes{input:{0:batch_size}, output:{0:batch_size}}) !du -s -h resnet18.pt45M resnet18.pt!du -s -h resnet18.onnx 45M resnet18.onnx可以在 https://netron.app/ 中拖入 resnet18.onnx 文件查看模型结构 2全面版本 下面的代码包括了设置输入输出尺寸以及动态可以变batch等等。 import argparse from argparse import Namespace import time import sys import os import torch import torch.nn as nn import torchvision.models as models import onnx import onnxruntimefrom io import BytesIOROOT os.getcwd() if str(ROOT) not in sys.path:sys.path.append(str(ROOT))params Namespace(weightsresnet18.pt,img_size[320,320],batch_size1,halfFalse,dynamic_batchTrue)parser argparse.ArgumentParser() parser.add_argument(--weights, typestr, defaultcheckpoint.pt, helpweights path) parser.add_argument(--img-size, nargs, typeint, default[320, 320], helpimage size) # height, width parser.add_argument(--batch-size, typeint, default1, helpbatch size) parser.add_argument(--half, actionstore_true, helpFP16 half-precision export) parser.add_argument(--inplace, actionstore_true, helpset Detect() inplaceTrue) parser.add_argument(--simplify, actionstore_true, helpsimplify onnx model) parser.add_argument(--dynamic-batch, actionstore_true, helpexport dynamic batch onnx model) parser.add_argument(--trt-version, typeint, default8, helptensorrt version) parser.add_argument(--device, defaultcpu, helpcuda device, i.e. 0 or 0,1,2,3 or cpu)args parser.parse_args(args,namespaceparams)args.img_size * 2 if len(args.img_size) 1 else 1 # expand print(args)t time.time()# Check device cuda args.device ! cpu and torch.cuda.is_available() device torch.device(fcuda:{args.device} if cuda else cpu) assert not (device.type cpu and args.half), --half only compatible with GPU export, i.e. use --device 0# Load PyTorch model model create_net() model.to(device) model.load_state_dict(torch.load(args.weights)) # pytorch模型加载# Input img torch.zeros(args.batch_size, 3, *args.img_size).to(device) # image size(1,3,320,192) iDetection# Update model if args.half:img, model img.half(), model.half() # to FP16 model.eval()prediction model(img) # dry run# ONNX export print(\nStarting to export ONNX...) export_file args.weights.replace(.pt, .onnx) # filename with BytesIO() as f:dynamic_axes {input:{0:batch_size}, output:{0:batch_size} } if args.dynamic_batch else Nonetorch.onnx.export(model, img, f, verboseFalse, opset_version13,trainingtorch.onnx.TrainingMode.EVAL,do_constant_foldingTrue,input_names[input],output_names[output],dynamic_axesdynamic_axes)f.seek(0)# Checksonnx_model onnx.load(f) # load onnx modelonnx.checker.check_model(onnx_model) # check onnx modelif args.simplify:try:import onnxsimprint(\nStarting to simplify ONNX...)onnx_model, check onnxsim.simplify(onnx_model)assert check, assert check failedexcept Exception as e:print(fSimplifier failure: {e})onnx.save(onnx_model, export_file)print(fONNX export success, saved as {export_file})# Finish print(\nExport complete (%.2fs) % (time.time() - t))Namespace(weightsresnet18.pt, img_size[320, 320], batch_size1, halfFalse, dynamic_batchTrue, inplaceFalse, simplifyFalse, trt_version8, devicecpu)Starting to export ONNX... ONNX export success, saved as resnet18.onnxExport complete (0.57s)三使用onnx模型进行推理 1函数风格 onnx_sesstion onnxruntime.InferenceSession(export_file)def pipe(img_path,onnx_sesstion onnx_sesstion):image Image.open(img_path) img get_test_transform()(image)img img.unsqueeze_(0) to_numpy lambda tensor: tensor.data.cpu().numpy()inputs {onnx_sesstion.get_inputs()[0].name: to_numpy(img)}outs onnx_sesstion.run(None, inputs)[0]score, indice torch.max(torch.softmax(torch.as_tensor(outs),axis-1),1)info {score:score.tolist()[0],indice:indice.tolist()[0]}return infoimg_path dog.pngimage Image.open(img_path)info pipe(img_path)show_image(image,info)2对象风格 import os, sysimport onnxruntime import onnxclass ONNXModel():def __init__(self, onnx_path):self.onnx_session onnxruntime.InferenceSession(onnx_path)self.input_names [node.name for node in self.onnx_session.get_inputs()]self.output_names [node.name for node in self.onnx_session.get_outputs()]print(input_name:{}.format(self.input_names))print(output_name:{}.format(self.output_names))def forward(self, x):if isinstance(x,np.ndarray):assert len(self.input_names)1input_feed {self.input_names[0]:x}elif isinstance(x,(tuple,list)):assert len(self.input_names)len(x)input_feed {k:v for k,v in zip(self.input_names,x)}else:assert isinstance(x,dict)input_feed xouts self.onnx_session.run(self.output_names, input_feedinput_feed)return outsdef predict(self,img_path):image Image.open(img_path) img get_test_transform()(image)img img.unsqueeze_(0) to_numpy lambda tensor: tensor.data.cpu().numpy()outs self.forward(to_numpy(img))[0]score, indice torch.max(torch.softmax(torch.as_tensor(outs),axis-1),1)return {score:score[0].data.numpy().tolist(),indice:indice[0].data.numpy().tolist()}onnx_model ONNXModel(export_file) info onnx_model.predict(img_path) show_image(image, title info)input_name:[input] output_name:[output]
http://www.eeditor.cn/news/123239/

相关文章:

  • 做网站的数据库wordpress百科汉化
  • 株洲网站开发公司电话移动网站开发基础知识
  • 一流高职院校建设计划项目网站移动端网站建设的请示
  • wordpress图片清晰度阿里巴巴网站优化怎么做
  • wordpress功能强大的主题手机网站优化
  • 什么直播可以做游戏视频网站吗android开发菜鸟教程
  • 网站设计计划书的要求一个小程序开发多少钱
  • 美容设计网站建设找生产建筑模板的厂家
  • 论述网站建设的具体步骤有哪些建设银行网络平台
  • 用asp做网站系统步骤如何查一个公司的营业执照
  • 做企业网站赚钱吗wordpress 伪静态 iis
  • 做游戏必备的几个网站网站空间什么意思
  • 兴义城乡建设部网站承德的网站建设公司
  • 合肥网站建设电话咨询用个人的信息备案网站
  • 贵阳企业网站中国造价网
  • 网站项目开发收费标准php 企业网站管理系统
  • 优速网站建设优化seo雷山网站建设
  • 兰州网站备案谁家做网站建设开票名称
  • 为拟建设的网站申请一个域名商业空间设计说明
  • 微商城网站开发制作代理加盟微信网站建设
  • iis 手机网站蜜雪冰城网络营销
  • 合肥网站建设+一浪源码做网站图文教程
  • 成都网站建设 工作室重庆建工招标平台
  • 网站建设开发报价方案网站改版 后台
  • 长春建站价格服务器网站目录
  • 毕业设计网站可以做什么中国建设机械教育网官方网站
  • 网站开发与设计实训实训报告pc网站怎么做自适应
  • 如何做网站推广及优化企业建设网站意义
  • 邢台专业网站建设价格wordpress首页文件打不开
  • 如何做中英文切换的双语网站深圳专业做网站设计