
pyg
文章平均质量分 81
主要是PyG实战
静静喜欢大白
专注于GNN在交叉领域前沿技术学习与分享、中科院博士一枚、喜欢运动、美食和乐高
展开
-
PyG-重写PyG内置的GCNConv卷积层来实现基于cora数据集的2层GCN模型实现
1、简介前面PyG-基于pyg内置函数Conv实现对cora数据的分类是使用的pyg内置的函数模块,现在是打算重写基于pyg的MPNN函数来修改GCNConv卷积模块来实现自己想要达到的效果2、代码'''重写pyg内置函数GCN,并实现基于cora的gcn重写的是调用pyg里面的MPNN基类的GCNConv函数步骤 AHW(W维度 [num_output_features, num_input_features]) 1)在邻接矩阵中添加自连接 A+I。 2...原创 2021-02-10 11:10:57 · 1308 阅读 · 0 评论 -
【Python】提升DL性能的深度学习技巧
目录简介技巧01 使用Fast.ai库02 使用多个而不是单一学习率03 如何找到合适的学习率04 余弦退火05 带重启的SGD算法06 人格化你的激活函数07 迁移学习在NLP问题中非常有效08 深度学习在处理结构化数据上的优势09 更多内置函数:Dropout层、尺寸设置、TTA10 创新力很关键关于作者简介一位名叫塞缪尔(Samuel Lynn-Evans)的法国学员总结了十条经验。他这篇文章发表在FloydHub官方博客上,原创 2022-05-30 10:34:53 · 474 阅读 · 0 评论 -
【Anaconda安装与使用】
转载 https://blog.youkuaiyun.com/liangdaojun/article/details/97784967 安装 如果不想安装 Anaconda,可以跳过这一步。因为现在深度学习库更新的比较频繁,对于同一个库,我们有可能使用多个版本,比如tensorflow-gpu原创 2020-09-15 14:57:00 · 852 阅读 · 0 评论 -
【Python】过拟合解决
目录简介如何确定模型是否过拟合?如何防止过拟合交叉验证用更多数据进行训练移除特征早停正则化Dropout总结参考简介在机器学习中,过拟合(overfitting)会使模型的预测性能变差,通常发生在模型过于复杂的情况下,如参数过多等。本文对过拟合及其解决方法进行了归纳阐述。正如巴菲特所言:「近似的正确好过精确的错误。」在机器学习中,如果模型过于专注于特定的训练数据而错过了要点,那么该模型就被认为是过拟合。该模型提供的答案和正确答案相.原创 2022-03-29 21:54:37 · 1601 阅读 · 0 评论 -
【Python】为什么小批量会可以使模型获得更大的泛化
目录简介理解论文的假设定义锐度查看相关的证明简介批大小是机器学习中重要的超参数之一。这个超参数定义了在更新内部模型参数之前要处理的样本数量。上图为使用 SGD 测试不同批量大小的示例。批量大小可以决定许多基于深度学习的神经网络的性能。有很多研究都在为学习过程评估最佳批量大小。例如,对于 SGD可以使用批量梯度下降(使用批量中的所有训练样本)或小批量(使用一部分训练数据),甚至在每个样本后更新(随机梯度下降)。这些不同的处理方式可以改变模型训练的的效果。准确原创 2022-03-22 19:27:06 · 358 阅读 · 0 评论 -
【Python】Pandas数据处理
目录简介Pandas入门知识框架1. 什么是Pandas?熊猫?2. 两种核心数据结构2.1 Series2.2 DataFrame2.3 数据统计2.4 数据表合并2.5 DataFram的行级遍历3. 如何用SQL方式打开Pandas参考转载简介想入门人工智能或者数据分析,要重视可以快速上手的学习技能:掌握一些基本概念,建立一个知识框架,然后就去实战,在实战中学习新知识,来填充这个框架。我根据之前整理的一些pandas知识,总结了一个p原创 2022-03-07 10:24:18 · 136 阅读 · 0 评论 -
【Python】11 种数据降维方法(含代码)
目录01为什么要进行数据降维?02数据降维原理03主成分分析(PCA)降维算法04其它降维算法及代码地址KPCA(kernel PCA)LDA(Linear Discriminant Analysis)MDS(multidimensional scaling)ISOMAPLLE(locally linear embedding)t-SNELE(Laplacian Eigenmaps)LPP(Locality Preserving Projections)参原创 2022-02-11 18:56:28 · 1277 阅读 · 0 评论 -
【PYG】常用和采坑总结
目录一. PyG的使用1.整体介绍1.1 图数据的处理1.2 常用的图神经网络数据集1.3 如何加载数据集2.空域图卷积神经网络的建立2.1 GCN的实现2.2 Edge Convolution的实现3.自建图神经网络数据集3.1 创建一个能够完全放入内存中的图数据集3.2 创建无法完全放入内存的数据集4.批处理5.异质图的建立6.异质图神经网络的建立6.1 将简单图神经网络转换为异质图神经网络6.2利用PyG中自带的异质图神经网络7.原创 2022-01-19 19:24:52 · 6203 阅读 · 2 评论 -
【Pytorch】动态图解CNN数学原理(Gentle Dive into Math Behind Convolutional Neural Networks)
本篇分享一篇关于CNN数学原理的解析,会让你加深理解神经网络如何工作于CNNs。出于建议,这篇文章将包括相当复杂的数学方程,如果你不习惯线性代数和微分也没事,目标不是记住这些公式,而是对下面发生的事情有一个直观的认识。可视化和注释的完整源代码:GitHub:https://github.com/SkalskiP/ILearnDeepLearning.py 目录介绍数字图像的数据结构卷积有效卷积和相同卷积步幅卷积过渡到三维卷积层...原创 2022-01-19 19:19:03 · 773 阅读 · 0 评论 -
【Pytorch】一文涵盖pytorch常用代码段全部合集
目录1. 基本配置导入包和版本查询可复现性显卡设置2. 张量(Tensor)处理张量的数据类型张量基本信息命名张量数据类型转换torch.Tensor与np.ndarray转换Torch.tensor与PIL.Image转换np.ndarray与PIL.Image的转换从只包含一个元素的张量中提取值张量形变打乱顺序水平翻转复制张量张量拼接将整数标签转为one-hot编码得到非零元素判断两个张量相等张量扩展矩阵乘法原创 2022-01-19 19:04:52 · 416 阅读 · 0 评论 -
【Pyg】GNN中值聚合
目录1前言2初始化数据3直接利用PyTorch实现4PyG实现5DGL实现6总结1前言在前面的文章中,介绍了IJCAI上的一篇工作:IJCAI'21 | 理解图卷积网络的结构脆弱性。文章提出了一个鲁棒的中值聚合函数来提高GNN的鲁棒性,那么如何实现这一自定义的聚合函数呢?本文提供了三种方法实现,包括直接利用PyTorch,以及使用PyG和DGL框架进行实现。2初始化数据首先,我们先初始化一个简单的图数据importnetworkxasnxnum_no...原创 2022-01-19 18:17:30 · 1340 阅读 · 0 评论 -
【Pytorch】深度学习常用损失函数总览:基本形式、原理、特点
目录前言均方差损失基本形式与原理背后的假设平方绝对误差损失基本形式与原理背后的假设MAE 与 MSE 区别Huber LossHuber Loss 的特点分位数损失交叉熵损失二分类多分类Cross Entropy is good. But WHY?总结机器学习中的监督学习本质上是给定一系列训练样本,尝试学习的映射关系,使得给定一个,即便这个不在训练样本中,也能够得到尽量接近真实的输出。而损失函数(Loss F...原创 2022-01-19 18:11:17 · 1504 阅读 · 1 评论 -
【Pytorch】易混概念(常见范数、损失函数、正则化)
1、动机最近看到很多论文中提到范数,损失函数和正则化,脑子里面很迷,于是准备将其进行整理2、介绍2.0 距离欧氏距离指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)假设X和Y都是一个n维的向量,即则欧氏距离:注意错误纠正 "欧式距离"为当前常见的用词错误,应为“欧氏距离”。数学上“欧氏距离”是指欧几里得距离,即欧几里得他老人家发明的,因此要用“氏”而非“式”。L2范数=L2距离向量各元素的平方和然后求平方根假...原创 2021-12-09 16:46:07 · 727 阅读 · 0 评论 -
【Python】Pytorch 数据流中常见Trick总结
目录00 前言01 Dataset的定义02 DataLoader的定义00 前言在使用Pytorch建模时,常见的流程为先写Model,再写Dataset,最后写Trainer。Dataset 是整个项目开发中投入时间第二多,也是中间关键的步骤。往往需要事先对于其设计有明确的思考,不然可能会因为Dataset的一些问题又要去调整Model,Trainer。本文将目前开发中的一些思考以及遇到的问题做一个总结,提供给各位读者一个比较通用的模版,抛砖引玉~01 Dataset的定原创 2021-12-06 13:02:45 · 724 阅读 · 0 评论 -
【Python】matplotlib全部颜色
目录1、动机2、使用常用颜色颜色对照表颜色及十六进制对应3、参考1、动机经常不知道怎么选用颜色,也不知道有哪些颜色,于是mark一下2、使用常用颜色b---blue c---cyan g---green k----blackm---magenta r---redw---whitey----yellow颜色对照表颜色及十六进制对应cnames = {'aliceblue': '#F0F8FF','..原创 2021-09-10 13:48:50 · 934 阅读 · 0 评论 -
【Python】bar柱状(条形)图(带均值和标准差)
目录1、简介详细解释1 基础常用2、使用1个柱状图2个并列柱状图简单版1个柱状图(my)2个并列柱状(条形)图(my)3、参考1、简介官方手册详细解释1 基础绘制柱状图,我们主要用到bar()函数。只要将该函数理解透彻,我们就能绘制各种类型的柱状图。我们先看下bar()的构造函数:bar(x,height, width,*,align='center',**kwargs) x 包含所有柱子的下标的列表 heigh.原创 2021-08-19 18:51:00 · 4178 阅读 · 0 评论 -
【Python】读取CSV文件画箱线图
目录1、简介2、使用模板数据集单个箱型图多个箱型图 (直接x=[x1,x2])补充(直接读取绘制)多组数据,多个箱线图示例1示例2与subplot结合使用绘制多个多箱型图3、参考1、简介箱线图一般用来展现数据的分布(如上下四分位值、中位数等),也可以用来反映数据异常情况plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=No...原创 2021-07-30 20:39:18 · 2679 阅读 · 0 评论 -
【Python】T检验理解和使用
目录1、动机2、理解3、使用1、动机最开始是在论文中有看到别人使用,然后就很好奇到底是干啥用的?经过了解,在论文中一般大家都是计算多个run后的均值和标准差和base模型间的p值来判断提升性能的显著性(小于0.05才说明好)2、理解T检验主要通过样本均值的差异进行检验,统计学上以“总体间没差别”计算显著性水平H0,拒绝原假设H0的最小显著性水平称为检验的p值,来检验假设的结果。例如,假设一个班上男女生的成绩不存在差异,显著性水平为0.05,可理解为只有5%的概率会出现“男女原创 2021-07-30 19:10:29 · 1069 阅读 · 0 评论 -
【Python】for和if使用
1、简介最近有多个判断条件,脑子有点拎不清关系后便跑了几个栗子康康2、例子2个数组对应1个位置处不计算如 1和1 其余两两计算test1 = [1,2,3,4]test2 = [1,2,3,4]for a in test1: for b in test2: if a != 1 or b != 1: print(a,'--',b)#等价test1 = [1,2,3,4]test2 = [1,2,3,4]for a in test1: for b in t原创 2021-07-29 21:08:09 · 1485 阅读 · 0 评论 -
【Pytorch】学习率调整策略
1、简介PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。 自适应调整:自适应调整学习率 ReduceLROnPlateau。 自定义调整:自定义调整学习率 LambdaLR。 2、方法等间隔调整学习率 StepLR等间隔原创 2021-07-20 11:13:08 · 248 阅读 · 0 评论 -
【Python】-使用loss遇到的维度不一致等问题解决
目录1、简介2、解决3、参考1、简介最近在看各种Loss对实验结果的影响,但是发现使用的时候回出现一些些问题,于是开始解决。另外关于CE-loss公式推导理解2、解决BCE2分类举例## 下面是 Sigmoid 二分类模型import torchimport torch.nn as nnmodel = nn.Sequential( nn.Linear(10, 1), ## 二分类 nn.Sigmoid())criterion = nn.B原创 2021-07-15 15:33:42 · 1630 阅读 · 0 评论 -
【Pytorch】同样的代码在不同服务器上运行结果不同
目录1、动机2、分析2.1 随机种子2.2 不同设备2.3 其他操作1、动机最近将一份代码放在另一台服务器上运行,发现结果差好多,于是开始研究到底咋回事随机种子的官方手册2、分析搜索过程中看到知乎山刚有个回答 分析了3种原因为什么pytorch用同一个随机种子,但每次训练结果不同?2.1 随机种子这个我设置正确,暂时不管def set_random_seed(seed): """Set random seed. Args: .原创 2021-07-09 17:35:32 · 3219 阅读 · 0 评论 -
【Python】查看划分数据集具体大小
1、动机一般一些经典的数据集有人处理好,则我们直接拿来用,但是有时候不知道具体数据集划分的大小,这个时候如果想查看的话,便需要统计一下了2、查看一般mask就是bool变量,我的代码中是一维张量,如果想具体节点大小的话,则可以通过下面方式 train_idx = g.nodes[predict_ntype].data['train_mask'] val_idx = g.nodes[predict_ntype].data['val_mask'] test_idx = g原创 2021-07-06 19:34:25 · 2335 阅读 · 0 评论 -
【数学】T检验(显著性检验)
目录动机简介小结定义+python使用白话理解T检验由来T检验的步骤[2]参考动机实验数据跑完,肯定要进行数据分析,最近看论文都用显著性检验,听说使用的就是T检验,于是开始先了解T检验简介小结t检验(t test)又称学生t检验(Student t-test)可以说是统计推断中非常常见的一种检验方法,用于统计量服从正态分布,但方差未知的情况。有关t检验的历史(以及学生t检验的由来)可以参考维基百科。t检验的前提是要求样本服从正态分布或近似正态原创 2021-07-01 16:22:26 · 22856 阅读 · 0 评论 -
【数学】拉格朗日乘子法(Lagrange Multiplier) 和KKT条件理解
转载目录动机简介一. 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件(a) 拉格朗日乘子法(Lagrange Multiplier)(b) KKT条件二. 为什么拉格朗日乘子法(Lagrange Multiplier) 和KKT条件能够得到最优值?参考动机在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如转载 2021-07-01 15:47:15 · 3480 阅读 · 1 评论 -
【Python】使用pandas/matplotlib画箱图
目录1、动机2、简介定义图解图解2四分位数的计算3、使用官方使用以及参数解释举例1举例24、参考1、动机因为最近论文有信息量很大的结果需要展示,如果用常用的折线图或者柱状图很难集中且全面的展示实验结果,于是准备先简单了解下。2、简介定义箱线图,又称箱形图(boxplot)或盒式图或盒须图,是一种用作显示一组数据分散情况资料的统计图。不同于一般的折线图、柱状图或饼图等传统图表,只是数据大小、占比、趋势等等的呈现,其包含一些统计学的均值、分位数原创 2021-06-30 17:42:46 · 3158 阅读 · 0 评论 -
【Python】二维数组matplotlib绘图
目录1、简介2、matplotlib使用举例折线图plt.plot散点图,plt.scatter直方图plt.hist条形图plt.bar饼图plt.pie补充:直方图和条形图区别3、参考1、简介虽然知晓很多绘图方法,但是自己其实并不会用,也不知道什么时候适合用,于是开始学习。发现其实都是初高中的知识,只不过现在捡起来借助python里面的matplotlib进行绘制。matplotlib是一个非常强大的Python第三方绘图包,可以绘制非常多非常漂亮的图形。原创 2021-06-30 14:48:46 · 3133 阅读 · 0 评论 -
【Python】notebook如何可视化图
1、问题在使用notebook的时候直接使用plt.show()图片未出现,且只是输出Figure size 640x480 with 1 Axes2、解决在导包的最开始加入下面一行代码即可%matplotlib inline结果参考matplotlib jupyter notebook 图像可视化 plt show...原创 2021-06-24 21:19:30 · 499 阅读 · 0 评论 -
【Pytorch】高斯核函数Gaussian Kernel(RBF)及其泰勒展开
1、动机论文中多次提到使用高斯核函数计算距离,虽然学过高数,但是现在我已经忘完了,于是开始慢慢看起来2、理解定义所谓径向基函数(Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数。 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数, 可记作 k(||x-xc||),泰勒展开目标形式变成下面进行推导理解3、参考高斯核函数Gaussian Kernel(RBF)如何通俗地解释泰勒公...原创 2021-06-24 18:17:37 · 4554 阅读 · 0 评论 -
【Pytorch】随机抽取random矩阵中的部分行或者列
目录1、动机2、举例抽取行例子1(随机抽取前2行)例子2 (随机抽取前100行)抽取列3、参考1、动机最近在跑代码想学习随机抽样部分数据,但是无从下手,于是目前搜到random方法,开始尝试学习。因为我的数据是二维矩阵的形式,因此我下面以二维矩阵进行讲解,且只抽抽取前xx行数据2、举例抽取行例子1(随机抽取前2行)创建一个二维数组import numpy as nparray = np.arange(24).reshape((4,6))"原创 2021-06-24 18:04:27 · 1959 阅读 · 0 评论 -
【Pytorch】F.normalize计算理解
1、动机最近多次看到该方法出现,于是准备了解一下,搜了后发现原来是所谓的L2 norm计算2、简介函数定义torch.nn.functional.normalize(input,p=2.0,dim=1,eps=1e-12,out=None)功能:将某一个维度除以那个维度对应的范数(默认是2范数)。3、举例最后dim=0,是1/根号下1平方+1平方,2/根号下2平方+2平方,3/根号下3平方+3平方,所以都是0.70714、参考官方学习手册tor...原创 2021-06-22 20:25:35 · 54684 阅读 · 7 评论 -
【Python】将代码生成的图片等文件指定保存位置
目录1、动机2、解决方法1(万能版)方法2(简单版)1、动机最近因为要画图,发现直接使用plt.savefig('plot_2.jpg')都是默认将代码保存到当前py文件同路径下,但是发现如果运行多了就会导致不好翻找,于是准备将代码生成的文件保存到指定位置。同时还可以指定文件如图片的名字,如果有多个,则指定多个不同的参数即可2、解决方法1(万能版)运行import argparse #传参parser = argparse.ArgumentParser.原创 2021-06-21 17:09:48 · 2699 阅读 · 0 评论 -
【Python】matplotlib中文乱码的终极高效解决方案
1、动机2、解决2.1、方法1(搞定)2.2、方法2(测试后发现行不通)3、参考原创 2021-06-21 15:41:54 · 196 阅读 · 0 评论 -
混淆矩阵可视化
参考手册本案例使用混淆矩阵评估鸢尾花数据集上分类器输出质量。对角线元素表示预测标签等于真实标签的点数,而非对角线元素则是分类器未正确标记的点。混淆矩阵的对角线值越高越好,表明正确的预测越多。这些图按类支持尺寸(class support size,即每个类中的样本量)显示了归一化后及未归一化的混淆矩阵。在类别不平衡的情况下,这种归一化可能带来有趣的结果,可以对哪个类被错误分类具有更直观的解释。在这里,结果并不如我们预期的那样好,因为我们选择的正则化参数C并不是最好的选择。在现实生活的应用中,通常原创 2021-06-21 11:38:17 · 1125 阅读 · 0 评论 -
【LSR标签平滑理解】
论文:https://arxiv.org/pdf/1512.00567.pdf(一)、为什么有标签平滑正则化(Label Smoothing Regularization, LSR)的方法?在深度学习样本训练的过程中,我们采用one-hot标签去进行计算交叉熵损失时,只考虑到训练样本中正确的标签位置(one-hot标签为1的位置)的损失,而忽略了错误标签位置(one-hot标签为0的位置)的损失。这样一来,模型可以在训练集上拟合的很好,但由于其他错误标签位置的损失没有计算,导致预测的时候,预测错误的概原创 2021-06-21 11:33:17 · 881 阅读 · 0 评论 -
Python-heatmap热图可视化(seaborn.heatmap)
1、简介在写论文时,看到大佬们的文章中精美的图表。却不知道如何进行绘制,本文提供了一种heatmap的绘制方式。Heatmap中文称为热点图,热点图是通过使用不同的标志将图或页面上的区域按照受关注程度的不同加以标注并呈现的一种分析手段,标注的手段一般采用颜色的深浅、点的疏密以及呈现比重的形式,因此使用热点图,你可以把感兴趣区域更直观的表现出来2、使用...原创 2021-06-16 13:01:25 · 774 阅读 · 0 评论 -
Pytorch-常见距离度量loss实现
1、动机2、方法MMD源码import torchimport torch.nn as nnclass MMD_loss(nn.Module): def __init__(self, kernel_mul = 2.0, kernel_num = 5): super(MMD_loss, self).__init__() self.kernel_num = kernel_num self.kernel_mul = kernel_mul self.fix_sigma =原创 2021-06-15 22:06:51 · 1603 阅读 · 3 评论 -
Python-不同维度矩阵间的归并操作,如stack等
动机目前想使用stack进行堆叠矩阵,但是已知需要矩阵维度一致,学习参考pytorch.stack 函数的详解解决原创 2021-06-13 20:23:24 · 371 阅读 · 0 评论 -
Pytorch-优化器使用
1、简介最近因为模型训练不稳定的原因,在解决loss震荡不稳定的情况下,有人提出说可以先用adadelta优化器跑下试试看,于是开始了解2、常见优化器3、参考原创 2021-05-28 17:16:26 · 928 阅读 · 0 评论 -
Python-根据loss变化进行模型调优
转载深度学习 loss下降后上升在下降_深度学习的一些技巧 - hejunlin目录1、动机2、简介3、方法ReLUMaxout自适应学习率(Adaptive Learning Rate)RMSPropMomentumAdamEarly Stopping正则化(Regularization)Dropout1、动机最近以内发现根据loss和acc曲线变化,发现模型存在一定的问题,于是开始尝试查找如何解决这些问题2、简介 如上图,..原创 2021-05-25 10:28:07 · 1925 阅读 · 0 评论