• 最近看了Light-GCN的项目,记录了一些里面用到的api


    dataframe.iloc是按位置进行选择数据,所以参数是整型

    list中extend和append的差别:
    append会添加a这个整体
    extend会把a中的各个元素分开,a的内容被不再是一个整体

    csr_matrix三个参数,第一个是数据,第二个是行和列的坐标,第三个参数是矩阵形状

    tensor.coalesce():对边索引进行排序并移除冗余项

    scipy.sparse.dok_matrix(n,m):生成(n, m)shape的矩阵,这是一种基于稀疏矩阵的键字典

    torch.rand()平均分布

    torch.randn是正态分布

    torch.sparse.FloatTensor是构建稀疏张良,index和values是一一对应的关系,最后一个参数是size

    spmatrix.tocoo(self, copy=False):将此矩阵转换为坐标格式,得到(data, (row, col))
    row指行
    col指列

    torch.stack():沿着一个新维度对输入张量序列进行连接。序列中所有的张量都应该为相同形状。(eg:把多个2维张量凑成一个3维张量;多个3维张量凑成一个4维张量,就是增加新的维度进行堆叠)
    eg:

    a = np.array([[0, 2, 3], [0, 0, 0], [0, 0, 9]])
    b = np.array([[1, 1, 1], [1, 2, 3], [5, 6, 7]])
    print("a:", a)
    print("b:", b)
    a = torch.Tensor(a)
    b = torch.Tensor(b)
    c = torch.stack([a, b], dim=1)
    print(c)
    c = torch.mean(c, dim=1)
    print(c)
    
    a: [[0 2 3]
     [0 0 0]
     [0 0 9]]
    b: [[1 1 1]
     [1 2 3]
     [5 6 7]]
    tensor([[[0., 2., 3.],
             [1., 1., 1.]],
    
            [[0., 0., 0.],
             [1., 2., 3.]],
    
            [[0., 0., 9.],
             [5., 6., 7.]]])
    tensor([[0.5000, 1.5000, 2.0000],
            [0.5000, 1.0000, 1.5000],
            [2.5000, 3.0000, 8.0000]])
    
    

    torch.sparse.FloatTensor(index, data, shape):创建类型为FloatTensor的稀疏张量,index是行列索引,data是对应位置上的数据。

    matrix.tolil():将矩阵转换成list(列表)的形式

    numpy.unique():查找数组的唯一元素(去重)并排序

    torch.nn.init.uniform_():均匀分布
    torch.nn.init.normal_():正态分布
    torch.nn.init.constant_():常数、固定值
    torch.nn.init.eye_():对角线为1,其他为0
    torch.nn.init.sparse_():稀疏矩阵,非零元素采用正太分布

    np.isinf():判断是否有正负无穷

    sp.diags():转换为对角矩阵

    torch.split():将张量分割成块,每个块都是原始张量的一个视图。
    eg:

    >>> a = torch.arange(10).reshape(5,2)
    >>> a
    tensor([[0, 1],
    [2, 3],
    [4, 5],
    [6, 7],
    [8, 9]])
    >>> torch.split(a, 2)
    (tensor([[0, 1],
    [2, 3]]),
    tensor([[4, 5],
    [6, 7]]),
    tensor([[8, 9]]))
    >>> torch.split(a, [1,4])
    (tensor([[0, 1]]),
    tensor([[2, 3],
    [4, 5],
    [6, 7],
    [8, 9]]))
    

    torch.mean():返回输入张量中所有元素的平均值,可以选维度,
    eg;

    >>> a = torch.randn(1, 3)
    >>> a
    tensor([[ 0.2294, -0.5481,  1.3288]])
    >>> torch.mean(a)
    tensor(0.3367)
    
  • 相关阅读:
    Git 码云操作
    多线程基础必要知识点!看了学习多线程事半功倍(转)
    Spring技术内幕:设计理念和整体架构概述(转)
    单例模式你会几种写法?(转)
    Linux-看完这篇Linux基本的操作就会了(转)
    每天一个linux命令9之crontab 定时任务
    在linux下给grep命令添加颜色
    springmvc使用StringHttpMessageConverter需要配置编码
    MySQL 中的 base64 函数
    spirng整合rmi
  • 原文地址:https://www.cnblogs.com/nanjibin/p/14579491.html
Copyright © 2020-2023  润新知