Q1:什么是神经网络? Q2:torch vs numpy Numpy:NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高 效的多(该结构也可以用来表示矩阵(matrix)).专为进行严格的数字处理而产生.   Q3:numpy和Torch的转换 Q3 torch中的数学运算 torch中的tensor运算和numpy的array运算很相似,具体参看下面的代码 import t…
莫烦视频网址 这个代码实现了预测和可视化 import os # third-party library import torch import torch.nn as nn import torch.utils.data as Data import torchvision import matplotlib.pyplot as plt # torch.manual_seed() # reproducible # Hyper Parameters EPOCH = # train the tra…
各种优化器的比较 莫烦的对各种优化通俗理解的视频 import torch import torch.utils.data as Data import torch.nn.functional as F from torch.autograd import Variable import matplotlib.pyplot as plt # 超参数 LR = 0.01 BATCH_SIZE = EPOCH = # 生成假数据 # torch.unsqueeze() 的作用是将一维变二维,torc…
import torch from torch.autograd import Variable import matplotlib.pyplot as plt torch.manual_seed() # fake data x = torch.unsqueeze(torch.linspace(-,,),dim=) y = x.pow() + 0.2 * torch.rand(x.size()) x, y = Variable(x,requires_grad=False), Variable(y…
1.要点 Torch 中提供了一种帮你整理你的数据结构的好东西, 叫做 DataLoader, 我们能用它来包装自己的数据, 进行批训练. 而且批训练可以有很多种途径. 2.DataLoader DataLoader 是 torch 给你用来包装你的数据的工具. 所以你要讲自己的 (numpy array 或其他) 数据形式装换成 Tensor, 然后再放进这个包装器中. 使用 DataLoader 有什么好处呢? 就是他们帮你有效地迭代数据, 举例: import torch import t…
.简介 torch.autograd.Variable是Autograd的核心类,它封装了Tensor,并整合了反向传播的相关实现 Variable和tensor的区别和联系 Variable是篮子,而tensor是鸡蛋,鸡蛋应该放在篮子里才能方便拿走(定义variable时一个参数就是tensor) Variable这个篮子里除了装了tensor外还有requires_grad参数,表示是否需要对其求导,默认为False Variable这个篮子呢,自身有一些属性 比如grad,梯度varia…
import torch from torch.autograd import Variable import torch.nn.functional as F import matplotlib.pyplot as plt # make fake data n_data = torch.ones(, ) x0 = torch.normal(*n_data, ) #每个元素(x,y)是从 均值=*n_data中对应位置的取值,标准差为1的正态分布中随机生成的 y0 = torch.zeros()…
下面的代码说明个整个神经网络模拟回归的过程,代码含有详细注释,直接贴下来了 import torch from torch.autograd import Variable import torch.nn.functional as F import matplotlib.pyplot as plt #绘制散点图 x=torch.unsqueeze(torch.linspace(-,,),dim=)#x轴共一百个点 y=x.pow()+0.2*torch.rand(x.size())#x^2加上…
1. sigmod函数 函数公式和图表如下图     在sigmod函数中我们可以看到,其输出是在(0,1)这个开区间内,这点很有意思,可以联想到概率,但是严格意义上讲,不要当成概率.sigmod函数曾经是比较流行的,它可以想象成一个神经元的放电率,在中间斜率比较大的地方是神经元的敏感区,在两边斜率很平缓的地方是神经元的抑制区. 当然,流行也是曾经流行,这说明函数本身是有一定的缺陷的. 1) 当输入稍微远离了坐标原点,函数的梯度就变得很小了,几乎为零.在神经网络反向传播的过程中,我们都是通过微分…
CNN原理和结构 观点提出 关于照片的三种观点引出了CNN的作用. 局部性:某一特征只出现在一张image的局部位置中. 相同性: 同一特征重复出现.例如鸟的羽毛. 不变性:subsampling下图片性质不变.类似于图片压缩. 相比与Fully Connected,减少了权重数目. 组成结构 卷积层 使用一个集合的滤波器在输入数据上滑动,得到内积,形成K张二维的激活图,作为该层卷积层的输出. 每类的滤波器寻找一种特征进行激活. 一个滤波器的高度必须与输入数据体的深度一致. 卷积层的输出深度是一…
1. Numpy VS Torch #相互转换 np_data = torch_data.numpy() torch_data = torch.from_numpy(np_data) #abs data = [1, 2, -2, -1] #array tensor = torch.FloatTensor(data) #32bit 传入普通数组 np.abs(data); torch.abs(tensor); #矩阵相乘 data.dot(data) #但是要先转换为numpy的data data…
英文原文链接:http://cs231n.github.io/python-numpy-tutorial/ Numpy Numpy是Python中科学计算的核心库.它提供了一个高性能的多维数组对象,以及处理这些数组的工具.如果您已经熟悉MATLAB,那么在开始学习Numpy时,您可能会发现本教程非常有用. Arrays numpy数组是由所有类型相同的值组成的网格,由非负整数的元组索引.维数为数组的秩;数组的形状是一个整数元组,给出了数组在每个维度上的大小. 我们可以从嵌套的Python列表初始…
稍稍乱入的CNN,本文依然是学习周莫烦视频的笔记. 还有 google 在 udacity 上的 CNN 教程. CNN(Convolutional Neural Networks) 卷积神经网络简单讲就是把一个图片的数据传递给CNN,原涂层是由RGB组成,然后CNN把它的厚度加厚,长宽变小,每做一层都这样被拉长,最后形成一个分类器: 如果想要分成十类的话,那么就会有0到9这十个位置,这个数据属于哪一类就在哪个位置上是1,而在其它位置上为零. 在 RGB 这个层,每一次把一块核心抽出来,然后厚度…
滴:转载引用请注明哦[握爪] https://www.cnblogs.com/zyrb/p/9700343.html 莫烦教程是一个免费的机器学习(不限于)的学习教程,幽默风俗的语言让我们这些刚刚起步的小白们感到Friendly~o(* ̄︶ ̄*)o.为了巩固自己的记忆,也小小の贡献于他人,将莫烦教程进行整理.难免于有错误恳请批评指正,也希望自己始终能愉悦的学习!PS:大多数为整理文本,少部分添加自己的理解. Artificial Neural Nets VS Neural Nets ? 二三十年…
目录 Pytorch Leture 05: Linear Rregression in the Pytorch Way Logistic Regression 逻辑回归 - 二分类 Lecture07: How to make netural network wide and deep ? Lecture 08: Pytorch DataLoader Lecture 09: softmax Classifier part one part two : real problem - MNIST i…
PyTorch 的诞生 2017 年 1 月,FAIR(Facebook AI Research)发布了 PyTorch.PyTorch 是在 Torch 基础上用 python 语言重新打造的一款深度学习框架.Torch 是采用 Lua 语言为接口的机器学习框架,但是因为 Lua 语言较为小众,导致 Torch 学习成本高,因此知名度不高. PyTorch 的发展 2017 年 1 月正式发布 PyTorch. 2018 年 4 月更新 0.4.0 版,支持 Windows 系统,caffe2…
本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/bn_and_initialize.py https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/bn_in_123_dim.py https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/norma…
1. **args, **kwargs的区别 def build_vocab(self, *args, **kwargs): counter = Counter() sources = [] for arg in args: if isinstance(arg, Dataset): sources += [getattr(arg, name) for name, field in arg.fields.items() if field is self] else: sources.append(…
一.Pytorch安装 安装cuda和cudnn,例如cuda10,cudnn7.5 官网下载torch:https://pytorch.org/ 选择下载相应版本的torch 和torchvision的whl文件 使用pip install whl_dir安装torch,并且同时安装torchvision 二.初步使用pytorch # -*- coding:utf-8 -*- __author__ = 'Leo.Z' import torch import time # 查看torch版本…
本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/model_save.py https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/model_load.py https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/checkpoint_resu…
记录如何用Pytorch搭建LeNet-5,大体步骤包括:网络的搭建->前向传播->定义Loss和Optimizer->训练 # -*- coding: utf-8 -*- # All codes and comments from <<深度学习框架Pytorch入门与实践>> # Code url : https://github.com/zhouzhoujack/pytorch-book # lesson_2 : Neural network of PT(Py…
书上内容太多太杂,看完容易忘记,特此记录方便日后查看,所有基础语法以代码形式呈现,代码和注释均来源与书本和案例的整理. # -*- coding: utf-8 -*- # All codes and comments from <<深度学习框架Pytorch入门与实践>> # Code url : https://github.com/zhouzhoujack/pytorch-book # lesson_1 : Basic code syntax of PT(Pytorch) im…
原文地址:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html 什么是pytorch? pytorch是一个基于python语言的的科学计算包,主要分为两种受众: 能够使用GPU运算取代NumPy 提供最大灵活度和速度的深度学习研究平台 开始 Tensors Tensors与numpy的ndarray相似,且Tensors能使用GPU进行加速计算. 创建5 * 3的未初始化矩阵: 创建并随机初始化矩阵: 创建一…
一.Tensor Tensor是Pytorch中重要的数据结构,可以认为是一个高维数组.Tensor可以是一个标量.一维数组(向量).二维数组(矩阵)或者高维数组等.Tensor和numpy的ndarrays相似. import torch as t 构建矩阵:x = t.Tensor(m, n) 注意这种情况下只分配了空间,并没有初始化. 使用[0,1]均匀分布随机初始化矩阵:x = t.rand(m, n) 查看x的形状:x.size() 加法: (1)x + y (2)t.add(x, y…
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/linear_regression.py 张量的操作 拼接 torch.cat() torch.cat(tensors, dim=0, out=None) 功能:将张量按照 dim 维度进行拼接 tensors: 张量序列 dim: 要拼接的维度 代码示例: t = torch.ones((2, 3)) t_0 = torch.cat([t, t], d…
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/computational_graph.py 计算图 深度学习就是对张量进行一系列的操作,随着操作种类和数量的增多,会出现各种值得思考的问题.比如多个操作之间是否可以并行,如何协同底层的不同设备,如何避免冗余的操作,以实现最高效的计算效率,同时避免一些 bug.因此产生了计算图 (Computational Graph). 计算图是用来描述运算的有向无环…
PyTorch 的数据增强 我们在安装PyTorch时,还安装了torchvision,这是一个计算机视觉工具包.有 3 个主要的模块: torchvision.transforms: 里面包括常用的图像预处理方法 torchvision.datasets: 里面包括常用数据集如 mnist.CIFAR-10.Image-Net 等 torchvision.models: 里面包括常用的预训练好的模型,如 AlexNet.VGG.ResNet.GoogleNet 等 深度学习模型是由数据驱动的,…
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/module_containers.py 这篇文章来看下 PyTorch 中网络模型的创建步骤.网络模型的内容如下,包括模型创建和权值初始化,这些内容都在nn.Module中有实现. 网络模型的创建步骤 创建模型有 2 个要素:构建子模块和拼接子模块.如 LeNet 里包含很多卷积层.池化层.全连接层,当我们构建好所有的子模块之后,按照一定的顺序拼接起来…
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/nn_layers_others.py 这篇文章主要介绍了 PyTorch 中的池化层.线性层和激活函数层. 池化层 池化的作用则体现在降采样:保留显著特征.降低特征维度,增大 kernel 的感受野. 另外一点值得注意:pooling 也可以提供一些旋转不变性. 池化层可对提取到的特征信息进行降维,一方面使特征图变小,简化网络计算复杂度并在一定程度上避…
本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/optimizer_methods.py https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/momentum.py 这篇文章主要介绍了 PyTorch 中的优化器,包括 3 个部分:优化器的概念.optimizer 的属性.optimizer 的方法. 优化器的概念 P…