PyTorch nn.ModuleList, lambda函数,*arg,**kwargs, PyG自建数据集 jupyterNotebook路径

一些关于代码的记录 基于PYG的DGI 和 sampling

最近一直在看PyG的一些代码,有很多基础的python,pytorch,神经网络的基础知识之前都不明白,在此看到什么 不明白的就简单记录一下,之后忘了 还可以来看看

1.nn.ModuleList()

下面链接讲了moduleList和 Sequential的区别。
总体来说 前者比后者灵活。后者是forward逐层直接计算。前者可以有不同的计算顺序进行foward,但后者可以给不同层取名字
moduleList()
注意里面是通过[] 即 ModuleList([]) []里面是不同的层
PyTorch nn.ModuleList, lambda函数,*arg,**kwargs, PyG自建数据集 jupyterNotebook路径_第1张图片
PyTorch nn.ModuleList, lambda函数,*arg,**kwargs, PyG自建数据集 jupyterNotebook路径_第2张图片

2.Lambda函数 匿名函数

函数设计目的 实现简单的函数调用 不需要写 def那样的定义函数 直接使用
例如 lambda a,b: a+b 输出a,b 实现加法
详细解答:lambda函数
PyTorch nn.ModuleList, lambda函数,*arg,**kwargs, PyG自建数据集 jupyterNotebook路径_第3张图片

3.PyG 的 dataset结构

底下链接是 构建自己的pyGdataset 里面有PyG的data数据类的注释 之后得空或者用的时候可以看看
PYG构建自己的数据库

4.detach().cpu.numpy()

PyTorch nn.ModuleList, lambda函数,*arg,**kwargs, PyG自建数据集 jupyterNotebook路径_第4张图片

detach() .data等使用

5.*args和**kwargs

函数接收参数,*args代表任何多个无名参数,返回的是元组;**kwargs表示关键字参数,所有传入的key=value,返回字典;
*args详细

6.torch.randperm()

张量打乱采用randperm() 。 若采用 random.shuffle() 会出现问题
randperm()

7.jupyterNotebook路径修改

jupyter路径修改

8.torch_geometric.nn.inits源码

PyG库里面 nn.inits找不到,搜索也搜不到,这是gitee里面的一个 ,因为dgi实现里面 参数需要 reset和uniform
源码
在这里插入图片描述
PyTorch nn.ModuleList, lambda函数,*arg,**kwargs, PyG自建数据集 jupyterNotebook路径_第5张图片

torch.tensor与torch.Tensor

采用维度初始化 采用torch.Tensor(dim1,dim2) torch.Tensor是torch.FloatTensor的别名
torch.tensor 通常采用list初始化
torch.Tensor和torch.tensor的区别
torch.Tensor()与torch.tensor()

熟悉tensor用法 pytorch tensor的创建与操作

你可能感兴趣的:(pytorch,python,深度学习)