
pytorch 基础
路明非的sakura
某黄鱼同id,感兴趣可搜;phd在读,爱好通信领域相关仿真,包括调制解调,OFDM,MMIMO,信道编码(ldpc,polar,卷积)等,也擅长可见光(VLC),多址接入(NOMA,RSMA),无人机(UAV),智能反射面(RIS)等通信优化问题相关的资源分配算法,如sca,拉格朗日等,也擅长使用强化学习解决通信相关问题。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
torchvision.Transform.ToTensor()将图片正确输入网络
ToTensor()描述如下:它会将图片从NHWC转换为NCHW且变为tensor,并且通过除以255将图片归一化到(0,1)。注意,通道的顺序与你读取图片所用的工具有关:PIL: (R,G,G)cv2:(B,G,R)例子如下:import torchfrom PIL import Imageimport cv2from torchvision import transf...原创 2019-12-28 13:19:11 · 2462 阅读 · 0 评论 -
pytorch报错:RuntimeError: Given groups=1, weight of size 10 3 3 3, expected input[1, 12, 12, 3]
在mtcnn人脸检测中,网络训练时报以下错误:后来找到原因如下:图片经过处理后的数据格式是 NHWC,而pytorch输入图片的格式要求是NCHW,需要转化一下。有两种方法:一是用下列方法:import torchimage = torch.randn(1,12 ,12, 3)image = image.permute(0,3,1,2)print(image.shape)#([1,...原创 2019-12-28 12:42:59 · 14543 阅读 · 3 评论 -
pytorch的transform中ToTensor接着Normalize
在猫狗二分类的学习中,碰到以下代码:看了一下ToTensor的描述如下: 说的是ToTesnor会,而且将数据归一化到均值为0,方差为1(是将数据除以255),那么归一化后为什么还要接一个Normalize()呢?Normalize()是对数据按通道进行标准化,即减去均值,再除以方差数据如果分布在(0,1)之间,可能实际的bias,就是神经网络的输入b会比较大,而模型初始化时b=0...原创 2019-12-28 12:31:18 · 10610 阅读 · 4 评论 -
pytorch的比较操作
1.torch.eq(input, other, out =None)比较元素是否相等,other可以是一个数,或者跟input同类型同维度的张量参数input(Tensor):待比较的张量other:比较的张量或者数out:(可选),输出张量2.torch.equal(tensor1, tensor2, out =None)判断两个张量是否有相同的形状和元素值3.torch....原创 2019-12-25 19:49:42 · 1930 阅读 · 0 评论 -
pytorch加载数据
参考:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】本文是上面视频的笔记,up主讲的特别详细,推荐观看。在pytorch中加载数据主要涉及到两个类:Dataset 和 DataloaderDataset :提供一种方式去提取数据并得到labelDataset:对数据进行打包送到网络中去,为后面的网络提供不同的数据形式。下面是代码及说明:from torch.utils....原创 2019-12-25 15:57:51 · 416 阅读 · 0 评论 -
pytorch安装visdom及报错的处理办法
两条命令:安装visdom:pip install visdom在cmd中:输入: python -m visdom.server,开启web服务。我在运行第一步没有问题,主要是在第二步开启web服务时,总是报错大概是 it take a little while to download scripts之类的,等了一会后报错无法找到路径。解决方法:通过继续输入pip install...原创 2019-12-11 13:53:32 · 1583 阅读 · 1 评论 -
pip安装visdom 以及pycharm不能正常导入解决方法
1.安装visdomvisdom是pytorch的一个可视化工具,通过pip命令安装如下:pip install visdompip install --upgrade visdom这里安装完得更新一下。2.环境里没有visdom通过pip list可以查看自己已经安装成功了visdom:但在pycharm的解释器中,没有找到visdom这个库。所以任无法导入。3.解决办法通...原创 2019-12-09 14:11:15 · 5197 阅读 · 2 评论 -
torchvision之ImageFolder
ImageFolder假设所有的文件按文件夹保存,每个文件夹下存储同一个类别的图片,文件夹名为类名,其构造函数如下:图片结构如下所示:ImageFolder(root, transform=None, target_transform=None, loader=default_loader)ImageFolder主要有4个参数:root:在root的路径下寻找图片transform...原创 2019-11-30 20:05:33 · 784 阅读 · 0 评论 -
pytorch之gather函数
最近在用torch写分类问题时碰到这个gather函数,不会用,特此记录一下。个人理解是按照gather里面的索引取出目标对应的值。首先,输出矩阵的维度和这个index的维度是一致的从代码可以看出,gather取值主要看索引前面的dim取值。dim =1,表明索引列号,也就是横向取值。import torcha = torch.Tensor([[1,2,3],[4,5,6]])pr...原创 2019-11-27 19:17:50 · 1470 阅读 · 1 评论 -
pytorch卷积神经网络实现手写数字识别
同上一篇全连接神经网络实现手写数字识别,此文记录了直观测试模式的代码。import torch import torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport cv2from torch.autograd import Variable# Device configur...原创 2019-11-18 19:42:23 · 2005 阅读 · 1 评论 -
pytorch之全连接神经网络实现手写数字识别
对于mnist数据,从网上下载之后分为4个数据文件,分别是训练图片和标签,测试图片和标签。输入的是一幅28*28像素的灰度图片,灰度值最小为0(黑色),最大为1(白色)。 输出格式:在训练数据时,传入网络的是一个独热标签,即,我们希望输出的是2,但输出不是用实数2做标签,而是用一个表示实数2的一个10维向量[0,0,1,0,0,0,0,0,0,0]。对于分类问题,这种表示尤为重要,如果分...原创 2019-11-16 20:08:10 · 3291 阅读 · 1 评论 -
torchvision包
torchvision 该包的主要功能是实现数据的处理,导入和预览等.如果需要对计算机视觉的相关问题进行处理,就可以借用torchvision包中提供的大量的类来完成相应的工作。torchvison包括下面四个部分。 (1).torchvision.datasets:加载图片视频等数据集 (2).torchvision.transforms:常见的图像转换工具,如随机裁剪、旋转等 ...原创 2019-11-09 18:01:54 · 764 阅读 · 0 评论 -
pytorch搭建一个简单的神经网络
小白一枚最近接触了pytorch框架,细读了pytorch之实战计算机视觉,唐进民一书,这里做个笔记,希望能好好学习一下这个框架。1.手动计算梯度 一个batch(批次)的数据从输入到输出的完整过程是:先输入100个具有1000个特征的数据x,经过隐藏层后变成了100个具有100个特征的数据,再经过输出层输出100个具有10个分类结果值的数据y,在得到结果后计算损失并反向传播,这样就完成了一...原创 2019-10-16 21:39:52 · 419 阅读 · 0 评论 -
torch.nn.model
当我们使用autograd实现深度学习模型时,所实现的模型的抽象程度较低,如果用来实现深度学习模型,则我们需要编写的代码量极大,所以pytorch提供了torch.nn模块,是专门为深度学习设计的模块。nn.Module nn.Module是nn模块中的核心结构,它是一个抽象的概念,即可以表示神经网络中的某一层,也可以表示一个包含多个层的神经网络。在实际使用中,最常见的做法是继承nn.M...原创 2019-10-16 18:37:17 · 6103 阅读 · 0 评论 -
Autograd 自动微分
深度学习的算法本质上是通过反向传播求导数,Pytorch的Autograd模块实现了此功能。在tensor上的所有操作,Autograd 都能自动求微分,避免了手动计算微分的过程。 其中,autograd.Variable.是Autograd中核心的类,它简单的封装了Tensor,支持所有tensor的操作。 tensor在被封装为Variable后,可以调用它的**.backward...原创 2019-10-12 17:23:59 · 374 阅读 · 0 评论