机器学习
文章平均质量分 90
哦豁灬
这个作者很懒,什么都没留下…
展开
-
神经网络基本原理
下面是一个包含三个层次的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;神经网络结构图中的拓扑与箭头代表着推理过程时数据的流向,跟训练时的数据流有一定的区别;结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值 tensor),这是需要训练得到的。原创 2024-02-05 01:59:22 · 2153 阅读 · 3 评论 -
深度学习预备知识2——数据预处理
Python中常用的数据分析工具中,通常使用pandas软件包。像庞大的Python生态系统中的许多其他扩展包一样,pandas可以与张量兼容。原创 2024-02-05 01:51:51 · 567 阅读 · 0 评论 -
深度学习预备知识1——数据操作
所有机器学习方法都涉及从数据中提取信息,因此需要一些关于数据的实用技能,包括存储、操作和预处理数据。机器学习通常需要处理大型数据集。线性代数和矩阵是计算大量数据的有力工具,需要一些矩阵运算相关的线性代数知识。深度学习是关于优化的学习。对于一个带有参数的模型,我们想要找到其中能拟合数据的最好模型。在算法的每个步骤中,决定以何种方式调整参数需要一点微积分知识。(autograd包会自动计算微分)机器学习还涉及如何做出预测:给定观察到的信息,某些未知属性可能的值是多少?因此需要一些统计与概率论相关的知识。原创 2024-02-04 23:20:51 · 536 阅读 · 0 评论 -
深度学习介绍
对于具备完善业务逻辑的任务,大多数情况下,正常的人都可以给出一个符合业务逻辑的应用程序。即使是顶级程序员也无难以提出完美的解决方案, 原因可能各不相同。有时任务可能遵循一种随着时间推移而变化的模式,我们需要程序来自动调整。有时任务内的关系可能太复杂(比如像素和抽象类别之间的关系),需要数千或数百万次的计算。即使人类的眼睛能毫不费力地完成这些难以提出完美解决方案的任务,这其中的计算也超出了人类意识理解范畴。机器学习(machine learning,ML)是一类强大的可以从经验中学习的技术。原创 2024-02-04 23:19:53 · 1676 阅读 · 0 评论 -
地平线旭日 X3 开发板上手体验
最近嫖到一块旭日X3开发板,借此熟悉地平线 AI 芯片旭日 X3 模型部署流程,以及算法工具链。这里基本是跟着进行操作,其中也遇到一些奇怪的问题。原创 2024-01-19 02:09:33 · 1198 阅读 · 0 评论 -
在 Linux 本地部署 stable diffusion
由于工作站安装的是 ubuntu,卡也在上面,就只能在 ubuntu 上部署安装 stable diffusion 了。另外,Linux 上使用 stable diffusion 也会方便很多。原创 2024-01-16 03:10:49 · 1700 阅读 · 0 评论 -
修改和调试 onnx 模型
在用 API 对 ONNX 模型进行操作之前,我们还需要先了解一下 ONNX 的结构定义规则,学习一下 ONNX 在 Protobuf 定义文件里是怎样描述一个神经网络的。回想一下,神经网络本质上是一个计算图。计算图的节点是算子,边是参与运算的张量。而通过可视化 ONNX 模型,我们知道 ONNX 记录了所有算子节点的属性信息,并把参与运算的张量信息存储在算子节点的输入输出信息中。原创 2024-01-16 03:06:59 · 1340 阅读 · 0 评论 -
在 pytorch 中支持更多的 onnx 算子
首先,需要获得asinh推理接口的输入参数定义。在和这两个文件中搜索相应的算子名称(一般来说 ATen 中的函数名称都是全小写,因此在搜索算子名的时候尽量忽略大小写这两个文件是编译 PyTorch 时本地自动生成的文件,里面包含了 ATen 算子的 PyTorch 调用接口。搜索结果,def asinh定义在文件中。onnx 没有支持的 onnx 算子,需要自定义该 onnx 算子。g.op()函数可以用来自定义 onnx 算子的函数。对于 onnx 官方支持的算子,使用g.op()原创 2024-01-04 20:59:42 · 1354 阅读 · 0 评论 -
pytorch 转 onnx
ONNX 是目前模型部署中最重要的中间表示之一,在把 PyTorch 模型转换成 ONNX 模型时,使用的 torch 接口是这里记录了 pytorch 模型转 onnx 时的原理和注意事项,还包括部分 PyTorch 与 ONNX 的算子对应关系。原创 2024-01-02 20:23:36 · 768 阅读 · 1 评论 -
搭建个人深度学习工作站(捡垃圾)
频繁切换 python 和一些包的版本,容易造成包版本冲突的问题,conda 可以给每个配置建立一个虚拟的python环境,在需要的时候可以随时切换,而不需要的时候也能删除不浪费磁盘资源。docker 可以理解为一个轻量化的虚拟环境,与服务器的本地环境隔离,可以在宿主服务器上新建很多个这种被称为容器的虚拟机,然后在里面配置我们的开发环境,且这些配置好的环境是可以打包成镜像的,方便随时做分享和重用。然后按照前面的方法重新安装显卡驱动,安装好了之后开始安装CUDA,如果没有安装过 cuda,可以不卸载。原创 2024-01-02 00:52:53 · 1720 阅读 · 2 评论 -
预训练模型下载和使用
这也是为什么下载的时候,一定要保证这些名称是这几个,不能变。使用的基本原理也非常简单,from_pretrained的参数pretrained_model_name_or_path,可以接受的参数有几种,short-cut name(缩写名称,类似于gpt2这种)、identifier name(类似于microsoft/DialoGPT-small这种)、文件夹、文件。对于short-cut name或identifier name,这种情况下,本地有文件,可以使用本地的,本地没有文件,则下载。原创 2023-12-29 13:38:45 · 1336 阅读 · 0 评论 -
激活函数 activate function
ReLU,Recitified Linear Unit,线性整流函数,常见的是 ReLU 和 Leaky ReLU。通常意义下,线性整流函数指代数学中的斜坡函数。GELU,Gaussian Error Linear Unit,高斯误差线性单元。ReLU 可以对抗梯度爆炸 / 消失的问题,相对而言计算效率也很高。越大的时候,就越有可能被保留,越小就越有可能被置零。激活函数近似是往负无穷大方向走,逐渐趋近。激活函数,决定神经网络是否传递信息的开关。往正无穷大的方向走,逐渐趋近。原创 2023-12-24 01:33:21 · 873 阅读 · 0 评论