StarfishCu
码龄2年
  • 43,967
    被访问
  • 39
    原创
  • 1,294,153
    排名
  • 55
    粉丝
关注
提问 私信

个人简介:15级中科大少年班学院数学方向转计算机方向,本校硕转博

  • 加入CSDN时间: 2020-06-28
博客简介:

StarfishCu的博客

查看详细资料
个人成就
  • 获得54次点赞
  • 内容获得35次评论
  • 获得181次收藏
创作历程
  • 5篇
    2021年
  • 34篇
    2020年
成就勋章
TA的专栏
  • pytorch
    11篇
  • dgl
    1篇
  • 图嵌入
    16篇
  • 图学习
    1篇
  • python
    1篇
  • pyg
    1篇
  • meta learning
    1篇
  • DL概念
    1篇
  • AI作曲
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

CONDA虚拟环境下GPU加速pytorch程序大坑记录!

大坑:前几天在服务器上的虚拟环境上使用gpu同时运行两个处理大数据集的程序,结果跑着跑着突然中断。原因很玄幻,是虚拟环境下的与运行的程序相关的包丢失了:pytorch,dgl等等都丢失了。而在程序刚开始运行时候这些包都存在。直接原因及推测根本原因:直接原因是两个程序在同一anaconda建立的虚拟环境下运行。推测根本原因因为程序要处理的数据集很大,会占用大量cpu和gpu空间,在同一虚拟环境下运行会导致冲突?只是推测,如果有知道的朋友欢迎告诉我具体原因解决方案:只需要建立两个相同配置的虚拟环境,
原创
发布博客 2021.04.22 ·
178 阅读 ·
0 点赞 ·
0 评论

DGL获得adj

DGL有内置函数adglgraph.adj可以获得adjmatrix,但问题是adjmatrix是sparse.tensor格式,无法直接调用我们想要的adj:u=[0,0,0,1]v=[1,1,2,2]graph=dgl.DGLGraph((u,v))print('graph',graph)adj=graph.adjacency_matrix(transpose=True)print('adj',adj)>>>graph DGLGraph(num_nodes=3, num_
原创
发布博客 2021.03.16 ·
371 阅读 ·
0 点赞 ·
1 评论

pytorch 矩阵运算实现“笛卡尔加”

问题定义见下图:给定A,B,求A“笛卡尔加”B(笛卡尔加类似于笛卡尔积,只是在合并时做了加法运算)用for语句解决这个问题当然非常简单,但是for的性能损失太大(我在神经网络里,分别用for和矩阵运算实现了“笛卡尔加”,最终for的时间开销为8h+,矩阵运算为5min+),记录一下怎么用矩阵运算解决:step扩充A,B为(3,3,4)维度,得到_A , _B._A=([A1,A2,A3],[A1,A2,A3],[A1,A2,A3]) _B同理。将_A的前两维转置后+_B即可得到AB的“笛卡尔加”
原创
发布博客 2021.01.11 ·
507 阅读 ·
0 点赞 ·
1 评论

pytorch loss.item()大坑记录(非常重要!!!)

跑神经网络时遇到的大坑:代码中所有的loss都直接用loss表示的,结果就是每次迭代,空间占用就会增加,直到cpu或者gup爆炸。解决办法:把除了loss.backward()之外的loss调用都改成loss.item(),就可以解决。原理可以见这里:https://www.zhihu.com/question/67209417/answer/344752405...
原创
发布博客 2021.01.11 ·
10766 阅读 ·
17 点赞 ·
0 评论

用tensor创建tensor

用两个长度相同的一维tensor(x,y),生成一个新的二维tensor(z),使z的第一行即x,第二行为y:代码中的edge_index_pattern即z,dataset[“pattern”].edges(form=‘uv’)[0]即x,dataset[“pattern”].edges(form=‘uv’)[1]即y由于不能直接使用tensor,所以需要先将tensor转为list即可 edge_index_pattern=torch.tensor([dataset["pattern"].e
原创
发布博客 2021.01.04 ·
134 阅读 ·
0 点赞 ·
0 评论

Ubuntu下安装Microsoft Teams

先登录官网:https://www.microsoft.com/en-us/microsoft-365/microsoft-teams/download-app#allDevicesSection下载DEB包。下载完成后,在DEB包目录下执行命令:sudo dpkg -i teams_1.3.00.30857_amd64.deb[sudo] starlien 的密码: 正在选中未选择的软件包 teams。(正在读取数据库 ... 系统当前共安装有 358741 个文件和目录。)正准备解包 tea
原创
发布博客 2020.12.28 ·
1132 阅读 ·
0 点赞 ·
0 评论

生成有feature的pattern-graph数据集

如果完全仿照generate_label的方式生成feature:def generate_features(number_of_items, feature_dim, num_of_features):#考虑cora数据集,num_of_features代表一个维度里features有几个可选值(从0开始,例如:0,1,2...),feature_dim代表feature有几个维度 features = np.zeros([number_of_items,feature_dim],dtype=i
原创
发布博客 2020.12.26 ·
334 阅读 ·
0 点赞 ·
1 评论

Can Graph Neural Networks Count Substructures复现实验记录

相比上一篇Nerual Subgraph Isomophism Counting的实验说明,这篇文章的实验说明很不详细,这里只关注subgraph部分,也就是synthetic文件夹下的代码,记录下复现过程:记录data文件夹中本来是没有lrp_save_path文件夹的,需要手动建立(这个代码里没有建立文件夹的代码)。还需要在synthetic文件夹下建立save_model和results文件夹。然后运行main_synthetic.py即可。...
原创
发布博客 2020.12.21 ·
127 阅读 ·
0 点赞 ·
0 评论

Neural Subgraph Isomorphism Counting复现记录

train.py:2020/12/19 16:28:17: [ data_type: train best mean loss: 401.561 (epoch: 050) ]2020/12/19 16:28:17: [ data_type: dev best mean loss: 236.555 (epoch: 073) ]2020/12/19 16:28:17: [ data_type: test best mean loss: 267.581 (epoch: 045) ]
原创
发布博客 2020.12.19 ·
71 阅读 ·
0 点赞 ·
1 评论

pycharm预输入参数

shift+alt+f10打开窗口,按0,进入界面在Parameters一栏里按照下图格式输入参数即可
原创
发布博客 2020.12.19 ·
73 阅读 ·
0 点赞 ·
1 评论

Ubuntu 服务器上传和下载文件

https://hellowoodes.blog.csdn.net/article/details/79881168?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control
原创
发布博客 2020.12.19 ·
415 阅读 ·
0 点赞 ·
1 评论

igraph.plot()的TypeError: plotting not available解决方法

见这篇https://blog.csdn.net/abc15766228491/article/details/88719103
原创
发布博客 2020.12.17 ·
411 阅读 ·
0 点赞 ·
0 评论

Neural Subgraph Isomorphism Counting学习笔记

Neural Subgraph Isomorphism Counting -- KDD2020问题定义解决方案Graph ModelDynamic Intermedium Attention Memory合成数据用GNN来做子图同构统计的第一篇论文,需要关注的点主要在问题定义、合成数据、寻找同构的网络这三点上。问题定义给定一个小图(pattern)和一个大图(graph),统计graph中与pattern同构的子图数量。用GNN来做的优势在于能够在可接受的误差范围内以更快的速度解决这个问题。解决方
原创
发布博客 2020.12.16 ·
239 阅读 ·
1 点赞 ·
0 评论

Graph Embedding预处理:对图中部分节点进行训练

Graph Embedding优化:只对目标节点进行训练原理代码创建子图代码main代码(以gcn为例)其实我们在训练时候,并不需要将整个图都扔进神经网络进行训练,因为需要的只是训练集中的train_mask节点,将整个图都进行训练其实浪费了很多的时间空间复杂度,所以我们可以预先离线抽取出我们需要的目标节点及在计算中需要用到的n级邻居节点,然后再进行训练,可以节省很多的时空复杂度。原理无论是GCN还是GAT,每层网络本质上的工作就是以某种方式将节点特征及其邻居的特征加到一起获得一个新的特征值。每多加一
原创
发布博客 2020.12.08 ·
193 阅读 ·
2 点赞 ·
0 评论

GAT学习:PyG实现GAT(自定义GAT层)网络(四)

PyG实现自定义GAT层完整代码代码分析本系列中的第三篇介绍了如何调用pyg封装好的GAT函数,当然同样的,对于科研需求,我们同样需要学会如何自定义网络层以满足研究需求。完整代码import torchimport mathfrom torch_geometric.nn import MessagePassingfrom torch_geometric.utils import add_self_loops,remove_self_loops,softmaxfrom torch_geometr
原创
发布博客 2020.12.01 ·
1113 阅读 ·
1 点赞 ·
1 评论

GAT学习:PyG实现GAT(使用PyG封装好的GATConv函数)(三)

之前我的实现方式相对而言麻烦且准确率不够好,只能达到65%左右的准确率(Cora上),这里介绍直接用PyG封装好的GAT函数实现:import torchimport mathfrom torch_geometric.nn import MessagePassingfrom torch_geometric.nn import GATConvfrom torch_geometric.utils import add_self_loops,degreefrom torch_geometric.da
原创
发布博客 2020.11.12 ·
4437 阅读 ·
5 点赞 ·
9 评论

GAT学习:PyG实现multi-head GAT(二)

PyG实现GAT网络接上篇学习笔记GAT学习:PyG实现GAT(图注意力神经网络)网络(一)为了使得Attention的效果更好,所以加入multi-head attention。画个图说明multi-head attention的工作原理。
原创
发布博客 2020.10.23 ·
982 阅读 ·
1 点赞 ·
3 评论

GAT学习:PyG实现GAT(图注意力神经网络)网络(一)

PyG实现GAT网络预备知识代码分析完整代码GAL层目前PyG的教程几乎都是教怎么实现GCN的,但关于实现GAT的没找到PyG的实现,基本都是Pytorch。Paper需要,学习了GAT,为了保证和GCN用同一框架实现,所以用PyG实现了GAT,这里记录下来,用PyG搭建了GAT网络。预备知识1.GAT的原理移步这里向往的GAT,介绍的很详细。2.PyG的基本操作移步这几篇:GCN学习:Pytorch-Geometric教程(一)GCN学习:Pytorch-Geometric教程(二)GCN学
原创
发布博客 2020.10.23 ·
4445 阅读 ·
2 点赞 ·
2 评论

GCN学习:用PyG实现自定义layers的GCN网络及训练(五)

目前的代码讲解基本都是直接使用PyG内置的包实现固定结构的网络层。虽然我们可以通过每层使用不同的传递方式来建立不同的网络,但是却不能自定义网络层的传递方式,对于做创新性的研究工作而言是一个不足。本篇在GCN学习:Pytorch-Geometric教程(二)的基础上,自定义了GCN的层传递方式(仍然是按照论文中的传递方式建立,但是我们以后也可以建立其他传递方式),其他代码与系列(二)的代码相同。完整代码如下import torchfrom torch_geometric.nn import Messa
原创
发布博客 2020.10.18 ·
1350 阅读 ·
6 点赞 ·
3 评论

GCN学习(四):使用numpy从底层一步步搭建GCN网络:Zachary数据集随机参数无训练实战

Zachary 空手道俱乐部是一个被广泛使用的社交网络,其中的节点代表空手道俱乐部的成员,边代表成员之间的相互关系。当年,Zachary 在研究空手道俱乐部的时候,管理员和教员发生了冲突,导致俱乐部一分为二。下图显示了该网络的图表征,其中的节点标注是根据节点属于俱乐部的哪个部分而得到的,「0」表示属于Mr. Hi部分的中心节点,[32」表示属于Officer阵营的中心节点通过networkx调用karate club图import networkx as nximport numpy as np#
原创
发布博客 2020.10.16 ·
484 阅读 ·
0 点赞 ·
2 评论
加载更多