
PyTorch
文章平均质量分 80
PyTorch学习
Ma Sizhou
低级的欲望,放纵即可获得;高级的欲望,克制才能达到。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PyTorch学习笔记——(8)模型构造(层和块),以多层感知机为例介绍
目录1、层和块的概念:2、模型构造:2.1 继承Module来构造模型:2.2 Module的子类:(1)Sequential类:2、自定义块:3、顺序块:4、来源:《动手深度学习2》1、层和块的概念:当我们刚开始学习神经⽹络时,我们关注的是具有单⼀输出的线性模型。在这⾥,整个模型只由⼀个神经元组成。注意,单个神经元(1)接受⼀些输⼊;(2)⽣成相应的标量输出;(3)具有⼀组相关参数(parameters),这些参数可以更新以优化某些感兴趣的⽬标函数。然后,当我们开始考虑具有多个输出的⽹络,.原创 2021-07-16 09:44:01 · 880 阅读 · 2 评论 -
pytorch中tensorboard的简单使用(pytorch官网翻译)
原文:https://pytorch.org/docs/stable/tensorboard.html#torch-utils-tensorboard注:翻译了pytorch官方对于tensorboard的使用。在继续之前,可以在https://www.tensorflow.org/tensorboard/上找到有关 TensorBoard 的更多详细信息。目录1、tensorboard的简要介绍:2、torch.utils.tensorboard涉及的几个函数:2.1 SummaryWri.原创 2021-06-14 23:59:59 · 1914 阅读 · 9 评论 -
PyTorch学习笔记——(7)使用pytorch实现手写数字识别,可以很好的练习pytorch
上一小节.GitHub地址.目录1、思路和流程分析2、准备训练集和测试集2.1 torchvision.transform的图形数据处理方法(1) torchvision.transform.ToTensor(2)torchvision.transforms.Normalize(mean, std)(3)torchvision.transforms.Compose(transforms)2.2 准备MNIST数据集的Dataset和DataLoader3 模型的构建3.1 激活函数的使用:3.2 .原创 2021-04-17 11:24:51 · 1876 阅读 · 1 评论 -
PyTorch学习笔记——(6)数据加载Dataset和DataLoader的使用
目录1、模型中使用数据加载器的目的2、数据集类2.1 Dataset基类介绍:2.2 数据加载案例:3、迭代数据集1、模型中使用数据加载器的目的在前面的线性回归模型中,我们使用的数据很少,所以直接把全部数据放到模型中去使用。但是在深度学习中,数据量通常是都非常多,非常大的,如此大量的数据,不可能一次性的在模型中进行向前的计算和反向传播,经常我们会对整个数据进行随机的打乱顺序,把数据处理成个个的batch,同时还会对数据进行预处理。所以,接下来介绍pytorch中的数据加载的方法。2、..原创 2021-04-14 16:47:22 · 2243 阅读 · 2 评论 -
PyTorch学习笔记——(5)手动实现线性回归 和 利用pytorch实现线性回归
目录1、问题描述:2、手动实现线性回归:3、pytorch实现线性回归:4、注意:1、问题描述:给定一组特征数据xxx和标签数据yyy,利用y=w∗x+by=w*x+by=w∗x+b线性模型,求出www和bbb的值。其实就是个单层感知机,实现思路是:(1)准备数据;(2)随机初始化参数www和bbb;(3)然后计算损失loss;(4)通过循环、反向传播、更新参数;(5)测试模型;(6)可视化预测结果和真实结果。2、手动实现线性回归:import torchimport matplotl..原创 2021-04-13 17:45:04 · 653 阅读 · 0 评论 -
PyTorch学习笔记——(4)autograd.grad()函数和backward()函数介绍及使用
目录1、`torch.autograd.grad()`2、`.torch.autograd.backward()`:1、torch.autograd.grad()torch.autograd.grad( outputs, inputs, grad_outputs=None, retain_graph=None, create_graph=False, only_inputs=True, allow_unused=False)参数:outputs: ..原创 2021-02-16 20:52:47 · 4135 阅读 · 2 评论 -
PyTorch学习笔记——(3)深度学习中的激活函数总结以及pytorch实现
目录一、简介二、常用激活函数1、ReLU2、Sigmoid3、Tanh4、LeakyReLU5、PReLU6、RReLU7、ELU三、参考文献一、简介在神经网络中,激活函数决定一个节点从一组给定输入的输出,而非线性激活函数允许网络复制复杂的非线性行为。由于大多数神经网络使用某种形式的梯度下降进行优化,激活函数必须是可微的(或者至少是几乎完全可微的)。此外,复杂的激活函数可能会产生关于渐变消失和爆炸的问题。因此,神经网络倾向于使用一些选定的激活函数(identity, sigmoid, ReLU和它们的变原创 2020-06-30 11:42:10 · 1706 阅读 · 0 评论 -
PyTorch学习笔记——(2)PyTorch中where()函数和gather()函数的介绍
目录1、`torch.where()`2、`torch.gather()`1、torch.where()torch.where(condition, x, y)---->tensor功能:就是个三目运算符,第一个参数为条件,这个条件为真则为x,否则为y例子:a = torch.ones(2,2)b = torch.zeros_like(a)cond = torch.randn(2,2) # 这个是构成条件的矩阵cond = tensor([[-1.0151, 0.9..原创 2021-02-15 10:08:05 · 1300 阅读 · 0 评论 -
PyTorch学习笔记——(1)系统性的介绍TyTorch的基本操作
目录原创 2021-02-14 11:12:51 · 2236 阅读 · 2 评论 -
图卷积神经网络笔记——第六章:(2)基于PyTorch的交通流量预测
上一小节介绍了交通流量数据的处理,主要是把拿到的数据的结构信息(邻接矩阵)和节点信息(流量数据)处理成了模型所需要的train_data和test_data,上一小节: 链接.这一小节基于上节的交通流量数据来构造图卷积模型,预测未来时刻的交通流量情况.分别使用GCN,Chebnet和GAT三种模型来构造....原创 2020-08-15 15:52:54 · 19544 阅读 · 137 评论 -
图卷积神经网络笔记——第六章:(1)基于PyTorch的时序数据处理(交通流量数据)
在前面说了PyG这个框架,但是这个框架处理数据其实没那么简单,并且有时候我们想要改变底层的图卷积框架时就无能为力了,所以这一章说一下用PyTorch怎么写出图卷积并且实现交通流量数据的预测。但在这之前,需要先处理好需要的数据。文章目录1、数据来源2、数据分析3、数据处理(1)读入数据并取需要的特征(2)数据集处理:写成PyTorch所需要的数据集的类1、数据来源数据来自美国的加利福尼亚州的洛杉矶市,第一个CSV文件是关于节点的表示情况,一共有307个节点,第二个npz文件是交通流量的文件,时间范围.原创 2020-08-06 11:34:22 · 16478 阅读 · 92 评论 -
图卷积神经网络笔记——第五章:(2)基于PyG库构造自己的数据集&查阅其他GCN方法
上一小节: 链接.这一小节看基于PyG库构造自己的数据集和查阅其他GCN方法目录一、构造自己的数据集一、构造自己的数据集原创 2020-07-24 21:38:31 · 6616 阅读 · 16 评论 -
PyTorch实战:使用GRU实现名字分类问题
目录一、GRU介绍二、分类问题介绍三、PyTorch实现1、模型理解2、代码一、GRU介绍GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network, RNN)的一种,和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。我们在实验中选择GRU是因为它的实验效果与LSTM相似,但是更易于计算。网上很多都使用画图来说明,我感觉不是很好,被一大堆的 “门” 给搞乱了,实际上看着公式更好理原创 2020-07-22 11:17:59 · 9397 阅读 · 7 评论 -
图卷积神经网络笔记——第五章:(1)基于PyG库的图卷积的节点分类实战
前面讲解了图卷积的基本理论知识( 链接.),接下来讲解基于PyG库的图卷积的节点分类。目录一、PyG库简介1、安装PyG一、PyG库简介PyG的全称是 PyTorch Geometric,是一款基于 PyTorch 的几何深度学习框架,可以简单方便的实现图神经网络,也就是说,PyG里面封装了各种方法,比如常见的各种图卷积,直接调用即可。当然在学习PyG之前,要对PyTorch有一定的了解。PyG官方文档: https://pytorch-geometric.readthedocs.io/en/l.原创 2020-07-16 19:29:40 · 6337 阅读 · 11 评论 -
安装完torch geometric,import torch_geometric然后报错:OSError: [WinError 127] 找不到指定的模块
我用的是CPU,没用GPU,不过这个与使不使用GPU好像没关系。对于import torch_geometric然后报错:OSError: [WinError 127] 找不到指定的模块我找到了原因,根本的内在原因是:torch_geometric这个包在调用的时候,会在Python 里面使用 ctypes 载入 dll 文件,如果这个 dll文件 还依赖于其它的 dll文件的话,这些相关的 dll文件也得要能被 Python 的进程访问到,如果访问不到就会报以上错误。而这个缺失的文件去哪里找?我就换原创 2020-07-15 10:38:03 · 8993 阅读 · 8 评论 -
分类问题常用的损失函数及pytorch实现
前言:分类问题和回归问题是监督学习的两大种类,关于回归使用的损失函数: 点击链接.而分类问题一般分为二分类和多分类,下面我们看看在分类问题中使用的损失函数。目录1、结论2、二分类问题的交叉熵损失函数1、结论(1)分类任务损失函数用交叉熵(2)分类又分为2分类+多分类:2分类最后一层输出接一个sigmod保证输出在(0,1)范围内,多分类最后一层输出N(分类个数)个值,这N个值过一下Softmax,相当于是归一化一下到( 0, 1) 区间内。2、二分类问题的交叉熵损失函数在二分.原创 2020-07-02 10:47:18 · 3186 阅读 · 0 评论 -
pytorch张量维度操作(拼接、维度扩展、压缩、转置、重复……)
张量的操作确实有技巧,pytorch中提供了一些相关的操作,在编程的时候很有用。涉及的方法见下面的目录:目录一、拼接张量1、torch.cat()2、torch.stack()二、扩大张量1、torch.Tensor.expand()三、压缩张量1、torch.squeeze()四、重复张量1、torch.Tensor.repeat()2、torch.Tensor.unfold()五、缩小张量1、torch.Tensor.narrow()六、张量变形 z1、torch.Tensor.view()七、.原创 2020-06-28 15:44:37 · 27055 阅读 · 4 评论