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():将张量分割成块,每个块都是原始张量的一个视图。
>>> 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)