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

支持支付宝登录的网站建设网站权重多少4

支持支付宝登录的网站建设,网站权重多少4,站酷的网址,杭州电子商务公司排行今天的深度学习可谓是十分热门#xff0c;好像各行各业的人都会一点。而且特别是Hinton获得诺奖后#xff0c;更是给深度学习添了一把火。星主深知大家可能在平时仅仅将模型训练好后就不会去理会它了#xff0c;至于模型的部署#xff0c;很多人都没有相关经验。由于我最近…今天的深度学习可谓是十分热门好像各行各业的人都会一点。而且特别是Hinton获得诺奖后更是给深度学习添了一把火。星主深知大家可能在平时仅仅将模型训练好后就不会去理会它了至于模型的部署很多人都没有相关经验。由于我最近在做一个关于模型部署的项目面对以往缺乏这方面的经验感到有些苦恼。因此我决定先将学习的一部分内容记录下来以便总结经验帮助自己和他人更好地理解和实践模型的部署过程。希望这些记录能够为后续的项目提供指导也能为同样面临挑战的人们带来一些帮助。 1.onnx格式和ONNX Runtime框架介绍 1.1 onnx格式介绍 ONNX (Open Neural Network Exchange) 是一个开放的深度学习模型文件格式旨在促进不同深度学习框架之间的互操作性。它提供了一种标准的方式来表示机器学习模型使得模型可以在多个框架之间进行共享和迁移。以下是一些关于 ONNX 格式的重要特点 跨平台兼容性 ONNX 支持多种深度学习框架如 PyTorch、TensorFlow、Keras 等开发者可以在训练模型后将其导出为 ONNX 格式从而在其他框架中进行推理或部署。 标准化 ONNX 提供了一个统一的模型描述定义了模型的结构、参数和输入输出等信息使得不同工具和框架能够理解模型。 优化支持 ONNX 模型可以通过不同的工具进行优化以提升推理性能。这些工具包括 ONNX Runtime、TensorRT 等。 丰富的操作集 ONNX 包含了大量的操作operators支持常见的神经网络结构允许开发者构建多样化的模型。 1.2 ONNX Runtime框架介绍 ONNX Runtime 是微软开发的一个高性能的推理引擎用于执行 ONNX 格式的模型。它专为高效推理而设计支持多种硬件平台包括 CPU、GPU 和其他加速器。以下是 ONNX Runtime 的一些关键特性 高性能 ONNX Runtime 提供了优化的推理引擎能够有效利用硬件资源支持并行计算以提升推理速度。 多平台支持 ONNX Runtime 可以在多种操作系统和设备上运行包括 Windows、Linux 和 macOS支持各种硬件架构。 丰富的优化选项 提供了图优化、量化和剪枝等多种优化手段帮助开发者在不同设备上达到最佳的推理性能。 易于集成 ONNX Runtime 提供了简单易用的 API支持 Python、C、C# 和 Java 等多种编程语言方便开发者将其集成到现有应用中。 至于为什么要使用 ONNX 格式的模型文件和 ONNX Runtime 框架我认为有以下两点 跨框架的兼容性 不同深度学习框架训练出的模型文件格式一般不同这给模型的推理和部署带来了不便。比如你用 TensorFlow 训练一个模型并用 TensorFlow 进行推理而我用 PyTorch 训练的模型也要用 PyTorch 进行推理。在这样的情况下大家的交流和协作就会变得不太方便。因此ONNX 提供了一种统一的文件格式.onnx允许开发者将模型导出为 ONNX 格式从而在不同的框架之间共享和使用模型。 简化依赖和环境配置 在推理时模型往往依赖于特定的深度学习框架。例如如果我使用 PyTorch 训练好一个模型之后再用 PyTorch 写一个推理脚本而其他人想要使用这个模型进行推理他们就必须安装 PyTorch而且目前 PyTorch 的安装包越来越大和其他一些相关的依赖包。这不仅增加了环境配置的复杂性也给使用者带来了不便。通过使用 .onnx 格式文件大家可以统一使用 ONNX Runtime 进行推理从而简化了环境配置让每个人都能方便地进行模型推理无论他们最初使用的是哪个框架。这样一来大家都能轻松实现模型的共享和使用实现更高效的协作。这毕竟是你好我好他也好的好事。 2.库的安装 ONNX Runtime的Github地址 GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator 要安装的库如下 pip install onnx pip install onnxruntime # 这个和下面的二选一安装即可 pip install onnxruntime-gpu 安装 ONNX Runtime 时是否需要安装 GPU 版本取决于你的具体需求。如果你希望利用 GPU 加速推理以提高模型的执行速度那么安装 GPU 版本是合适的选择。否则CPU 版本已经足够满足大多数推理任务。 下面将介绍如何使用 Python 版本的 API 进行推理。同时ONNX Runtime 也提供了 C 版本的 API使用起来同样方便。对于 C 版本用户不必进行复杂的安装只需从 GitHub 下载编译好的版本然后配置相关路径即可开始使用。这种方式不仅简化了安装过程而且编译好的版本大小仅约 100 多 MB相信大多数人都能接受。 注意ONNX Runtime框架要与自己电脑中的CUDA版本相对应否则会报错下面是一个有些过时的参考ONNXRuntime与CUDA版本对应_onnxruntime版本对应-CSDN博客 3.推理 使用ONNX Runtime框架进行推理的流程如下 将模型导出为.onnx格式检查导出的文件是否合法配置一些日志、优化器、线程、运行设备等信息将3中的配置应用到会话中推理并对结果数据进行处理得到自己想要的形式 3.1将.pth格式的模型导出为.onnx格式的模型 import torch import onnxmodel AlexNet(num_classes5) # 加载训练好的权重 model.load_state_dict(torch.load(AlexNet.pth)) # 模型推理模式 model.eval() model.cpu()# 定义一个输入 dummy_input torch.randn(1, 3, 224, 224) # 1张3通道224x224的图片# 将PyTorch模型转换为ONNX模型 torch.onnx.export(model,dummy_input,AlexNet1.onnx, # 保存的ONNX模型路径和文件名verboseTrue,input_names[input], # 输入名output_names[output], # 输出名dynamic_axes{input: {0: batch_size}, output: {0: batch_size}}, # 动态调整batch_sizeopset_version11) # 导出的onnx版本这个要与ONNX Runtime框架兼容否则会报错 上面这段代码中的AlexNet模型可以参考这位博主【图像分类】【深度学习】【Pytorch版本】AlexNet模型算法详解_alexnet pytorch-CSDN博客 AlexNet.pth模型文件和ONNX Runtime相关参数配置在这篇博客里【深度学习】【OnnxRuntime】【Python】模型转化、环境搭建以及模型部署的详细教程_onnxruntime python-CSDN博客 3.2检查并可视化.onnx模型 import onnx # 加载ONNX模型 onnx_model onnx.load(AlexNet1.onnx) onnx.checker.check_model(onnx_model) # 检查ONNX模型是否合法 print(onnx.helper.printable_graph(onnx_model.graph)) # 打印ONNX模型结构 若导出的模型不正确则上述代码会报错。上述代码运行结果如下 使用netron可视化我们导出的onnx格式的模型netron网址Netron可视化结果如下主要观察输入和输出的名称和形状。 3.3 推理 为了规范化我们写代码的习惯我们将类别名称写入了flower_classes.txt文件中如下 代码如下 import numpy as np import cv2 import onnxruntime as ort# 加载标签 class_names [] with open(./flower_classes.txt, r) as f:for line in f:name line.strip()class_names.append(name)print(类别名称:,class_names) # onnx模型路径 onnx_model_path ./AlexNet1.onnx# 配置一些环境,如日志优化器线程等等 session_options ort.SessionOptions() session_options.log_severity_level 3 session_options.graph_optimization_level ort.GraphOptimizationLevel.ORT_ENABLE_BASIC session_options.intra_op_num_threads 4 # 设置运行设备列表中的顺序表示优先级 providers [CUDAExecutionProvider, CPUExecutionProvider]# 将上述配置应用到ONNX Runtime的session中 ort_session ort.InferenceSession(onnx_model_path, sess_optionssession_options, providersproviders)# 获取输入名 input_name ort_session.get_inputs()[0].name print(输入名:,input_name) print(输入形状:,ort_session.get_inputs()[0].shape)input_h, input_w ort_session.get_inputs()[0].shape[2:]# 获取输出名 output_name ort_session.get_outputs()[0].name# 读取图片并进行预处理 image_path ./sunflower.jpg image cv2.imread(image_path) img cv2.cvtColor(image, cv2.COLOR_BGR2RGB) img cv2.resize(img, (input_h, input_w)) img img.astype(np.float32) img / 255.0 mean np.array([0.485, 0.456, 0.406], dtypenp.float32) std np.array([0.229, 0.224, 0.225], dtypenp.float32) img (img - mean) / std img np.transpose(img, (2, 0, 1)) img np.expand_dims(img, axis0) # 形成一个batch# 进行推理 result ort_session.run(output_names[output_name], input_feed{input_name: img}) print(result)# 获取预测结果 probabilities result[0][0] print(预测概率:, probabilities) predicted_class np.argmax(probabilities) print(预测结果:, class_names[predicted_class])# 在图片上绘制预测结果 cv2.putText(image, f{class_names[predicted_class]}, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) cv2.imshow(Image, image) cv2.waitKey(0) cv2.destroyAllWindows() 运行结果如下 目前由于该项目星主正在努力赶工所以这里只介绍了一些Python版本的APIC版本等以后有机会再分享。具体一些ONNX Runtime中的参数见上面的参考链接。
http://www.dnsts.com.cn/news/258747.html

相关文章:

  • 网站开发用什么莱芜交友论坛
  • 用粉色做网站主题色wordpress 500错误解决
  • wordpress用户勾选北京seo实训班学校
  • 东营长安网站建设进入公众号平台
  • 城市维护建设税在哪个网站申报太原建设网站制作
  • 市场调研是什么工作关键词优化价格表
  • 建网站要多少钱 优帮云wordpress代码主题
  • 推荐网站建设的书怎么做水果网站
  • 网站维护中模版网络管理员考试
  • 气象网站建设备案网站查询
  • 瑞安网站网站建站
  • 网站打不开怎么做网站怎么做内链外链
  • 建设银行的英语网站温州市建设工程管理网站
  • 竞价网站策划英语网站新增两个栏目
  • 扁平化购物网站模板制作京东网站建设
  • 搭建一个企业网站需要多少钱买到域名怎么做网站
  • 做本地网站需要什么资质wordpress手机主题浮动导航
  • 设计参考图网站成品源码灬1688高清完整版
  • 上海h5网站开发网站外链建设常用字
  • 网站html地图怎么做网站开发 兼职
  • 网站开发到上线需要多久影视广告
  • 上海网站建设宣传手机网站开放
  • 中国建设银行官方网站网上银行简洁大方 网站
  • 网站开发毕业任务书做网站哪家比较好
  • 查网站域名wordpress 移动端双模板
  • 可以自己做网站优化吗重庆妇科医院
  • 网站建设合同2018做网站放到百度上需要什么
  • 做厂房的网站长沙做网站多少钱
  • 如何在外管局网站做延期网页制作网站首页设计
  • 网站建设与管理简介做网站的网络非要专线吗