耐心的小黑
七月份就上班了,比较忙!
展开
-
pytorch学习笔记十七:官方API文档小总结
一、torch下的常用API,基本上都是对数据进行处理的函数①操作数据:torch.is_tensor,torch.set_default_dtype,torch.get_default_dtype,torch.cat,torch.index_select,torch.reshape,torch.squeeze,torch.t,torch.unsqueeze,torch.transpose,torch.take,torch.where②定义数据(tensor):torch.tensor,tor原创 2020-12-06 21:10:31 · 2099 阅读 · 1 评论 -
pytorch学习笔记十六:torch.optim.lr_scheduler动态调整学习率
有篇文章总结的很全面,下面将其贴出来:传送门:pytorch中的学习率调整函数原创 2020-08-30 22:49:42 · 2325 阅读 · 1 评论 -
pytorch学习笔记十五:查看模型的层(子模块)的几种方式
首先我们先搭建一个模型:import torch from torch import nn import torch.nn.functional as Fclass Net(nn.Module): def __init__(self): super(Net, self).__init__() self.embedding = nn.Embedding(num_embeddings = 10000,原创 2020-08-30 13:46:22 · 5045 阅读 · 3 评论 -
pytorch学习笔记十四:自动微分机制(backward、torch.autograd.grad)
一、前言神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情。而深度学习框架可以帮助我们自动地完成这种求梯度运算。Pytorch一般通过反向传播 backward方法 实现这种求梯度计算。该方法求得的梯度将存在对应自变量张量的grad属性下。除此之外,也能够调用torch.autograd.grad函数来实现求梯度计算。这就是Pytorch的自动微分机制。二、利用backward方法求导数backward方法通常在一个标量张量上调用,该方法求得的梯度将存在转载 2020-08-30 10:39:09 · 3453 阅读 · 0 评论 -
pytorch学习笔记十三:用一个简单的神经网络训练FizzBuzz小游戏
FizzBuzz是一个简单的小游戏。游戏规则如下:从1开始往上数数,当遇到3的倍数的时候,说fizz,当遇到5的倍数,说buzz,当遇到15的倍数,就说fizzbuzz,其他情况下则正常数数。我们可以写一个简单的小程序来决定要返回正常数值还是fizz, buzz 或者 fizzbuzz。一、定义编码和解码函数def fizz_buzz_encode(i): if i % 15 == 0: return 3 elif i % 5 == 0: return 2 elif i原创 2020-08-19 14:56:18 · 1838 阅读 · 0 评论 -
pytorch学习笔记十二:和GPU有关的基本操作以及如何创建支持多个GPU数据并行的模型
这里我们谈论的是单主机多GPU计算而不是分布式计算。下面将展示如何使用多块GPU计算,例如,使用多块GPU训练同一个模型。正如所期望的那样,你要想实现多GPU计算,需要至少2块GPU。事实上,一台机器上安装多块GPU很常见,这是因为主板上通常会有多个PCIe插槽。如果正确安装了NVIDIA驱动,我们可以通过在命令行输入nvidia-smi命令来查看当前计算机上的全部GPU(或者在jupyter notebook中运行!nvidia-smi)。nvidia-smi+-------------------原创 2020-08-19 10:38:38 · 1677 阅读 · 0 评论 -
pytorch学习笔记十一:查看模型参数信息的几种方式
首先,我们先创建一个只有两层的简单的模型,第一层是没有参数的FlattenLayer,第二层是有参数的Linear.import torchfrom torch import nnnum_inputs = 784num_outputs = 10class FlattenLayer(nn.Module): def __init__(self): super(Fl...原创 2020-04-09 22:29:00 · 3162 阅读 · 0 评论 -
pytorch学习笔记十:torch.optim下的优化算法的使用方法详解
这里,我们不对每一个具体的优化算法做解释,只是对torch.optim下的算法的使用方法以及有哪些属性做一下说明。一、torch.optimtorch.optim是一个实现了各种优化算法的库。大部分常用的方法得到支持,并且接口具备足够的通用性,使得未来能够集成更加复杂的方法。二、如何使用optimizer为了使用torch.optim,你需要构建一个optimizer对象。这个对象能够保持...原创 2020-04-09 18:46:32 · 2961 阅读 · 0 评论 -
pytorch学习笔记九:通过torch.utils.tensorboard在pytorch中使用tensorboard
一、环境准备:我的环境是最新的pytorch1.4,然后使用pip install tensorflow在pytorch中安装tensorflow,此时默认安装的是tf2.1,同时它还会默认安装我们需要的tensorboard注意,有朋友可能有疑问:既然我们是直接使用的torch.utils.tensorboard这个pytorch自己的API,那么我们为什么还要安装tensorflow呢?...原创 2020-04-09 14:58:21 · 9083 阅读 · 3 评论 -
pytorch学习笔记八:pytorch中模型保存和加载那些事
模型保存和加载那些事原创 2020-04-08 21:58:24 · 1352 阅读 · 0 评论 -
pytorch学习笔记七:torchvision.datasets.ImageFolder使用详解
一、数据集组织方式ImageFolder是一个通用的数据加载器,它要求我们以下面这种格式来组织数据集的训练、验证或者测试图片。root/dog/xxx.pngroot/dog/xxy.pngroot/dog/xxz.pngroot/cat/123.pngroot/cat/nsdf3.pngroot/cat/asd932_.png对于上面的root,假设data文件夹在.py文件...原创 2020-04-08 21:02:51 · 43639 阅读 · 11 评论 -
pytorch学习笔记六:torch.utils.data下的TensorDataset和DataLoader的使用
一、TensorDataset对给定的tensor数据(样本和标签),将它们包装成dataset'''data_tensor (Tensor) - 样本数据target_tensor (Tensor) - 样本目标(标签)''' dataset=torch.utils.data.TensorDataset(data_tensor, ...原创 2020-04-08 14:25:30 · 17492 阅读 · 6 评论 -
pytorch学习笔记五:pytorch中reshape、view以及resize_之间的区别
这里以torch.Tensor下的reshape,view,resize_来举例一、先来说一说reshape和view之间的区别相同点:都是可以改变tensor的形状不同点:.view()方法只能改变连续的(contiguous)张量,否则需要先调用.contiguous()方法,而.reshape()方法不受此限制;如果对 tensor 调用过 transpose, permute等...原创 2020-04-08 11:52:27 · 35972 阅读 · 2 评论 -
pytorch学习笔记四:torch.nn下常用网络层(layer)详解
一、卷积层卷积:Conv2d'''in_channels:输入通道数out_channels:输出通道数kernel_size:卷积核尺寸,整数或者元组stride:卷积操作的步幅,整数或者元组padding:数据hw方向上填充的层数,整数或者元组,默认填充的是0dilation:卷积核内部各点的间距,整数或者元组groups:控制输入和输出之间的连接;group...原创 2020-04-07 23:24:21 · 5435 阅读 · 1 评论 -
pytorch学习笔记三:torch.nn下常见的几个损失函数详解
在盘点常见损失函数之前,有必要先说一下在很多的损失函数中都出现的三个参数,也即size_average,reduce以及reduction,并且它们三个之间还存在一定的关系。size_average:bool类型;默认情况下,如果只有一个batch,每个batch有多个元素,那么误差计算结果是这个batch中多个元素的平均值;如果是有多个batch,然后每个batch有多个元素,那么误差计算...原创 2020-04-07 13:05:47 · 10035 阅读 · 6 评论 -
pytorch学习笔记二:pytorch构建模型的3种方式
pytorch搭建模型整体上看主要有两种方式,一种是继承torch.nn.Module类,另一种就是直接使用继承自该类的子类:Sequential ,ModuleList,ModuleDict。一、继承torch.nn.Module类Module类是nn模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型。这里定义的MLP类重载了Module类的__in...转载 2020-04-06 20:41:30 · 2263 阅读 · 0 评论 -
pytorch学习笔记一:简述在Anaconda下安装pytorch1.4的步骤
首先在官网下载安装好Anaconda,目前pytorch支持python3.5-3.7,所以应该下载所需版本安装CUDA传送门和CUDNN传送门,注意一定要和目前的pytorch支持的版本匹配,比如CUDA10.1,cuDNNv7.6.5。具体安装过程,参考此处传送门在Anaconda中创建虚拟环境,在开始菜单中打开 Anaconda Prompt,然后在命令行输入conda cr...原创 2020-02-12 11:38:24 · 2069 阅读 · 0 评论