
PyTorch
文章平均质量分 53
机器不学习我学习
优快云人工智能领域优质创作者,优快云博客专家,阿里云专家博主,阿里云技术博主,有机器学习、深度学习、OCR识别项目4年以上工作经验,【AIexplore】创始人,专注于人工智能技术领域。
展开
-
【pytorch】tensor.expand_as()函数使用记录
今天在代码中遇到:x * y.expand_as(x)于是就进行了知识填补。。。多的不说,少的不唠,直接上代码案例进行学习:import torchx = torch.tensor([[1], [2], [3]]) # 生成tensor x,3行1列print('xsize:',x.size())print('x:',x)xsize: torch.Size([3, 1])x: tensor([[1], [2], [3]])x_expa原创 2021-11-22 16:24:22 · 791 阅读 · 0 评论 -
【pytorch】padding的几种填充方法
今天总结一下,pytorch框架下的几种边界填充方法:1、torch.nn.ReflectionPad2d(padding)功能:使用输入边界的反射填充输入张量。1.1、若 padding是int类型,则在所有边界填充使用相同的举例:padding=1(左、右、上、下 4个方向分别填充长度为1的映射)padding=2(左、右、上、下 4个方向分别填充长度为2的映射)1.1、若 padding是tuple类型,根据tuple里的数值进行映射左边填充长度为1的映射,右边填充长度为1的原创 2021-05-06 14:56:49 · 8350 阅读 · 0 评论 -
【pytorch】孪生网络Siamese network入门教程
论文原文:《Learning a Similarity Metric Discriminatively, with Application to FaceVerification》http://yann.lecun.com/exdb/publis/pdf/chopra-05.pdf1. 数据集数据采用的是AT&T人脸数据。共40个人,每个人有10张脸。数据集下载:AT&T2. ImportsAll the imports are defined hereimport torch原创 2021-04-29 13:45:28 · 3119 阅读 · 1 评论 -
【pytorch】反卷积中输出尺寸计算公式
pytorch框架下的反卷积:nn.ConvTranspose2d( in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1,原创 2021-04-27 14:05:21 · 1777 阅读 · 0 评论 -
【pytorch】DCGAN代码实现
main.pyfrom __future__ import print_functionimport argparseimport osimport randomimport torchimport torch.nn as nnimport torch.nn.parallelimport torch.backends.cudnn as cudnnimport torch.optim as optimimport torch.utils.dataimport torchvision.d原创 2021-04-22 13:22:42 · 1263 阅读 · 2 评论 -
【Pytorch】pytorch中clamp()和clamp_()的区别[函数名有无下划线]
在pytorch框架中,对于tensor的操作时候是inplace类型。inplace类型是指,在一个tensor上操作了之后,是直接修改了这个tensor,还是返回一个新的tensor,也就是说旧的tensor修不修改的问题。pytorch中,一般来说,如果对tensor的一个函数后加上了下划线,则表明这是一个inplace类型我们举一个具体的例子:可以看到原有的tensor没有改变,也就是旧的张量a没有被直接修改。可以看到原有的tensor改变了,也就是旧的张量a被直接修改。注:tor原创 2021-01-18 08:53:05 · 3106 阅读 · 1 评论 -
【Pytorch】Pytorch加载训练好的模型报错记录
报错如下:密密麻麻的提示,看得我头皮发麻。。。。参考:https://blog.youkuaiyun.com/shiwanghualuo/article/details/101756876原创 2020-11-11 14:05:10 · 798 阅读 · 0 评论 -
torch.distributed学习记录
分布式通信包 - torch.distributedtorch.distributed包为在一台或多台机器上运行的多个计算节点上的多进程并行性提供PyTorch支持和通信原语。类 torch.nn.parallel.DistributedDataParallel()基于此功能构建,以提供同步分布式训练作为包装器任何PyTorch模型。https://www.jianshu.com/p/5f6cd6b50140https://pytorch.org/docs/stable/distributed.htm原创 2020-10-29 09:51:15 · 1036 阅读 · 0 评论 -
pytorch中torch.isnan()和torch.isfinite()
今天看代码看到的这两个函数,不多数废话,直接上Demo:1.先来研究torch.isfinite()import torchnum = torch.tensor(1) # 数字1res = torch.isfinite(num)print(res)'''输出:tensor(True)'''这个num必须是tensorimport torchnum = torch.tensor(float('inf')) # 正无穷大res = torch.isfinite(num)print原创 2020-10-28 15:10:07 · 9847 阅读 · 0 评论 -
pytorch中torch.cuda.empty_cache()的作用
Pytorch已经可以自动回收我们不用的显存,类似于python的引用机制,当某一内存内的数据不再有任何变量引用时,这部分的内存便会被释放。但有一点需要注意,当我们有一部分显存不再使用的时候,这部分释放的显存通过Nvidia-smi命令是看不到的我的理解:释放显存参考:https://oldpan.me/archives/pytorch-gpu-memory-usage-trackhttps://blog.youkuaiyun.com/qq_29007291/article/details/90451890原创 2020-10-20 13:23:00 · 2821 阅读 · 0 评论 -
segmentation_models_pytorch库学习
segmentation_models_pytorch是一个基于PyTorch的图像分割神经网络这个新集合由俄罗斯的程序员小哥Pavel Yakubovskiy一手打造。github地址:https://github.com/qubvel/segmentation_models.pytorch该库的主要功能是:高级API(只需两行即可创建神经网络)用于二分类和多类分割的7种模型架构(包括传奇的Unet)每种架构有57种可用的编码器所有编码器均具有预训练的权重,以实现更快更好的原创 2020-10-20 10:22:33 · 10735 阅读 · 5 评论 -
torch对应的torchvision版本
安装torch和torchvision时,两者之间存在依赖关系,版本需要对应起来。torchtorchvisionpython1.6.00.7.0>=3.61.5.10.6.1>=3.51.5.00.6.0>=3.51.4.00.5.0==2.7, >=3.5, <=3.81.3.10.4.2==2.7, >=3.5, <=3.71.3.00.4.1==2.7, >=3.5, <原创 2020-10-12 15:50:00 · 11824 阅读 · 0 评论 -
torch-sparse安装教程
今天跑代码的时候,显示于是就:pip install torch_geometric开始了自行安装,最后显示安装成功:然后继续跑代码,又提示:于是pip install torch_sparse尝试了四五次后,torch_sparse死活安装不上!!!最后找原因:应该是库和库之间依赖的问题!版本要对应起来!pip install torch_geometric==1.4.1pip install torch_sparse==0.4.4pip install torch_sca原创 2020-09-29 08:22:15 · 31926 阅读 · 16 评论 -
Pytorch下微调网络模型(迁移学习)进行图像分类
Pytorch下微调网络模型进行图像分类利用ImageNet下的预训练权重采用迁移学习策略,能够实现模型快速训练,提高图像分类性能。下面以vgg和resnet网络模型为例,微调最后的分类层进行分类。注意,微调只对分类层(也就是全连接层)的参数进行更新,前面的参数需要被冻结。(1)微调VGG模型进行图像分类(以vgg16为例)import torchimport torch.nn as nnimport torchvision.models as modelsclasses_num = 200原创 2020-09-16 16:24:19 · 1633 阅读 · 0 评论 -
Pytorch中Softmax和LogSoftmax
1.Softmax函数常用的用法是指定参数dim就可以:(1)dim=0:对每一列的所有元素进行softmax运算,并使得每一列所有元素和为1。(2)dim=1:对每一行的所有元素进行softmax运算,并使得每一行所有元素和为1。2.LogSoftmax其实就是对softmax的结果进行log,即Log(Softmax(x))# -*- coding: utf-8 -*-"""Created on Thu Sep 24 14:05:17 2020@author: zqq"""impo原创 2020-09-24 14:33:33 · 2142 阅读 · 0 评论 -
Pytorch 里 nn.AdaptiveAvgPool2d(output_size) 原理是什么?
Pytorch 里 nn.AdaptiveAvgPool2d(output_size) 原理是什么?https://www.zhihu.com/question/282046628原创 2020-09-22 08:15:27 · 949 阅读 · 0 评论 -
Pytorch 保存模型与加载模型
我们经常会看到后缀名为.pt, .pth, .pkl的pytorch模型文件,这几种模型文件在格式上有什么区别吗?其实它们并不是在格式上有区别,只是后缀不同而已(仅此而已),在用torch.save()函数保存模型文件时,各人有不同的喜好,有些人喜欢用.pt后缀,有些人喜欢用.pth或.pkl.用相同的torch.save()语句保存出来的模型文件没有什么不同。import torch#-----方法1#保存整个网络torch.save(model, PATH + name) # 加载模型mo原创 2020-09-17 16:22:45 · 324 阅读 · 0 评论 -
Pytorch中优化器的比较和选择
PyTorch提供了十种优化器1、torch.optim.SGDtorch.optim.SGD(params, lr=, momentum=0, dampening=0, weight_decay=0, nesterov=False)功能:可实现SGD优化算法,带动量SGD优化算法,带NAG(Nesterov accelerated gradient)动量SGD优化算法,并且均可拥有weight_decay项。参数:params(iterable)- 参数组lr(float)- 初始学习率,可原创 2020-09-17 09:55:01 · 12865 阅读 · 1 评论 -
PyTorch中学习率调整方法
https://zhuanlan.zhihu.com/p/69411064https://blog.youkuaiyun.com/u011995719/article/details/89486359https://zhuanlan.zhihu.com/p/136183319原创 2020-09-15 10:50:15 · 473 阅读 · 0 评论 -
assert all(map(lambda i: i.is_cuda, inputs)) AssertionError
报错如下:assert all(map(lambda i: i.is_cuda, inputs))AssertionError报错原因:pytorch框架代码在服务器上运行时,服务器上有好几GPU,程序暂时不知道怎么用多个gpu(或者说不知道用哪个GPU)==解决方法方法1:import osos.environ[“CUDA_VISIBLE_DEVICES”] = “1”之后就不再报错了...原创 2020-09-02 16:12:10 · 1525 阅读 · 2 评论 -
cudnn.benchmark = True什么意思
在很多情况下我们都能看到代码里有这样一行:torch.backends.cudnn.benchmark = True而且大家都说这样可以增加程序的运行效率。那到底有没有这样的效果,或者什么情况下应该这样做呢?总的来说,大部分情况下,设置这个 flag 可以让内置的 cudnn 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。一般来讲,应该遵循以下准则:如果网络的输入数据维度或类型上变化不大,设置 torch.backends.cudnn.benchmark原创 2020-09-02 16:05:27 · 4595 阅读 · 0 评论 -
Anaconda中安装PyTorch
1.进入官网https://pytorch.org/选择对应的版本的命令然后,打开anaconda Prompt,输入上述命令即可。这种方法,如果网速不好,会导致安装失败。2.上述方法,会由于网络等原因,安装失败。conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorc...原创 2019-09-28 12:44:25 · 1144 阅读 · 0 评论 -
Pytorch搭建循环神经网络(RNN)实现MNIST手写数字识别(1)
循环神经网络(Recurrent Neural Network)让模型充满记忆力,在序列问题和自然语言处理等领域取得很大的成功。RNN目前使用最多的两种变式:LSTM和GRU以上2种变式都能够很好地解决长时依赖问题。LSTM:Long Short Term Memory Networks,长的短时记忆网络它解决的仍是短时记忆问题,只不过这种短时记忆网络比较长,能在一定程度解决长时依赖的问...原创 2019-07-07 13:30:59 · 5015 阅读 · 4 评论 -
Pytorch实现猫狗大战(二)
上一篇博客中,介绍了数据集的下载,现在开始下一个阶段,撸代码啦。(注:发现github上一处可以数据,并且有代码,不过库函数更新的太快啦,有时候download的项目是不能直接跑起来的,所以我们需要进行微调。https://github.com/maples1993/Cats_vs_Dogs)我们下载得到的数据集如下:下载得到的数据,有2个压缩包,我们将他们进行解压,得到test1文件夹和t...原创 2019-06-25 21:59:17 · 6285 阅读 · 1 评论 -
Pytorch实现猫狗大战(四)
第二张运行和测试的方法: run_code.py只是运行过程存的变量不同# -*- coding: utf-8 -*-"""Created on Mon Jun 24 15:02:14 2019@author: ZQQ"""import torchimport torchvisionfrom torchvision import datasets,transforms, mo...原创 2019-06-27 22:23:57 · 2977 阅读 · 3 评论 -
Pytorch搭建循环神经网络(RNN)实现MNIST手写数字识别(2)
# -*- coding: utf-8 -*-"""Created on Sun Jul 7 12:45:39 2019@author: ZQQ参考:https://github.com/L1aoXingyu/pytorch-beginner/blob/master/05-Recurrent%20Neural%20Network/recurrent_network.py"""i...原创 2019-07-07 16:45:36 · 1303 阅读 · 0 评论 -
PyTorch中nn.ReLU(inplace=True)中inplace的作用
我们用PyTorch搭建神经网络是,会遇到nn.ReLU(inplace=True),inplace=True是什么意思呢?nn.Conv2d(64,192,kernel_size=3,stride=1,padding=1), nn.ReLu(inpalce=True),# inplace为True,默认为False意思是:是否将得到的值计算覆盖之前的值例如:x = x+1即对原值x进...原创 2019-06-17 11:34:11 · 11322 阅读 · 3 评论