04 2021 档案
摘要:0704-使用GPU加速_cuda pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、CPU 和 GPU 数据相互转换 在 torch 中以下数据结构分为 CPU 和 GPU 两个版本: Tensor Variab
阅读全文
摘要:0703-可视化工具tensorboard和visdom pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、可视化工具概述 当我们训练神经网络的时候,我们可能希望更加直观地了解训练情况,包括损失曲线、输入图片、输出
阅读全文
摘要:0702-计算机视觉工具包torchvision pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、torchvision 概述 计算机视觉是深度学习中最重要的一类应用,为了方便研究者使用,torch 专门开发了一
阅读全文
摘要:00-凸优化引言 凸优化从入门到放弃完整教程地址:https://www.cnblogs.com/nickchen121/p/14900036.html 一、知识点罗列 1.1 概述 优化问题: \[ minimize\quad f_0(x) \\ subject\,to\quad f_i(x) \
阅读全文
摘要:MySQL数据库从入门到放弃 193 数据库基础 194 初识MySQL 195 Windows安装MySQL 196 Linux安装MySQL 197 Mac安装MySQL 198 MySQL存储引擎概述 199 MySQL表操作 200 MySQL支持的数据类型 201 MySQL表的完整性约束
阅读全文
摘要:0701-数据处理 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、概述 在机器学习中,尤其是在深度学习中,需要耗费大量的精力去处理数据,并且数据的处理对训练神经网络来说也是很重要的,良好的数据不仅会加速模型的训
阅读全文
摘要:0609-搭建ResNet网络 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、ResNet 网络概述 Kaiming He 的深度残差网络(ResNet)相比较传统的深度深度神经网络,解决了训练极深网络的梯度消
阅读全文
摘要:0608-nn和autograd的区别 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、nn 和 autograd 的区别 Module 利用的是 autograd 的技术,主要是为了实现前向传播。在 forwa
阅读全文
摘要:0606-nn.functional pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、nn.functional 和 nn.Module 的区别 nn 中还有一个经常使用的模块 nn.functional,nn
阅读全文
摘要:0607-参数初始化策略 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、参数初始化策略概述 深度学习中,一个好的参数初始化策略可以让模型更快地收敛,而一个差的参数初始化策略可能会让模型很难进行收敛,反复震荡甚至
阅读全文
摘要:0605-优化器 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、优化器概述 torch 把深度学习中常用的优化方法都存储在 torch.optim 中,它的设计十分灵活,可以很方便的扩展成自定义的优化方法。 所
阅读全文
摘要:0603-常用的神经网络层 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、图像相关层 图像相关层主要包括卷积层(Conv)、池化层(Pool)等 这些层在实际的使用中也分为一维(1D)、二维(2D)和三维(3D
阅读全文
摘要:0404-Tensor的持久化和向量化作 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、持久化 和sklearn中的持久化一样,保存一个模型或者特有的数据为pkl数据。但是tensor在加载数据的时候还可以把g
阅读全文
摘要:0402-Tensor和Numpy的区别 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 由于tensor和ndarray具有很高的相似性,并且两者相互转化需要的开销很小。但是由于ndarray出现时间较早,相比较t
阅读全文
摘要:0602-nn.Module pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、nn.Module torch.nn 的核心数据结构就是 Module,它可以看做是某一层,也可以看做是整个神经网络。最常见的做法就是
阅读全文
摘要:0403-Tensor内部存储结构 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、Tensor内部存储结构 tensor的数据存储结构如上图所示,它分为信息区(Tensor)和存储区(Storage),信息区主
阅读全文
摘要:0503-autograd实战之线性回归 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、用 variable 实现线性回归(autograd 实战) import torch as t from torch.a
阅读全文
摘要:0502-计算图 pytorch完整教程目录:https://www.cnblogs.com/nickchen121/p/14662511.html 一、手动计算梯度 torch 的 autograd 的底层采用了计算图,它是一种特殊的有向无环图,记录算子和变量的关系,如下图所示: 其中 MUL 和
阅读全文
摘要:这篇文章的内容到这里就差不多了,这次以基础的内容为主,简单的梳理一下,首先我们上次知道了构建神经网络的两个步骤:搭建子模块和拼接子模块。而这次就是学习各个子模块的使用。从比较重要的卷积层开始,学习了1d 2d 3d 卷积到底在干什么事情,采用了动图的方式进行演示,卷积运算其实就是通过不同的卷积核去提取不同的特征。然后学习了 Pytorch 的二维卷积运算及转置卷积运算,并进行了对比和分析了代码上如何实现卷积操作。
第二块是池化运算和池化层的学习,关于池化,一般和卷积一块使用,目的是收集和合并卷积提取的特征,去除一些冗余,分为最大池化和平均池化。然后学习了全连接层,这个比较简单,不用多说,最后是非线性激活函数,比较常用的 sigmoid,tanh, relu等。
今天的内容就到这里,模型模块基本上到这里也差不多了,根据我们的那个步骤:数据模块 -> 模型模块 -> 损失函数 -> 优化器 -> 迭代训练。所以下一次开始学习损失函数模块,但是在学习损失函数之前,还得先看一下常用的权重初始化方法,这个对于模型来说也是非常重要的。所以下一次整理权值初始化和损失函数。
阅读全文
摘要:上面笼统的介绍了如何利用 nn 这个工具箱去搭建一个神经网络,但是只给出了一个流程,很多细节我们还没有详细解释,但这已经足够了。
下一篇文章我们就将详细介绍 nn 工具箱的各种细节方面的东西,等你看完下一篇文章如果再跳回来看这篇文章,相信定会有醍醐灌顶之效。
阅读全文
摘要:本篇文章介绍了 torch 的一个核心——autograd,其中 autograd 中的 variable 和 Tensor 都属于 torch 中的基础数据结构,variable 封装了 Tensor ,拥有着和 Tensor 几乎一样的接口,并且提供了自动求导技术。autograd 是 torch 的自动微分引擎,采用动态计算图的技术,可以更高效的计算导数。
这篇文章说实话是有点偏难的,可以多看几遍,尤其是对于还没有写过实际项目的小白,不过相信有前面几个小项目练手,以及最后一个线性回归的小 demo,相信你差也不差的能看懂,但这都不要紧,在未来的项目实战中,你将会对 autograd 的体会越来越深刻。
阅读全文
摘要:- `Tensors`并`Variables`已合并
- `Tensors`支持0维(标量)
- 弃用`volatile`标签
- `dtypes`,`devices`和`NumPy`风格的创作功能
- 编写`device-agnostic`代码
- `nn.Module`中子模块名称,参数和缓冲区中的新边界约束
阅读全文
摘要:这一篇章幅度较大,对于熟悉numpy的同学可能得心应手很多,如果对numpy不是特别熟悉的同学,建议先按照上述所给的教程学一遍numpy,再过来学习tensor这个数据类型,从一二维过渡到高维,也将更容易上手。
这篇文章内容虽多,但从实用的角度来说,相对而言也比较全面,其中内容不需要全部熟稔于心,但至少得对每个方法都大概有个印象,知道有这个东西,这个东西能干啥!
阅读全文
摘要:这篇文章通过手写数字问题的引入,算是对深度网络模型做了一个简单的介绍。
接下来也将通过torch解决手写数字问题,两者映照,将会让你更加了解torch实现一个深度模型解决实际问题的流程。
阅读全文
摘要:Pytorch从入门到放弃 一、前置基础(选看) 0101-Python从入门到放弃(目录) 0102-人工智能(目录) 0103-numpy模块 0104-DeepLearning-图像识别(cnn 流程架构) 二、Pytorch 引入 本章更多的是对 torch 的发展史的简单阐述。 0201-
阅读全文
摘要:本篇文章从torch的角度去解决了线性回归问题,细节你可能不懂,但也可以发现它是非常简单的,全程没有让你去实现优化器、去实现全连接层、去实现反向传播,在这里你就不需要去实现一个数学公式。你需要做的仅仅是成为一个优秀的调包侠,并且努力成为一个伟大的调参师即可。
至于为什么直接上代码,而不是先讲解torch的基础,一定是有深意的。站得高看得远,先带你领略下torch的用途及其强大,然后我们再慢慢的一步一步筑基。
阅读全文
摘要:本篇文章讲解了机器学习中较为简单的线性回归算法,虽然很多细节没有涉及到,例如噪声的处理和正则化问题、方差和偏差问题、多元特征回归……
但是本篇文章的核心目的还是想让大家能够利用numpy实现线性回归模型,从最后的代码中可以看出,利用numpy我们就是在把前面的各种数学语言一个一个实现,求误差、求偏导、求梯度,这还只是最简单的回归问题,如果更复杂呢?我们也这样,怕是能让你秃头。
也因此,我们不得不引出我们接下来要讲的框架,他有什么好处,他的好处就是把我们上面的是三个函数封装好了,你需要做的仅仅只是调个函数,传个参数即可。
阅读全文
摘要:本篇文章正式介绍了torch和tf的区别,废话那么多,相信你已经很明白两者的区别了,不过是五十步笑百步,先学哪个按照你的需求来就行,但是无论你第一个选择了哪个,另外一个都要作为你的备胎,两个都要学,只不过一个主,一个次。
如果两者对你来说都可以先学,那么,我也教了你一个简单的方法,抛硬币!
阅读全文
摘要:尊敬的各位老师,你们好: 我叫陈有德,来自江西景德镇,曾从事Python开发、it培训机构的Python讲师,有近两年的Python开发经历。 大学就读的是金融相关专业,但进入大学后发现自身对计算机非常感兴趣,大学期间便开始了对计算机专业知识的学习。18年临近毕业,本人想从事it行业相关工作,但由于
阅读全文