pytorch实践
文章平均质量分 74
实践各种网络模型,从训练到部署
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
落花逐流水
从事人工智能,模式识别与智能系统
展开
-
动手深度学习笔记(四十九)8.5. 循环神经网络的从零开始实现
循环神经网络从零开始实现原创 2024-01-01 18:15:36 · 1098 阅读 · 0 评论 -
移动端模型部署框架
移动端模型部署框架。原创 2023-11-11 22:51:28 · 424 阅读 · 0 评论 -
ThinPlateSpline(TPS)理论和代码
TPS 薄板样条函数 资源整理原创 2023-10-10 23:16:37 · 304 阅读 · 0 评论 -
pytorch各种loss函数
各种pytorch loss函数原创 2023-09-26 23:10:54 · 503 阅读 · 0 评论 -
pytorch各种激活函数绘制
pytorch激活函数与导数原创 2023-08-13 11:53:23 · 554 阅读 · 0 评论 -
Pytorch代码笔记
pytorch代码笔记,计划写加载图像到模型训练整个过程。原创 2023-05-18 19:48:20 · 376 阅读 · 0 评论 -
ChatGPT原理与应用
chatgpt原理与应用原创 2023-05-06 23:13:32 · 1769 阅读 · 0 评论 -
yolov8训练自己的数据集
yolov8训练自己数据集原创 2023-04-12 22:42:15 · 811 阅读 · 0 评论 -
yolov8测试
yolov8测试原创 2023-03-22 22:56:42 · 726 阅读 · 0 评论 -
Protobuf简介
Protocol Buffers是谷歌用于序列化结构化数据的与语言无关、与平台无关的可扩展机制——想想XML,但它更小、更快、更简单。您只需一次定义数据的结构方式,然后就可以使用特殊的生成源代码,使用各种语言轻松地在各种数据流之间读写结构化数据。要创建地址簿应用程序,需要从.proto文件开始。.proto文件中的定义很简单:为想要序列化的每个数据结构添加一条消息,然后为消息中的每个字段指定一个名称和类型。这里是定义你的消息的.proto文件,addressbook.proto。原创 2023-03-04 17:27:10 · 828 阅读 · 0 评论 -
动手深度学习笔记(四十八)8.4. 循环神经网络
虽然这个模型可能没有很准确地反映出后续词的语义, 比如,“It is raining in San Francisco”(旧金山下雨了) 和“It is raining in winter”(冬天下雨了) 可能才是更完美的合理扩展, 但该模型已经能够捕捉到跟在后面的是哪类单词。我们可以通过计算序列的似然概率来度量模型的质量。如上所述,隐藏层是在从输入到输出的路径上(以观测角度来理解)的隐藏的层, 而隐状态则是在给定步骤所做的任何事情(以技术角度来定义)的输入, 并且这些状态只能通过先前时间步的数据来计算。原创 2023-02-12 16:03:33 · 461 阅读 · 0 评论 -
动手深度学习笔记(四十七)8.3. 语言模型和数据集
同样,在文档摘要生成算法中, “狗咬人”比“人咬狗”出现的频率要高得多, 或者“我想吃奶奶”是一个相当匪夷所思的语句, 而“我想吃,奶奶”则要正常得多。与猴子使用打字机完全不同的是,从这样的模型中提取的文本 都将作为自然语言(例如,英语文本)来传递。只需要基于前面的对话片断中的文本, 就足以生成一个有意义的对话。显然,我们离设计出这样的系统还很遥远, 因为它需要“理解”文本,而不仅仅是生成语法合理的内容。中, 我们了解了如何将文本数据映射为词元, 以及将这些词元可以视为一系列离散的观测,例如单词或字符。原创 2023-02-09 23:11:01 · 336 阅读 · 0 评论 -
动手深度学习笔记(四十六)8.2. 文本预处理
我们先将训练集中的所有文档合并在一起,对它们的唯一词元进行统计, 得到的统计结果称之为语料(corpus)。下面的tokenize函数将文本行列表(lines)作为输入, 列表中的每个元素是一个文本序列(如一条文本行)。最后,返回一个由词元列表组成的列表,其中的每个词元都是一个字符串(string)。文本: [‘twinkled’, ‘and’, ‘his’, ‘usually’, ‘pale’, ‘face’, ‘was’, ‘flushed’, ‘and’, ‘animated’, ‘the’]原创 2023-02-09 23:01:51 · 308 阅读 · 1 评论 -
动手深度学习笔记(四十五)8.1. 序列模型
这样的假设是合理的,因为新的动力学一定受新的数据影响, 而我们不可能用目前所掌握的数据来预测新的动力学。也就是说,输入数据的数量这个数字将会随着我们遇到的数据量的增加而增加, 因此需要一个近似方法来使这个计算变得容易处理。注意,如果我们处理的是离散的对象(如单词), 而不是连续的数字,则上述的考虑仍然有效。仅是离散值时,这样的模型特别棒, 因为在这种情况下,使用动态规划可以沿着马尔可夫链精确地计算结果。当然,序列数据不仅仅是关于电影评分的。当下获得的最直接的好处就是参数的数量总是不变的, 至少在。原创 2023-02-07 22:47:29 · 247 阅读 · 0 评论 -
动手深度学习笔记(四十四)8. 循环神经网络
最重要的是,到目前为止我们默认数据都来自于某种分布, 并且所有样本都是独立同分布的 (independently and identically distributed,i.i.d.)。然而,大多数的数据并非如此。例如,文章中的单词是按顺序写的,如果顺序被随机地重排,就很难理解文章原始的意思。同样,视频中的图像帧、对话中的音频信号以及网站上的浏览行为都是有顺序的。换句话说,如果我们拥有一张图像,我们需要有效地利用其像素位置, 假若我们对图像中的像素位置进行重排,就会对图像中内容的推断造成极大的困难。原创 2023-02-07 21:29:23 · 415 阅读 · 0 评论 -
动手深度学习笔记(四十三)7.7. 稠密连接网络(DenseNet)
ResNet极大地改变了如何参数化深层网络中函数的观点。稠密连接网络(DenseNet) (Huang et al., 2017)在某种程度上是ResNet的逻辑扩展。让我们先从数学上了解一下。回想一下任意函数的泰勒展开式(Taylor expansion),它把这个函数分解成越来越高阶的项。分解为两部分:一个简单的线性项和一个复杂的非线性项。那么再向前拓展一步,如果我们想将。拓展成超过两部分的信息呢?一种方案便是DenseNet。同样,ResNet将函数展开为。也就是说,ResNet将。原创 2023-02-06 22:47:31 · 210 阅读 · 0 评论 -
动手深度学习笔记(四十二)7.6. 残差网络(ResNet)
事实上,可能更糟: 如 图7.6.1所示,对于非嵌套函数(non-nested function)类,较复杂的函数类并不总是向“真”函数靠拢(复杂度由向递增)。在 图7.6.1的左边,虽然比更接近,但却离的更远了。随着我们设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力,在这种网络中,添加层会使网络更具表现力, 为了取得质的突破,我们需要一些数学基础知识。,那我们可以轻而易举的训练得到它,但通常我们不会那么幸运。是我们真正想要找到的函数,如果是。原创 2023-02-01 23:48:41 · 253 阅读 · 0 评论 -
一些加速库Blas OpenMP等
整个CUDA平台是通过运用显卡内的流处理器进行数学运算,并通过GPU内部的缓存共享数据,流处理器之间甚至可以互相通信,同时对数据的存储也不再约束于以GPU的纹理方式,存取更加灵活,可以充分利用统一架构的流输出(stream out)特性,大大提高应用效率。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。原创 2023-01-04 22:30:00 · 358 阅读 · 3 评论 -
动手深度学习笔记(四十一)7.5. 批量规范化
当我们训练时,中间层中的变量(例如,多层感知机中的仿射变换输出)可能具有更广的变化范围:不论是沿着从输入到输出的层,跨同一层中的单元,或是随着时间的推移,模型参数的随着训练更新变幻莫测。直观地说,我们可能会猜想,如果一个层的可变值是另一层的100倍,这可能需要对学习率进行补偿调整。所以,只有使用足够大的小批量,批量规范化这种方法才是有效且稳定的。批量规范化应用于单个可选层(也可以应用到所有层),其原理如下:在每次训练迭代中,我们首先规范化输入,即通过减去其均值并除以其标准差,其中两者均基于当前小批量处理。原创 2022-12-28 23:24:09 · 416 阅读 · 0 评论 -
调用pytorch自带resnet18等
【代码】调用pytorch自带resnet18等。原创 2022-10-16 16:07:40 · 415 阅读 · 0 评论 -
pytorch的测试与使用
本来打算使用jupyter notebook写一下测试程序的,不知道jupyter出了什么问题,不能正确调用环境,只能命令行下测试了。测试的内容是 输出尺寸向下取整。原创 2022-10-16 11:28:16 · 229 阅读 · 0 评论 -
pytorch转onnx测试
在保存模型进行推理时,只需要保存训练过的模型的学习参数即可,一个常见的PyTorch约定是使用.pt或.pth文件扩展名保存模型。原创 2022-10-12 22:56:26 · 369 阅读 · 0 评论 -
onnx模型的修改
onnx模型生成与修改原创 2022-10-01 09:11:39 · 320 阅读 · 0 评论 -
onnx支持的pytorch(aten)算子
【代码】onnx支持的pytorch(aten)算子。原创 2022-09-23 10:32:40 · 1111 阅读 · 0 评论 -
pytorch图像变换
pytorch图像变换。原创 2022-09-09 14:06:03 · 407 阅读 · 0 评论 -
Tensorrt笔记(七)Tensorrt使用问题整理
今天转换模型遇到问题:这个问题目前还不知道怎样解决。在其他电脑上没有遇到这个问题。原创 2022-06-26 18:44:41 · 499 阅读 · 0 评论 -
Tensorrt笔记(六)c++官方demo测试
下载地址:https://developer.nvidia.com/nvidia-tensorrt-8x-download打开下面的项目文件,编译程序生成可执行程序到 …/…/bin文件夹下。执行该生成的程序:4、源码与分析4.1、源码4.2、源码分析4.2.1、项目方面连接库文件:包含头文件:库目录:主要关注 …/…/lib 和 $(CUDA_PATH)\lib\x64目录。可执行路径:主要关注 …/…/lib 目录。4.2.2、代码方面4.2.2.1、头文件目录主要原创 2022-06-25 17:17:11 · 449 阅读 · 0 评论 -
Tensorrt笔记(五)c++代码收集整理
第一手资料永远都是官方文档。下面主要是收集的二手资料。github 源码地址:https://github.com/NVIDIA/TensorRT官方手册地址:https://docs.nvidia.com/deeplearning/tensorrt/index.htmlonnx算子支持:https://github.com/onnx/onnx-tensorrt/blob/main/docs/operators.mdNVIDIA TENSORRT DOCUMENTATION --3. The C++ AP原创 2022-06-23 20:24:38 · 142 阅读 · 0 评论 -
Tensorrt笔记(四)推理分割模型
生成trt模型后,使用python脚本测试推理结果。原创 2022-06-22 20:41:20 · 400 阅读 · 0 评论 -
Tensorrt笔记(三)参考整理
整理了一些参考,后面细读整理。参考:利用TensorRT对深度学习进行加速参考:pytorch模型tensorrt加速之-pth转onnx转trt,在推理trt模型测试模型速度参考:yaoyi30/yolov5-tensorrt-python参考:4. TensorRT 的 Python 接口解析参考:如何使用TensorRT对训练好的PyTorch模型进行加速?参考:TensorRT8.0.1.6之安装与测试参考:YOLOV5之TensorRT加速:Python版参考:TensorRT之安原创 2022-06-19 23:59:53 · 547 阅读 · 0 评论 -
Tensorrt笔记(二)python 测试
TensorRT是英伟达针对自家平台做的加速包,TensorRT主要做了这么两件事情,来提升模型的运行速度。tensorRT的配置是很简单的,官网注册,填调查问卷,就可以下载了,笔者用的是TensorRT-7.0.0.11.CentOS-7.6.x86_64-gnu.cuda-9.0.cudnn7.6.tar.gz版本,到存放目录直接解压,配置一下lib下各种编译好的包,还有很重要的cuda环境。然后pip安装解压后python 目录下的合适版本的python-tensorrt,pip安装pycuda。i原创 2022-06-19 23:50:38 · 339 阅读 · 0 评论 -
Tensorrt笔记
1、把模型导出成 ONNX 格式。2、安装 TensorRT 和 CUDA。注意二者和 driver 的版本号对应,我用的是 ZIP 安装:Installation Guide :: NVIDIA Deep Learning TensorRT Documentation,跟着这个把流程走一遍。3、设置优化参数,使用 TensorRT 把 ONNX 优化成 Engine,得到当前硬件上优化后的模型。4、使用 TensorRT Runtime API 进行 inference。官方文档:Develope原创 2022-06-18 11:52:18 · 238 阅读 · 0 评论 -
安装与使用tensorrt
深度学习部署,可以使用各种深度学习框架的C++库, cafe、tensorflow、libtorch、paddle、onnx、ncnn、tnn等,它们都分别有CPU和GPU的库。下面要讲的Tensorrt因为是英伟达开发的在自家的硬件上的加速库,因此只支持GPU。之前虽然在Windows上做过tensorrt的C++推理测试,但是没有做笔记,现在做一下linux和windows上的tensorrt的安装和部署。随着TensorRT8.0版本的发布,windows下也正式支持Python版本了,跟紧NVID原创 2022-06-05 21:18:41 · 318 阅读 · 0 评论 -
动手深度学习笔记(四十)7.4. 含并行连结的网络(GoogLeNet)
动手深度学习笔记(四十)7.4. 含并行连结的网络(GoogLeNet)7.4. 含并行连结的网络(GoogLeNet)7.4.1. Inception块7.4. 含并行连结的网络(GoogLeNet)在2014年的ImageNet图像识别挑战赛中,一个名叫GoogLeNet [Szegedy et al., 2015]的网络架构大放异彩。 GoogLeNet吸收了NiN中串联网络的思想,并在此基础上做了改进。 这篇论文的一个重点是解决了什么样大小的卷积核最合适的问题。 毕竟,以前流行的网络使用小到1×原创 2022-05-08 22:40:55 · 488 阅读 · 0 评论 -
动手深度学习笔记(三十九)7.3. 网络中的网络(NiN)
动手深度学习笔记(三十九)7.3. 网络中的网络(NiN)7.3. 网络中的网络(NiN)7.3.1. NiN块7.3.2. NiN模型7.3.3. 训练模型7.3.4. 小结7.3.5. 练习7.3. 网络中的网络(NiN)LeNet、AlexNet和VGG都有一个共同的设计模式:通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。 AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块。 或者,可以想象在这个过程的早期使用全连接层。然而,如果使用了全原创 2022-04-30 22:04:17 · 465 阅读 · 0 评论 -
动手深度学习笔记(三十八)7.2. 使用块的网络(VGG)
动手深度学习笔记(三十八)7.2. 使用块的网络(VGG)7.2. 使用块的网络(VGG)7.2.1. VGG块7.2.2. VGG网络7.2.3. 训练模型7.2.4. 小结7.2.5. 练习7.2. 使用块的网络(VGG)虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。 在下面的几个章节中,我们将介绍一些常用于设计深层神经网络的启发式概念。与芯片设计中工程师从放置晶体管到逻辑元件再到逻辑块的过程类似,神经网络架构的设计也逐渐变得更加抽象。研究原创 2022-04-30 19:33:56 · 1565 阅读 · 0 评论 -
动手深度学习笔记(三十七)7.1. 深度卷积神经网络(AlexNet)
动手深度学习笔记(三十七)7.1. 深度卷积神经网络(AlexNet)7. 现代卷积神经网络7.1. 深度卷积神经网络(AlexNet)7.1.1. 学习表征7. 现代卷积神经网络上一章我们介绍了卷积神经网络的基本原理,本章我们将带你了解现代的卷积神经网络架构,许多现代卷积神经网络的研究都是建立在这一章的基础上的。 在本章中的每一个模型都曾一度占据主导地位,其中许多模型都是ImageNet竞赛的优胜者。ImageNet竞赛自2010年以来,一直是计算机视觉中监督学习进展的指向标。这些模型包括:Al原创 2022-03-12 11:45:01 · 1751 阅读 · 0 评论 -
动手深度学习笔记(三十六)6.6. 卷积神经网络(LeNet)
动手深度学习笔记(三十六)6.6. 卷积神经网络(LeNet)6. 卷积神经网络6.6. 卷积神经网络(LeNet)6.6.1. LeNet6.6.2. 模型训练6.6.3. 小结6. 卷积神经网络6.6. 卷积神经网络(LeNet)通过之前几节,我们学习了构建一个完整卷积神经网络的所需组件。 回想一下,之前我们将softmax回归模型( 3.6节)和多层感知机模型( 4.2节)应用于Fashion-MNIST数据集中的服装图片。 为了能够应用softmax回归和多层感知机,我们首先将每个大小为 28原创 2022-03-12 11:35:49 · 1288 阅读 · 0 评论 -
动手深度学习笔记(三十五)6.5. 汇聚层
动手深度学习笔记(三十五)6.5. 汇聚层6. 卷积神经网络6.5. 汇聚层6.5.1. 最大汇聚层和平均汇聚层6. 卷积神经网络6.5. 汇聚层通常当我们处理图像时,我们希望逐渐降低隐藏表示的空间分辨率、聚集信息,这样随着我们在神经网络中层叠的上升,每个神经元对其敏感的感受野(输入)就越大。而我们的机器学习任务通常会跟全局图像的问题有关(例如,“图像是否包含一只猫呢?”),所以我们最后一层的神经元应该对整个输入的全局敏感。通过逐渐聚合信息,生成越来越粗糙的映射,最终实现学习全局表示的目标,同时将卷原创 2022-03-11 22:35:09 · 4036 阅读 · 0 评论 -
动手深度学习笔记(三十四)6.4. 多输入多输出通道
动手深度学习笔记(三十四)6.4. 多输入多输出通道6. 卷积神经网络6.4. 多输入多输出通道6.4.1. 多输入通道6.4.2. 多输出通道6.4.3. 1×1 卷积层6.4.4. 小结6.4.5. 练习6. 卷积神经网络6.4. 多输入多输出通道虽然我们在 6.1.4.1节中描述了构成每个图像的多个通道和多层卷积层。例如彩色图像具有标准的RGB通道来代表红、绿和蓝。 但是到目前为止,我们仅展示了单个输入和单个输出通道的简化例子。 这使得我们可以将输入、卷积核和输出看作二维张量。当我们添加通原创 2022-03-10 22:55:05 · 1803 阅读 · 0 评论