Pytorch学习笔记
Always066
这个作者很懒,什么都没留下…
展开
-
Pytorch设备选择,多GPU训练
To函数功能:转换数据类型\设备1.tensor.to()2.mouble.to()例子:torch.cuda多GPU分发并行机制把数据等分,给不同的GPU运行torch.nn.DataParallel# ============================ 手动选择gpugpu_list = [2,3] gpu_list_str = ','.join(map(str, g原创 2020-07-05 15:54:19 · 1584 阅读 · 0 评论 -
Pytorch-Model Fintune
Model FinetuneTransfer Learning:机器学习分支,研究源域的只是如何应用到目标域模型微调首先要加载模型参数resnet18_ft = models.resnet18() path_pretrained_model = os.path.join(BASEDIR, "resnet18-5c106cde.pth")state_dict_load = torch.load(path_pretrained_model)原创 2020-07-05 13:02:53 · 269 阅读 · 0 评论 -
Pytorch-模型的保存于加载
简介Pytorch中的序列化和反序列化troch.save主要参数obj:对象f:输出路径torch.load主要参数f:文件路径map_location:指定存放位置,cpu或者gpu对于保存有两种方法:1.保存整个Moucle, torch.save(net,path)2.保存模型的参数:state_dictt=net.state_dict()torch.save(state_dict,path)#方式1加载模型path_model='./model.原创 2020-07-05 11:41:47 · 3187 阅读 · 0 评论 -
Pytorch-TensorBoard
简介TensorBoard:Tensorflow中强大的可视化工具TensorBoard测试代码import numpy as npfrom torch.utils.tensorboard import SummaryWriterwriter=SummaryWriter(comment='test_tensorboard')for x in range(100): writer.add_scalar('y=2x',x*2,x) writer.add_scalar('y=pow(2,x)原创 2020-07-04 23:29:11 · 2891 阅读 · 0 评论 -
Pytorch-学习率调整策略Scheduler
class_LRScheduler主要方法step():更细你下一个epoch的学习率get_lr():虚函数,计算下一个epoch的学习率学习率调整1.StepLR 等间隔调整学习率2.MultiStepLR 按给定间隔调整学习率3.按照指数衰减调整学习率4.CosineAnnealingLR诡异的学习率5.ReduceLRonPlateau这个和keras的ReduceLearningRate很像需要注意的是,在scheduler_lr的step方法中必须输原创 2020-07-03 20:56:42 · 4499 阅读 · 1 评论 -
Pytorch优化器-Optimizer
简介pytorch优化器:管理并更新模型中可学习参数的值,是的模型输出更接近真实标签。导数:函数在指定坐标轴上的变化率方向导数:指定方向上的变化率梯度:一个响亮,方向为方向导数取得最大值的方向pytorch中的optimizer基本属性:default:优化器超参数state:参数的缓存,如momentum的缓存param_groups:管理的参数组_step_count:记录更新次数,学习率调整中使用基本方法zero_grad():清空所管理参数的梯度pytorch特性原创 2020-07-01 23:56:00 · 3240 阅读 · 0 评论 -
Pytorch损失函数
定义损失函数(Loss Function)Loss=f(a^,y)Loss=f( \hat{a} ,y)Loss=f(a^,y)代价函数(Cost Function)Cost=1N∑iNf(yi^,yi)Cost=\frac{1}{N}\sum_{i}^{N}f(\hat{y_{i}},y_{i})Cost=N1i∑Nf(yi^,yi)目标函数(Objective Function)Obj=Cost+RegularizationObj=Cost+RegularizationObj=Co原创 2020-07-01 23:10:29 · 741 阅读 · 0 评论 -
数据增强2
Transform的剩余方法Pad对图片进行填充transform.Pad(padding, fill=0, padding_mode='contant')padding设置填充大小参数三种方式(a),(a,b),(a,b,c,d)分别为四面,上下和左右,以及上下左右padding)mode:填充模式,有四种,constant,edge,reflect和symmetricfill:Contant时,设置填充的像素值(R,G,B)or(Gray)...原创 2020-06-30 08:17:41 · 7139 阅读 · 0 评论 -
数据加载以及数据增强1
Dataset是一个抽象类,需要继承并重写__getitem__(self,item)方法对比Epoch和Iterator BatchsizeEpoch:表示把所有的样本都输入到模型中进行一遍训练Iteration : 一批样本输入到模型中,称之为一个iterationBatchSize:表示批大小,决定了一个Epoch有多少个Iterationtransform1.CenterCrop 中心裁剪2.RandomCrop随机裁剪transforms.RandomCrop(224,paddi原创 2020-06-29 01:11:52 · 265 阅读 · 0 评论 -
pytorch杂记-torch.max
torch.max的理解关于这个API,他的名字是torch.max,根据名字不难意识到,它表示寻找最大值在tf2.0中,对应API的名字是reduce_max,对于这个名字我一开始是无法理解,reduce的含义,但是根据一些代码,确实有这样的认识:我们要想找出一些最大值,是要抛弃一些非最大值,这就是一个纬度的缩减cheat is cheap,我们来看一下代码import torcha=torch.stack([torch.randperm(10),torch.randperm(10),torc原创 2020-05-31 11:02:37 · 1487 阅读 · 0 评论 -
Pytorch笔记(三)
目录用例子来学习Pytorch续Pytorch的nn模块(neural network)Optimization 加速器定制自己的module流程控制与权值共享用例子来学习Pytorch续这篇笔记是接着Pytorch笔记(二)继续的Pytorch的nn模块(neural network)根据上面的学习我们了解到一个神经网络包含了前向传播和反向传播,其中我们定义node和edge分别为tor...原创 2020-04-13 13:53:06 · 504 阅读 · 0 评论 -
Pytorch笔记(二)
目录用例子来学习Pytorch张量热身活动:用numpy构建神经网络用例子来学习Pytorch第二篇教程主要是通过例子来介绍Pytorch 地址文中主要抛出两个关于Pytorch的主要特征1.An n-dimensional Tensor, similar to numpy but can run on GPUs一个N纬度的张量,和Numpy很类似但是在GPU上运行2.Automat...原创 2020-04-13 00:11:47 · 338 阅读 · 0 评论 -
Pytorch笔记(一)
目录开始学习PytorchTensor如何构建一个TensorTensor的操作Tensor的索引Numpy和Torch Tensor的关系把tensor转化为numpy把numpy转化为tensor在CUDA上使用Tensor开始学习Pytorch这是我的第一篇CSDN博客,作为一个我开始学习Pytorch的记录,学习的方式主要是阅读Pytorch的官方Tutorials,最新版是英文版,所...原创 2020-04-08 15:28:10 · 222 阅读 · 0 评论