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

介休做网站全屋家具定制价格表

介休做网站,全屋家具定制价格表,怎么用手机网站做软件,网站开发软件手机版部分一#xff1a;PyTorch导出模型 在Win11下#xff0c;PyTorch是一个强大的深度学习框架#xff0c;它提供了丰富的工具来训练和导出模型。在这一部分#xff0c;我们将使用鸢尾花数据集#xff0c;演示如何在PyTorch中训练一个简单的模型#xff0c;并将其导出为ONNX…部分一PyTorch导出模型 在Win11下PyTorch是一个强大的深度学习框架它提供了丰富的工具来训练和导出模型。在这一部分我们将使用鸢尾花数据集演示如何在PyTorch中训练一个简单的模型并将其导出为ONNX格式。 1、引言 深度学习模型的导出对于模型在不同平台上的部署至关重要。PyTorch的灵活性使得导出过程变得相对简单同时保持了模型的准确性。 2、数据准备和模型训练 在这一步我们首先加载鸢尾花数据集对数据进行预处理然后训练一个简单的神经网络模型。以下是代码示例 # 导入所需的库 import torch import torch.onnx import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler# 加载鸢尾花数据集 iris load_iris() X, y iris.data, iris.target# 数据预处理 X_scaled X / 10# 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X_scaled, y, test_size0.2, random_state42)# 将数据转换为PyTorch的Tensor X_train_tensor torch.tensor(X_train, dtypetorch.float32) y_train_tensor torch.tensor(y_train, dtypetorch.long) X_test_tensor torch.tensor(X_test, dtypetorch.float32) y_test_tensor torch.tensor(y_test, dtypetorch.long)# 定义简单的神经网络模型 class IrisModel(nn.Module):def __init__(self):super(IrisModel, self).__init__()self.fc1 nn.Linear(4, 8)self.fc2 nn.Linear(8, 3) # 输入特征为4输出类别为3def forward(self, x):x F.relu(self.fc1(x))x F.log_softmax(self.fc2(x), dim1)return x# 初始化模型、损失函数和优化器 model IrisModel() criterion nn.NLLLoss() optimizer optim.Adam(model.parameters(), lr0.01)# 训练模型 for epoch in range(100):optimizer.zero_grad()output model(X_train_tensor)loss criterion(output, y_train_tensor)loss.backward()optimizer.step()3、模型导出 在训练完成后我们使用torch.onnx.export方法将模型导出为ONNX格式。导出的ONNX文件将在接下来的部署中使用以下是代码示例 # 将模型转换为ONNX格式 dummy_input torch.randn(1, 4) # 创建一个虚拟输入 onnx_path iris_model.onnx torch.onnx.export(model, dummy_input, onnx_path,input_names[input],output_names[output],dynamic_axes {input:{0: batch_size},output:{0: batch_size}})4、总结 在这一部分我们演示了如何使用PyTorch训练一个简单的神经网络模型并将其导出为ONNX格式为模型在不同平台上的部署做好了准备。 部分二C使用ONNX Runtime部署 ONNX Runtime是一个用于高性能推理的开源引擎它支持在不同平台上运行ONNX格式的模型。在这一部分我们将学习如何使用C和ONNX Runtime加载并运行先前导出的鸢尾花分类模型。 1、引言 ONNX Runtime的强大之处在于其跨平台性能使得模型能够在各种设备上进行高效推理。 2、环境配置和项目设置 在使用C部署模型之前我们需要确保系统中已经正确安装了ONNX Runtime并且我们的C项目设置正确。 本文采用v1.16.3版本下载地址https://github.com/microsoft/onnxruntime/releases 3. C代码实现 以下是一个简单的C代码示例演示如何加载ONNX模型并进行推理 #include array #include algorithm #include iostream #include onnxruntime_cxx_api.hint main() {// ONNX模型文件路径const wchar_t* model_path LD:\\vs_project\\demo\\iris_model.onnx;// 创建ONNX运行环境和内存信息Ort::Env env(ORT_LOGGING_LEVEL_WARNING, Default);auto memory_info Ort::MemoryInfo::CreateCpu(OrtDeviceAllocator, OrtMemTypeCPU);// 配置会话选项Ort::SessionOptions session_option;session_option.SetIntraOpNumThreads(5); // 设置并行线程数session_option.SetGraphOptimizationLevel(ORT_ENABLE_ALL);// 定义模型输入和输出的名称const char* input_names[] { input };const char* output_names[] { output };// 定义样本数量和输入输出矩阵的大小const int num_samples 2;std::arrayfloat, num_samples * 4 input_matrix;std::arrayfloat, num_samples * 3 output_matrix;// 定义输入输出矩阵的形状std::arrayint64_t, 2 input_shape{ num_samples, 4 };std::arrayint64_t, 2 output_shape{ num_samples, 3 };// 定义样本输入数据std::vectorstd::vectorfloat sample_x { {2.1, 3.5, 1.4, 0.2}, {5.1, 1.5, 2.4, 0.2} };int sample_y 3;// 将样本数据复制到输入矩阵中for (int i 0; i num_samples; i) {for (int j 0; j 4; j) {input_matrix[i * 4 j] sample_x[i][j];}}// 创建输入和输出TensorOrt::Value input_tensor Ort::Value::CreateTensorfloat(memory_info, input_matrix.data(), input_matrix.size(), input_shape.data(), input_shape.size());Ort::Value output_tensor Ort::Value::CreateTensorfloat(memory_info, output_matrix.data(), output_matrix.size(), output_shape.data(), output_shape.size());try {// 创建ONNX会话并运行模型Ort::Session session(env, model_path, session_option);session.Run(Ort::RunOptions{ nullptr }, input_names, input_tensor, 1, output_names, output_tensor, 1);}catch (const Ort::Exception e) {// 处理ONNX Runtime异常std::cerr ONNX Runtime 异常: e.what() std::endl;}catch (const std::exception e) {// 处理标准异常std::cerr 标准异常: e.what() std::endl;}catch (...) {// 处理未知异常std::cerr 未知异常. std::endl;}// 输出预测结果std::cout --- 预测结果 --- std::endl;for (int i 0; i num_samples; i) {std::cout 输出矩阵: ;for (int j 0; j sample_y; j) {std::cout output_matrix[i * sample_y j] ;}std::cout std::endl;// 找到输出矩阵中的argmax值int argmax_value std::distance(output_matrix.begin() i * sample_y, std::max_element(output_matrix.begin() i * sample_y, output_matrix.begin() (i 1) * sample_y));std::cout 样本 i 的输出 argmax 值: argmax_value std::endl;}// 等待用户按键结束程序getchar();return 0; }推理结果 --- 预测结果 --- 输出矩阵: -0.0161782 -4.42303 -5.50902 样本 0 的输出 argmax 值: 0 输出矩阵: -2.30582 -0.799013 -0.797285 样本 1 的输出 argmax 值: 24. 总结 在这一部分我们通过使用C和ONNX Runtime成功加载并运行了在PyTorch中训练并导出的鸢尾花分类模型。这为在不同C支持的平台上进行模型推理提供了一个简单而强大的解决方案。 通过这两个部分我们实现了从PyTorch训练模型到在C环境中进行推理的全过程。这个流程可以在Win11下轻松实现为模型的实际应用提供了一个完整的参考。
http://www.zqtcl.cn/news/29920/

相关文章:

  • 求个没封的a站2022国都建设集团网站
  • 伍佰亿网站建设污水处理厂网站建设
  • 佛山网站建设佛山网站制作wordpress 微信 同步
  • 网站开发是什么意思啊wordpress 主题预览
  • 重庆公司建站网站建设使用软件
  • 怎么建设自己导购网站合肥网
  • asp化妆品网站 后台wordpress做商城网站吗
  • 虚拟主机怎么设计网站吗手机微信小程序免费制作平台
  • 网站备案有电话来dw个人网站建立教学
  • 网站开发 前端 外包中国国家培训网官网
  • 广州知名网站设计青岛seo优化
  • 贵阳市小程序网站开发公司怎么做微信小程序
  • 餐厅装修设计公司网站wordpress移动底部导航菜单
  • 网站建设题库及答案国内小程序最好的公司
  • 网站建设注意哪些内容网站做排名
  • wdcp 网站迁移网站建设扌金手指六六
  • 网站导航怎么做外链好看的网站地图样式
  • 设备建设网站做外贸哪个英文网站好
  • 运城市做网站制作公司内部网站
  • 国外做科研的网站园林效果图网站
  • 东莞网站营销推广公司专业制作公众号公司
  • 专业建站提供商wordpress积分系统
  • 天津个人网站制作广州企业网站建设
  • 上海企业网站制作哪家专业视频投票网站怎么做的
  • 昆明网站建设时间大麦网的网站建设
  • 厦门网站设计公司找哪家厦门小程序建设网站制作案例市场
  • 云南凡科建站浙江建设
  • 网站关键词密度过高长沙专业网站建设怎么做
  • 门业网站模板下载建设专业网站平台
  • 广州网站设计公司招聘666建筑人才网