首页/新闻资讯/正文详情

Pytorch导出ONNX文件教程

发布时间:2026/9/24 22:04:58 来源:云帆数科 栏目:资讯中心
Pytorch导出ONNX文件教程
新建一个工程文件夹用于存放python文件和生成的onnx文件开启anaconda创建环境输入conda create -n mpu6050task python3.10 -ympu6050task为环境名可自定义启动创建的环境conda activate mpu6050task切换文件路径到创建的工程文件夹在当前窗口中运行以下命令一次性安装 PyTorch、ONNX 及其解析支持库固定使用兼容性最佳的numpy2pip install torch torchvision onnx onnxscript numpy2 -i https://pypi.tuna.tsinghua.edu.cn/simple创建python工程选择已经生成的环境解释器加入代码import torch import torch.nn as nn import torch.onnx # 1. 定义适配 MCU 算力的超轻量 1D 卷积神经网络 class TinyVibrationCNN(nn.Module): def __init__(self, num_classes3): super(TinyVibrationCNN, self).__init__() # 输入: [Batch1, Channel3(X/Y/Z), TimeSteps32] self.conv1 nn.Conv1d( in_channels3, out_channels8, kernel_size3, padding1 ) self.relu nn.ReLU() self.pool nn.MaxPool1d(kernel_size2) # 时间步: 32 - 16 self.conv2 nn.Conv1d( in_channels8, out_channels16, kernel_size3, padding1 ) # 时间步: 16 - 8 self.fc nn.Linear(16 * 8, num_classes) def forward(self, x): x self.pool(self.relu(self.conv1(x))) x self.pool(self.relu(self.conv2(x))) x x.view(x.size(0), -1) # 展平为向量 x self.fc(x) return x if __name__ __main__: # 2. 实例化模型并设为评估模式 model TinyVibrationCNN(num_classes3) model.eval() # 3. 构造虚拟输入 (Batch1, 3轴通道, 32个采样点) dummy_input torch.randn(1, 3, 32, dtypetorch.float32) onnx_filename vibration_model.onnx # 4. 导出为兼容 STM32Cube.AI 的单文件 ONNX torch.onnx.export( model, dummy_input, onnx_filename, export_paramsTrue, opset_version11, # STM32Cube.AI 支持最稳定的算子集 dynamoFalse, # 关键禁用图拆分将权重直接打包进单个 .onnx 文件 do_constant_foldingTrue, input_names[sensor_input], output_names[class_probabilities], ) print(fONNX 模型导出成功: {onnx_filename})在conda终端输入命令进行生成onnx文件python export_model.py

相关推荐

卫星轨道六根数实战:终端距离、相对速度与多普勒频移计算
卫星轨道六根数实战:终端距离、相对速度与多普勒频移计算

卫星通信这行干久了,你会发现一个挺有意思的现象:很多人能把链路预算算得明明白白,天线增益、自由空间损耗、噪声温度一套公式背得滚瓜烂熟,但一碰到"卫星现在到底在哪儿、离我多远、相对我跑多快"这种问题就卡壳。根子… · 2026/9/24 22:04:58

Python Flask+Vue咖啡店会员点餐预约系统开发全流程解析
Python Flask+Vue咖啡店会员点餐预约系统开发全流程解析

拿到“pythonflask的咖啡店会员点餐预约系统0r1000k9-vue pycharm django”这个题目时,我第一反应是:这看着像是某份课设或毕设的源码压缩包名。后面跟着 vue、pycharm、django 这些词,基本能猜到这套系统的大致技术栈——Python 后端、Flask… · 2026/9/24 22:04:58

Vibe Coding与LangGraph:AI原生开发的双轨范式
Vibe Coding与LangGraph:AI原生开发的双轨范式

1. 什么是“Vibe Coding”?它真在改变程序员的日常吗? “Vibe Coding”这个词最近半年在技术社区里像野火一样烧起来,不是因为某个新框架发布了v1.0,而是因为它精准戳中了大量开发者在LLM时代的真实工作状态——那种靠直觉、靠上下… · 2026/9/24 22:04:45

Agent Skills:让AI Agent从“有工具”到“会干活”的实战指南
Agent Skills:让AI Agent从“有工具”到“会干活”的实战指南

如果你也在折腾AI Agent,一定遇到过这种场景:模型能力很强,工具也接了一堆,可它一遇到稍微复杂的情况就掉链子,要么压根不知道该调什么,要么调了却用不对参数。我前段时间接手一个内部自动化项目&#xff0… · 2026/9/24 22:38:23

Java面试真题集锦:从HashMap到JVM与并发编程的体系化备战指南
Java面试真题集锦:从HashMap到JVM与并发编程的体系化备战指南

每年到了二三月份和九十月,牛客网上就像赶大集一样热闹,各种Java面经满天飞,有人刷题刷到凌晨三点,有人拿着 offer 在帖子里报喜。我从几年前开始招人,这几年陆陆续续面过了两三百个候选人,也帮朋友改过不少… · 2026/9/24 22:38:23

AI安全审计技能化:从提示词到可复用Skill的完整实践指南
AI安全审计技能化:从提示词到可复用Skill的完整实践指南

直接说结论:把安全审计这种“高重复、强规则、容错率低”的活儿交给AI,最好的落地方式不是现写一次性提示词,而是把它固化成一套可复用的技能包,也就是现在社区里常说的Skill。我最近做完的这个security-audit-skill,就… · 2026/9/24 22:38:23

网络热词“cua”解码:从拟声词到弹幕文化的流行密码
网络热词“cua”解码:从拟声词到弹幕文化的流行密码

刷短视频的时候,一条猫从镜头前飞窜过去,弹幕里齐刷刷飘过一串“cua”;群里聊到某个东西刚上架就售罄,有人跟一句“cua一下没了”;就连朋友发消息秒撤回,也有人吐槽“cua,啥也没看着”。你要是最… · 2026/9/24 22:38:23

Java面试高频真题备战:考点拆解与答题框架
Java面试高频真题备战:考点拆解与答题框架

不少人在后台问我,牛客网上那些Java面试真题到底该怎么刷才有效,是不是把答案背下来就稳了。说实话,我面试过不少候选人,也在牛客网刷过很多题,见过太多“背得很熟但一追问就露馅”的情况。这篇内容我打算把自己反复研… · 2026/9/24 22:38:23

Source Insight实战指南:从主题配置到性能优化
Source Insight实战指南:从主题配置到性能优化

很多新入行的朋友第一次看到我还在用Source Insight时,第一反应都是:这老古董怎么还活着?确实,和那种装几十个插件、启动时疯狂加载的现代编辑器相比,Source Insight的界面就像上个世纪的产物。但你真要扎进一个几十万… · 2026/9/24 22:38:17

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码