
Pytorch学习
文章平均质量分 52
tang-0203
这个作者很懒,什么都没留下…
展开
-
pytorch学习之 - 跨卡收集结果
核心步骤:结果做序列化跨卡之间做all_gather操作将结果做反序列化序列化In [21]: import pickle ...: import torch ...: ...: result_part = [1, 2, 3, 4] ...: part_tensor = torch.tensor(bytearray(pickle.dumps(result_part)), dtype=torch.uint8) ...: recover_result =原创 2021-12-10 20:25:43 · 1154 阅读 · 0 评论 -
torch.nn.PixelShuffle
参考:https://pytorch.org/docs/stable/generated/torch.nn.PixelShuffle.htmlpixel_shuffle = nn.PixelShuffle(3)input = torch.randn(1, 9, 4, 4)output = pixel_shuffle(input)print(output.size()) # 1, 1,12,12In [10]: input.sum()Out[10]: tensor(-12.1099)In翻译 2021-11-16 14:37:59 · 1420 阅读 · 0 评论 -
torch.as_tensor 修改原始ndarray的值
https://pytorch.org/docs/stable/generated/torch.as_tensor.html输入是ndarray时,如果device是cpu,对创建的tensor做修改,也会改变原ndarray的数值。>>> a = numpy.array([1, 2, 3])>>> t = torch.as_tensor(a)>>> ttensor([ 1, 2, 3])>>> t[0] = -1&g原创 2021-11-11 16:48:39 · 1495 阅读 · 0 评论 -
conda安装pytotch和torchvision,加载模型到GPU中等待时间过长
问题描述:在服务器上用conda创建了自己的环境,然后在该环境下用conda创建一个python 2.7的环境,在该环境下安装pytorch和torchvision包,训练模型时,model = model.cuda()占据过多时间。解决: 卸载之前安装的pytorch,conda uninstall pytorch 然后pip重新安装,pip install xx.whl...原创 2018-05-06 10:28:39 · 3193 阅读 · 0 评论 -
pytorch创建data.DataLoader时,参数pin_memory的理解
锁页内存理解(pinned memory or page locked memory):https://blog.youkuaiyun.com/dgh_dean/article/details/53130871 What is the disadvantage of using pin_memory: https://discuss.pytorch.org/t/what-is-the-disadvantag...原创 2018-05-25 17:20:56 · 50381 阅读 · 6 评论 -
faster-rcnn实验-pytorch版本编译安装
Github:https://github.com/jwyang/faster-rcnn.pytorch.git 对应的commit:0e6f131c72ca9c9ac30750972a2a2515a77f2635 Merge pull request #180 from Frostinassiky/patch-1问题1: git clone的时候,由于作者一直在更新,目前的版本是支持cu...原创 2018-06-20 14:00:47 · 1424 阅读 · 0 评论 -
pytorch多GPU训练保存的模型,在单GPU环境下加载出错
背景在公司用多卡训练模型,得到权值文件后保存,然后回到实验室,没有多卡的环境,用单卡训练,加载模型时出错,因为单卡机器上,没有使用DataParallel来加载模型,所以会出现加载错误。原因DataParallel包装的模型在保存时,权值参数前面会带有module字符,然而自己在单卡环境下,没有用DataParallel包装的模型权值参数不带module。本质上保存的权值文件是一个有序字典。...原创 2018-10-31 16:57:29 · 9145 阅读 · 3 评论 -
pytorch低版本加载高版本pytorch训练得到的模型,出现‘module’ object has no attribute ‘_rebuild_tensor_v2’错误
情景使用pytorch0.3来加载Mobilenetv1的模型(用更高版本的pytorch训练得到的),出现“AttributeError: ‘module’ object has no attribute ‘_rebuild_tensor_v2’”错误。分析追根溯源,查看pytorch的源码,torch下__init__.py定义了__all__ = [**, ‘load’, **],然后...原创 2018-10-30 20:13:11 · 8735 阅读 · 2 评论 -
pytorch可视化工具visdom的使用
查看使用某端口的进程lsof -i:8097开启visdom服务之后,8097端口会被占用(视具体情况而定)原创 2019-01-22 16:49:06 · 829 阅读 · 0 评论 -
用torchsummary打印pytorch模型参数信息,并计算模型的FLOPs
打印模型参数信息在python3环境下安装torchsummaryfrom torchsummary import summaryimport torchvision.models as modelsmodel = models.resnet152()model = model.cuda()summary(model, input_size=(3,224,224), batch_siz...原创 2019-02-25 15:44:31 · 10667 阅读 · 1 评论 -
Spatial Temporal Graph Convolutional Networks (ST-GCN) 代码调试,实现+论文阅读
仓库地址:https://github.com/yysijie/st-gcn论文:Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition Sijie Yan, Yuanjun Xiong and Dahua Lin, AAAI 2018.基于骨架的动作识别的时间空间图卷积网络效果:...原创 2019-03-06 12:42:40 · 5814 阅读 · 7 评论 -
pytorch训练模型遇到RuntimeError: inconsistent tensor错误
问题描述:训练resnet模型,使用torchvision的ImageFolder来创建训练和测试集的DataLoader,然后训练模型的时候,出现RuntimeError: inconsistent tensor错误.解决措施:在transforms.Compose()中,transforms.Resize(224)后面跟一个transforms.CenterCrop(224)操作...原创 2018-04-30 21:52:52 · 4156 阅读 · 0 评论 -
torch.optim的灵活使用(包括重写SGD,加上L1正则)
torch.optim的灵活使用1. 基本用法:要构建一个优化器Optimizer,必须给它一个包含参数的迭代器来优化,然后,我们可以指定特定的优化选项,例如学习速率,重量衰减值等。注:如果要把model放在GPU中,需要在构建一个Optimizer之前就执行model.cuda(),确保优化器里面的参数也是在GPU中。 例子:optimizer = optim.SGD(...原创 2018-03-28 11:56:23 · 2176 阅读 · 6 评论 -
pytorch模型保存
pytorch模型保存方式:pytorch官网手册torchvision.models中的下载下来的pretrained模型,比如:alexnet-owt-4df8aa71.pth,是将模型的参数,按照有序字典的方式保存。类型为:collections.OrderedDict方式一:仅保存和加载模型参数(推荐的方式)1 . 保存模型参数:import torchtorch...原创 2018-03-04 10:15:30 · 2717 阅读 · 0 评论 -
PIL.Image和np.ndarray图片与Tensor之间的转换
为了方便进行数据的操作,pytorch团队提供了一个torchvision.transforms包,我们可以用transforms进行以下操作:PIL.Image/numpy.ndarray与Tensor的相互转化; transforms.ToTensor() 把像素值范围为[0, 255]的PIL.Image或者numpy.ndarray型数据,shape=(H x W x C)转换成的像素原创 2017-12-10 20:48:41 · 64383 阅读 · 16 评论 -
PyTorch读取Cifar数据集并显示图片(转载)
转自:原文链接PyTorch创建DataLoader的流程首先了解一下需要的几个类所在的package from torchvision import transforms, datasets as dsfrom torch.utils.data import DataLoaderimport matplotlib.pyplot as pltimport numpy as np#transf转载 2017-11-22 21:28:26 · 1262 阅读 · 0 评论 -
ipython下运行代码出现<module '__main__' (built-in)> is a built-in class错误
这个问题是我在做模型剪枝的时候遇到的先载入VGG16模型,更改全连接层,使输出单元个数与自己待处理的数据类别个数一致。冻住卷积层,只训练全连接层。学习率设为0.0001,momentum=0.9。当设定的epoch数目满足的时候,把模型保存,使用命令:torch.save(model, "./cifar-10/5epochs_cifar10_vgg_model")4 . 然后在ipytho原创 2017-11-22 21:53:51 · 4894 阅读 · 0 评论 -
定义torch.autograd.Function的子类,自己定义某些操作,且定义反向求导函数
大部分内容转载自: Pytorch入门学习(八)—–自定义层的实现(甚至不可导operation的backward写法) 哇,这个博客是对pytorch官方手册中-Extending PyTorch部分的的翻译总虽然pytorch可以自动求导,但是有时候一些操作是不可导的,这时候你需要自定义求导方式。也就是所谓的 “Extending torch.autograd”. 官网虽然...转载 2018-02-26 12:11:38 · 32271 阅读 · 13 评论 -
官方手册Learning PyTorch with Examples的翻译
官方手册Learning PyTorch with Examples的翻译 官方文档Learning PyTorch with Examples链接 包含以下内容:1.Tensors(张量) Warm-up:numpy PyTorch:Tensors2.Autograd(自动梯度) PyTorch:Variables and autograd (变量和自动梯度)...转载 2018-02-26 17:45:50 · 657 阅读 · 0 评论 -
pytorch的weight-initilzation
pytorch中的权值初始化官方论坛对weight-initilzation的讨论torch.nn.Module.apply(fn)torch.nn.Module.apply(fn)# 递归的调用weights_init函数,遍历nn.Module的submodule作为参数# 常用来对模型的参数进行初始化# fn是对参数进行初始化的函数的句柄,fn以nn.Module或者自...原创 2018-02-26 22:02:41 · 28017 阅读 · 8 评论 -
Pytorch反向求导更新网络参数
方法一:手动计算变量的梯度,然后更新梯度import torchfrom torch.autograd import Variable# 定义参数w1 = Variable(torch.FloatTensor([1,2,3]),requires_grad = True)# 定义输出d = torch.mean(w1)# 反向求导d.backward()# 定义学习率等参数...原创 2018-02-18 00:33:11 · 5990 阅读 · 0 评论 -
torchvision的理解和学习(翻译torchvision在pypi上的文档)
torchvision在pypi上的文档介绍 PyTorch 0.3.0 中文文档简介: torchvision包是服务于pytorch深度学习框架的,用来生成图片,视频数据集,和一些流行的模型类和预训练模型. torchvision由以下四个部分组成: 1. torchvision.datasets : Data loaders for popular vision datasets...原创 2018-02-28 18:14:53 · 19913 阅读 · 0 评论 -
pytorch实现自由的数据读取-torch.utils.data的学习
torch.utils.data的学习:torch.utils.data官方手册 torch.utils.data官方手册中文翻译torch.utils.data主要包括以下三个类: 1. class torch.utils.data.Dataset作用: (1) 创建数据集,有__getitem__(self, index)函数来根据索引序号获取图片和标签, 有__len__(s...原创 2018-03-01 16:42:17 · 53886 阅读 · 6 评论 -
PyTorch指定GPU
转载自:http://www.cnblogs.com/darkknightzh/p/6836568.htmlPyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。有如下两种方法来指定需要使用的GPU。类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。1.1 直接终端中设定:CUDA_VISIBLE_D...转载 2018-03-02 11:34:54 · 19175 阅读 · 0 评论