在AI项目中,训练好模型只是第一步,下一步是部署到其他的环境中! 但PyTorch模型(.pth)在手机/服务器上跑不动?别急!ONNX格式来救场。
为什么必须转ONNX?3大痛点
问题
后果
ONNX解决
框架依赖
PyTorch跑不动TensorFlow环境
跨框架通用,到处跑!
部署慢
手机/边缘设备卡顿
体积小50%,速度快2倍
不稳定
不同硬件报错
标准化,一次转换到处用
除这三点之外,个人认为,我需要pth模型文件转换为ONNX文件的最大需求是:隐藏神经网络模型的细节,不需要把python源代码交付出去,这样做相当于简单伪装,很多事情都是防君子不防小人。
超简单3步转换法Step 1:准备模型# 加载你的.pth模型
model = YourModel() # 替换成你的模型类
checkpoint = torch.load('your_model.pth')
model.load_state_dict(checkpoint) # 加载权重
model.eval() # 评估模式
Step 2:创建假输入# 根据你的输入尺寸创建(比如 ...
普通人买新电脑一定要有一个心理价格预算,选电脑配件就按照这个预算去买。
一台新的台式电脑,最贵的就是显卡。在预算有限的前提下,普通人选显卡买英伟达的5060就够了。
很多东西都是一分钱一分货,显卡更是如此,等级森严。你不能把5060和5090比,毕竟价格不一样。同样的,你不能用2000元的安卓机和6000元的苹果机比,要比也是用6000元的安卓机和6000元的苹果机进行性能对比。
十月初,我趁着放假回老家,自购了一些电脑配件,花几个小时自装电脑。这算是我的第二台 台式电脑。
我不是装机老杆子,我是装机小白,装配新台式机的一大需求是,帮助我处理一些视频任务,并且要求新电脑要稳定,一年不关机的那种。
我的预算是5000元到7000元,我不要颜值,只要求稳定。
实际上,我的总花费不止6284元,因为我加购了一块4T的机械硬盘。
那么,电脑八大件我是怎么选的?
首先是 硬盘,硬盘我是 1tb 固态 + 4tb的机械,这配置够用5年。
内存条是2x16G,暂时够用。内存条是很难坏的,可当传家宝。
散热器稍微选个好点的,200元差不多了。毕竟我要长时间不关机。
而cpu和板子,我选的ADM的9 ...
python
未读方法1:克隆环境并删除旧环境这是最常用且安全的方法,适用于所有Conda版本:
克隆旧环境到新名称:
conda create --name new_name --clone old_name
这会创建一个名为new_name的新环境,内容与old_name环境完全相同
验证新环境:
conda info --envs
删除旧环境:
conda remove --name old_name --all
确保先退出旧环境(conda deactivate)再执行删除操作
方法2:使用conda rename命令从Conda 4.14版本开始,可以使用更简洁的命令:
conda rename -n old_name new_name
这个命令实际上是方法1的简化版,内部仍然使用克隆和删除的组合方式
验证修改结果无论使用哪种方法,修改完成后都应验证:
conda info --envs
以上方法中,方法1(克隆+删除)是最推荐的,因为它安全可靠且适用于所有情况
深度学习图像处理一般分为三个步骤:标签制作、模型训练、推理预测。
现在我准备做是目标检测,使用的框架是yolov8。
使用yolov8并不是代表落后,而是yolov8足够实用,你们当然可以使用最新的yolov26,在这一点上是无所谓的。
由于目标检测的篇幅很长,我打算分块写。所以今天的主题是标签制作。
别急哈,我们一步步来。
那么我们得先知道什么是yolov8标签格式。这时候问下大模型,快速过一哈。
以下是 YOLOv8 标签格式的详细说明:
1. 标签文件格式
文件扩展名:.txt
命名规则:标签文件的名称需要与对应的图像文件名一致(扩展名除外)。例如,图像文件为 image1.jpg,则标签文件为 image1.txt。
文件内容:每行表示图像中的一个目标对象,格式如下:
text
<class_id> <x_center> <y_center> <width> <height>
:目标类别的索引(从 0 开始的整数,基于数据集中的类别顺序)。
:边界框中心点的 x 坐标(归一化,范围 [0, 1],相对于图像宽度) ...
这个问题是关于在无conda、无网络的Linux机器上使用打包的conda环境压缩包(假设是tar.gz格式),以避免重新安装Python库,并用于后续模型训练。直接解压是否可运行取决于打包方式:如果使用conda-pack工具打包的,那么是的,可以直接解压并激活环境运行;如果只是简单压缩了conda环境目录(例如/path/to/envs/myenv),则可能不行,因为conda环境通常包含绝对路径依赖,解压后路径变化会导致问题(如Python解释器或库无法加载)。
以下是一个可行的完整方案,基于标准的最佳实践(推荐使用conda-pack,因为它专门设计用于环境移植,包括处理路径重定位和二进制兼容)。如果你的压缩包已经是conda-pack生成的,直接跳到目标机器步骤;否则,需要在源机器重新打包。
1. 在源机器(有conda和网络的机器)上打包环境
确保源机器和目标机器的架构相同(例如都是x86_64 Linux),否则二进制不兼容。
安装conda-pack(如果未安装):conda install -c conda-forge conda-pack。
打包指定环境(假设环境名 ...
DINOv3是什么?DINOv3解决了遥感中哪些难点?
在计算机视觉领域,预训练模型的发展正快速演进。Meta 最新发布的 DINOv3,成为了自监督视觉模型中的新里程碑。它最大的亮点是:冻结主干(frozen backbone)即可在密集预测任务中达到最先进的效果,让团队能够“少折腾大模型,多专注小任务头(head)”。
为什么 DINOv3 值得关注?
大规模无标签预训练 DINOv3 使用自监督学习(SSL),在两个超大规模数据集上训练:
LVD-1689M(16.89 亿张网络图像)
SAT-493M(4.93 亿张卫星图像) 不依赖人工标注,就能充分利用数十亿张图像。
开箱即用的密集特征 主干冻结后,仅用简单的线性或轻量级 head,就能在分割、深度估计、图像检索等任务中拿到 SOTA 结果。
跨领域的单一主干 一个 DINOv3 主干即可跨越自然图像、卫星遥感、工业检测等领域,性能超过很多专门微调的模型。
生态支持完善 已经登陆 Hugging Face,配备官方 API、模型卡和示例代码,可以即刻上手。
DINOv3 的技术升级(相对 DINOv2)
训练目标改 ...
选择学习哪种编程语言主要取决于你的目标和兴趣。
如果你想开发网站,JavaScript、HTML 和 CSS 是前端开发的首选,Python 、PHP 、go、java则适合后端;
想做数据分析或机器学习,Python 和 R 是不错的选择;
如果目标是移动应用开发,Swift(iOS)或 Kotlin(Android)更合适;
对于系统编程或高性能应用,C++ 或 Rust 是不二之选。
每种语言都有其独特生态和适用场景,明确你的项目需求后,选择一门易上手且社区活跃的语言,能让你事半功倍。
我目前的主力编程语言是 Python,其他语言虽然接触过,但还谈不上熟练。
实际上,最近这两个月,我越来越多地使用自然语言来“写”代码,而不是直接手写编程语言。回想起2024年刚开始接触 GitHub Copilot 的时候,我还不太理解为什么微软把它叫做 “Copilot”。但现在回过头看,不得不佩服老外起名字的精准——AI 编程助手所扮演的角色,确实就是“副驾驶”。
而我是主驾驶,它则辅助我完成整个编程过程。
甚至有时,是倒反天罡,我只管输入和输出,中间过程代码编写,debug等等全程它自己 ...
选择学习哪种编程语言主要取决于你的目标和兴趣。
如果你想开发网站,JavaScript、HTML 和 CSS 是前端开发的首选,Python 、PHP 、go、java则适合后端;
想做数据分析或机器学习,Python 和 R 是不错的选择;
如果目标是移动应用开发,Swift(iOS)或 Kotlin(Android)更合适;
对于系统编程或高性能应用,C++ 或 Rust 是不二之选。
每种语言都有其独特生态和适用场景,明确你的项目需求后,选择一门易上手且社区活跃的语言,能让你事半功倍。
我目前的主力编程语言是 Python,其他语言虽然接触过,但还谈不上熟练。
实际上,最近这两个月,我越来越多地使用自然语言来“写”代码,而不是直接手写编程语言。回想起2024年刚开始接触 GitHub Copilot 的时候,我还不太理解为什么微软把它叫做 “Copilot”。但现在回过头看,不得不佩服老外起名字的精准——AI 编程助手所扮演的角色,确实就是“副驾驶”。
而我是主驾驶,它则辅助我完成整个编程过程。
甚至有时,是倒反天罡,我只管输入和输出,中间过程代码编写,debug等等全程它自己 ...
要将Python 代码打包成 .so 文件,通常使用 Cython 工具,通过编写一个 setup.py 文件来指定需要编译的Python 文件,然后在命令行中使用 python setup.py build_ext --inplace 命令来编译。编译完成后,即可像普通模块一样在Python 中导入并使用生成的 .so 文件。
具体步骤:
安装Cython
如果尚未安装Cython,请先安装它:
pip install cython
根据您的操作系统,可能还需要安装C 语言编译器,例如在Linux 上使用 gcc 和 python-devel。
编写Python 源文件
创建您需要打包的Python 文件,例如 hello.py。
创建 setup.py 文件
在与Python 源文件相同的目录下,创建一个名为 setup.py 的文件。文件内容如下:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize([" ...


