PyTorch学习之路
参考莫烦python中的PyTorch视频,展开对torch相关语法学习
敲代码的乔帮主
走在梦想的大道上,跌跌撞撞,时而悲伤,时而难过失落,是什么又让我扬起头继续向前呢?是心中的那一朵彼岸之花,牵使着你我之间的约定,成为我心中那一股永不可灭的骨气,终究是信仰。
展开
-
PyTorch从入门到出门
1.PyTorch简介1.PyTorch简介-为什么选择PyTorch以及安装过程2.PyTorch神经网络基础2.1 PyTorch神经网络基础-Torch对比Numpy2.2 PyTorch神经网络基础-Torch中的变量Variable2.3 PyTorch神经网络基础-激励函数(Activation Function)3.PyTorch搭建第一个神经网络3.1 ...原创 2020-04-10 10:51:03 · 458 阅读 · 0 评论 -
1.PyTorch简介-为什么选择PyTorch以及安装过程
1.写在前面 从今天开始我们将进行一个崭新的模块,因为这个学习了深度学习的课程,基本工程的实现需要学习一门深度学习工具,对比Tensorflow和PyTorch,我们首先学习一下PyTorch的基本知识。2.为什么是PyTorch 选择PyTorch肯定是因为这个框架对初学者比较友好,PyTorch是Torch在Python上面的一个延伸,Torch是一个神...原创 2020-04-05 16:47:33 · 662 阅读 · 0 评论 -
2.1 PyTorch神经网络基础-Torch对比Numpy
目录1.写在前面2.Numpy转Torch、Torch转Numpy3.Torch中的数学运算1.写在前面 Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor 放在 GPU 中加速运算 (前提是你有合适的 GPU), 就像 Numpy 会把 array 放在 CPU 中加速运算. 所以神经网络的话, 当然是用 Torch 的 t...原创 2020-04-05 17:00:36 · 497 阅读 · 0 评论 -
2.2 PyTorch神经网络基础-Torch中的变量Variable
目录1.写在前面2.定义一个Variable3.Variable计算,梯度4.获得Variable里面的数据1.写在前面 在 Torch 中的 Variable 就是一个存放会变化的值的地理位置. 里面的值会不停的变化. 就像一个裝鸡蛋的篮子, 鸡蛋数会不停变动. 那谁是里面的鸡蛋呢, 自然就是 Torch 的 Tensor 咯. 如果用一个 Variable...原创 2020-04-05 17:13:35 · 2223 阅读 · 0 评论 -
2.3 PyTorch神经网络基础-激励函数(Activation Function)
目录1.写在前面2.非线性方程3.激励函数4.常用选择5.Torch中的激励函数1.写在前面 今天我们要来聊聊现代神经网络中 必不可少的一个组成部分, 激励函数, activation function。2.非线性方程 我们为什么要使用激励函数? 用简单的语句来概括. 就是因为, 现实并没有我们想象的那么美好, 它是残酷多变的. 哈哈...原创 2020-04-06 12:10:35 · 657 阅读 · 0 评论 -
3.1 PyTorch搭建第一个神经网络-关系拟合(回归Regression)
1.写在前面 这次我会来见证神经网络是如何通过简单的形式将一群数据用一条线条来表示. 或者说, 是如何在数据当中找到他们的关系, 然后用神经网络模型来建立一个可以代表他们关系的线条。2.建立数据集 我们创建一些假数据来模拟真实的情况. 比如一个一元二次函数:y = a * x^2 + b, 我们给y数据加上一点噪声来更加真实的展示它。impo...原创 2020-04-06 14:35:07 · 697 阅读 · 0 评论 -
3.2 PyTorch搭建第一个神经网络-区分类型(分类Classification)
目录1.写在前面2.建立数据集3.建立神经网络4.训练网络5.可视化训练过程1.写在前面 上篇博客我们详细介绍了PyTorch在解决回归问题上,主要的解决方法步骤。在日常任务中,除了回归任务,另外一个比较常见的就是分类的任务。这次我们也是用最简单的途径来看看神经网络是怎么进行事物的分类。2.建立数据集 我们创建一些假数据来模拟真实...原创 2020-04-07 14:32:48 · 429 阅读 · 0 评论 -
3.3 PyTorch搭建第一个神经网络-快速搭建法
目录1.写在前面2.快速搭建1.写在前面 Torch 中提供了很多方便的途径, 同样是神经网络, 能快则快, 我们看看如何用更简单的方式搭建同样的回归神经网络。2.快速搭建 我们先看看之前写神经网络时用到的步骤. 我们用net1代表这种方式搭建的神经网络:class Net(torch.nn.Module): def __ini...原创 2020-04-07 17:45:54 · 324 阅读 · 0 评论 -
3.4 PyTorch搭建第一个神经网络-保存提取
目录1.写在前面2.保存3.提取网络4.只提取网络参数5.显示结果6.完整代码演示1.写在前面 训练好了一个模型, 我们当然想要保存它, 留到下次要用的时候直接提取直接用, 这就是这节的内容啦. 我们用回归的神经网络举例实现保存提取。2.保存 我们快速地建造数据, 搭建网络:torch.manual_seed(1) # ...原创 2020-04-07 18:11:27 · 272 阅读 · 1 评论 -
3.5 PyTorch搭建第一个神经网络-优化器和批训练加速神经网络训练(Speed Up Training)
目录1.写在前面2.训练优化器2.1Stochastic Gradient Descent (SGD)2.2 Momentum 更新方法2.3AdaGrad 更新方法2.4RMSProp 更新方法2.5Adam 更新方法3.DataLoader1.写在前面 Torch 中提供了一种帮你整理你的数据结构的好东西, 叫做DataLoad...原创 2020-04-07 18:39:33 · 380 阅读 · 0 评论 -
3.6 PyTorch搭建第一个神经网络-优化器的比较(Optimizer )
目录1.写在前面2.实验对比各种优化器效果3.伪数据4.每个优化器优化一个神经网络5.优化器 Optimizer6.训练/出图7.完整代码演示1.写在前面 这节内容主要是用 Torch 实践几种优化器, 这几种优化器具体的优势在上一节博客(3.5 PyTorch搭建第一个神经网络-优化器和批训练)中已经具体做了了解。2.实验对比各种优化器效果...原创 2020-04-07 18:53:13 · 584 阅读 · 0 评论 -
4.1 高级神经网络结构-什么是卷积神经网络 CNN (Convolutional Neural Network)
目录1.写在前面2.卷积和神经网络3.池化(pooling)4.流行的CNN结构1.写在前面 卷积神经网络是近些年逐步兴起的一种人工神经网络结构, 因为利用卷积神经网络在图像和语音识别方面能够给出更优预测结果, 这一种技术也被广泛的传播可应用. 卷积神经网络最常被应用的方面是计算机的图像识别, 不过因为不断地创新, 它也被应用在视频分析, 自然语言处理, 药物...原创 2020-04-07 19:32:10 · 638 阅读 · 0 评论 -
4.2 高级神经网络结构-CNN 卷积神经网络(mnist手写体识别)
1.写在前面 卷积神经网络目前被广泛地用在图片识别上, 已经有层出不穷的应用, 如果你对卷积神经网络还没有特别了解, 可以再看一下我上一篇文章,4.1 高级神经网络结构-什么是卷积神经网络 CNN (Convolutional Neural Network),能让你花几分钟就了解什么是卷积神经网络. 接着我们就一步一步做一个分析手写数字的 CNN 吧. 下面是一...原创 2020-04-07 19:59:09 · 926 阅读 · 1 评论 -
4.3 高级神经网络结构-什么是循环神经网络 RNN (Recurrent Neural Network)
目录1.写在前面2.RNN的用途3.序列数据4.处理序列数据的神经网络5.RNN的应用1.写在前面 今天我们会来聊聊在语言分析, 序列化数据中穿梭自如的循环神经网络 RNN. RNN 是用来干什么的 ? 它和普通的神经网络有什么不同 ? 我会将会一一探讨.2.RNN的用途 现在请你看着这个名字. 不出意外, 你应该可以脱口而出. ...原创 2020-04-07 20:09:26 · 385 阅读 · 0 评论 -
4.4 高级神经网络结构-什么是 LSTM 循环神经网络
目录1.写在前面2.RNN的弊端3.LSTM1.写在前面 今天我们会来聊聊在普通RNN的弊端和为了解决这个弊端而提出的 LSTM 技术. LSTM 是 long-short term memory 的简称, 中文叫做 长短期记忆. 是当下最流行的 RNN 形式之一.2.RNN的弊端 之前我们说过, RNN 是在有顺序的数据上进行学习的. 为了...原创 2020-04-09 18:00:54 · 389 阅读 · 0 评论 -
4.5 高级神经网络结构-RNN 循环神经网络 (分类【MNIST手写数字识别】)
目录1.写在前面2.MNIST手写数据3.RNN模型4.训练5.完整代码演示1.写在前面 循环神经网络让神经网络有了记忆, 对于序列话的数据,循环神经网络能达到更好的效果.接着我们就一步一步做一个分析手写数字的 RNN 吧.2.MNIST手写数据import torchfrom torch import nnimport torchvisi...原创 2020-04-09 18:09:36 · 786 阅读 · 0 评论 -
4.6 高级神经网络结构-RNN 循环神经网络 (回归)
目录1.写在前面2.训练数据3.RNN模型4.训练5.完整代码演示1.写在前面 循环神经网络让神经网络有了记忆, 对于序列话的数据,循环神经网络能达到更好的效果.上次我们提到了用 RNN 的最后一个时间点输出来判断之前看到的图片属于哪一类, 这次我们来真的了, 用 RNN 来及时预测时间序列.2.训练数据 我们要用到的数据就是这样...原创 2020-04-09 18:18:19 · 597 阅读 · 0 评论 -
4.7 高级神经网络结构-什么是自编码 (Autoencoder)
目录1.写在前面2.压缩与解压3.编码器 Encoder4.解码器 Decoder1.写在前面 今天我们会来聊聊用神经网络如何进行非监督形式的学习. 也就是 autoencoder, 自编码. 自编码 autoencoder 是一种什么码呢. 他是不是 条形码? 二维码? 打码? 其中的一种呢? NONONONO. 和他们统统没有关系. 自编...原创 2020-04-09 18:26:31 · 1133 阅读 · 0 评论 -
4.8 高级神经网络结构-AutoEncoder (自编码/非监督学习)
目录1.写在前面2.训练数据3.AutoEncoder4.训练5.画3D图6.完整代码演示1.写在前面 神经网络也能进行非监督学习, 只需要训练数据, 不需要标签数据. 自编码就是这样一种形式. 自编码能自动分类数据, 而且也能嵌套在半监督学习的上面, 用少量的有标签样本和大量的无标签样本学习. 这次我们还用 MNIST 手写数字数...原创 2020-04-09 18:35:53 · 768 阅读 · 0 评论 -
4.9 高级神经网络结构-什么是 DQN
目录1.写在前面2.强化学习与神经网络3.神经网络的作用4.更新神经网络5.DQN 两大利器1.写在前面 今天我们会来说说强化学习中的一种强大武器, Deep Q Network 简称为 DQN. Google Deep mind 团队就是靠着这 DQN 使计算机玩电动玩得比我们还厉害.2.强化学习与神经网络 之前我们所谈论到的强...原创 2020-04-09 18:46:54 · 2005 阅读 · 0 评论 -
4.10 高级神经网络结构-DQN 强化学习
目录1.写在前面2.模块导入和参数设置3.神经网络4.DQN体系5.训练6.完整代码演示7.附加A3C1.写在前面 Torch 是神经网络库, 那么也可以拿来做强化学习,你同样也可以用 PyTorch 来实现, 这次我们就举 DQN 的例子, 我对比了我的 Tensorflow DQN 的代码, 发现 PyTorch 写的要简单很多.2.模块...原创 2020-04-09 19:02:06 · 3712 阅读 · 0 评论 -
4.11 高级神经网络结构-什么是生成对抗网络( GAN )
目录1.写在前面2.常见的神经网络形式3.生成网络4.新手画家5.新手鉴赏家6.新手鉴赏和新手画家7.GAN网络8.GAN应用1.写在前面 今天我们会来说说现在最流行的一种生成网络, 叫做 GAN, 又称生成对抗网络, 也是 Generative Adversarial Nets 的简称. 完全没有听懂, GAN 是什么鬼.. 不急, 我们慢慢...原创 2020-04-12 21:59:19 · 700 阅读 · 0 评论 -
4.12 高级神经网络结构-GAN (Generative Adversarial Nets 生成对抗网络)
目录1.写在前面2.超参数设置3.著名画家的画4.神经网络5.训练6.可视化训练过程7.完整代码演示1.写在前面 GAN 是一个近几年比较流行的生成网络形式. 对比起传统的生成模型, 他减少了模型限制和生成器限制, 他具有有更好的生成能力. 人们常用假钞鉴定者和假钞制造者来打比喻, 但是我不喜欢这个比喻, 觉得没有真实反映出 GAN 里面的机理....原创 2020-04-12 23:32:01 · 932 阅读 · 0 评论 -
5.1 高阶内容-为什么 Torch 是动态的
目录1.写在前面2.动态?静态?3.动态RNN4.完整代码演示1.写在前面 听说过 Torch 的人都听说了 torch 是动态的, 那他的动态到底是什么呢? 我们用一个 RNN 的例子来展示一下动态计算到底长什么样.2.动态?静态? 对比静态动态, 我们就得知道谁是静态的. 在流行的神经网络模块中, Tensorflow 就是最典型的静...原创 2020-04-13 00:10:29 · 361 阅读 · 0 评论 -
5.2 高阶内容-GPU 加速运算
目录1.写在前面2.用 GPU 训练 CNN3.完整代码演示1.写在前面 在 GPU 训练可以大幅提升运算速度. 而且 Torch 也有一套很好的 GPU 运算体系. 但是要强调的是:你的电脑里有合适的 GPU 显卡(NVIDIA), 且支持 CUDA 模块.请在NVIDIA官网查询 必须安装 GPU 版的 Torch,点击这里查看如何安装2.用 GP...原创 2020-04-13 00:14:36 · 491 阅读 · 0 评论 -
5.3 高阶内容-什么是过拟合 (Overfitting)
目录1.写在前面2.过于自负3.回归分类的过拟合4.解决方法1.写在前面 今天我们会来聊聊机器学习中的过拟合 overfitting 现象, 和解决过拟合的方法.2.过于自负 在细说之前, 我们先用实际生活中的一个例子来比喻一下过拟合现象. 说白了, 就是机器学习模型于自信. 已经到了自负的阶段了. 那自负的坏处, 大家也知道, 就是在自...原创 2020-04-13 00:21:50 · 442 阅读 · 0 评论 -
5.4 高阶内容-Dropout 缓解过拟合
目录1.写在前面2.做点数据3.搭建神经网络4.训练5.对比测试结果6.完整代码演示1.写在前面 过拟合让人头疼, 明明训练时误差已经降得足够低, 可是测试的时候误差突然飙升. 这很有可能就是出现了过拟合现象. 强烈推荐通过这个动画的形式短时间了解什么是过拟合, 怎么解决过拟合. 下面动图就显示了我们成功缓解了过拟合现象.2.做点数据 ...原创 2020-04-13 00:27:26 · 417 阅读 · 0 评论 -
5.5 高阶内容-什么是批标准化 (Batch Normalization)
目录1.写在前面2.普通数据标准化3.每层都做标准化4.BN 添加位置5.BN 效果6.BN 算法1.写在前面 今天我们会来聊聊批标准化 Batch Normalization.2.普通数据标准化 Batch Normalization, 批标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一...原创 2020-04-13 00:38:21 · 380 阅读 · 0 评论 -
5.6 高阶内容-Batch Normalization 批标准化
1.写在前面 批标准化通俗来说就是对每一层神经网络进行标准化 (normalize) 处理, 我们知道对输入数据进行标准化能让机器学习有效率地学习. 如果把每一层后看成这种接受输入数据的模式, 那我们何不 “批标准化” 所有的层呢? 那我们就看看下面的两个动图, 这就是在每层神经网络有无 batch normalization 的区别啦.2.做点数...原创 2020-04-13 00:49:56 · 450 阅读 · 1 评论