1. torch模块
torch模块包含了一些pytorch的常用激活函数,如Sigmoid(torch.sigmoid)、ReLu(torch.relu)和Tanh(torch.tanh);同时也包含了pytorch张量的一些计算操作,如矩阵的乘法(torch.mm)、张量元素的选择(torch.select)。注意,该模块中计算的对象大多数是pytorch张量。
例:
a = torch.randn(1,2,3,4,5)
torch.numel(a)
2. torch.Tensor模块
torch.Tensor模块定义了torch中的张量类型,如张量中的数值类型有单精度、双精度浮点和整型等,并且张量有一定的维数和形状。如果张量方法后缀带下划线,则该方法会修改张量本身的数据,反之则会返回新的张量。例如,Tenor.add方法会让当前张量和输入参数张量做加法,返回新的张量,而Tensor。add_方法会改变当前张量的值。
例:
a = torch.tensor(1)
b = torch.tensor(2)
print(torch.Tensor.add(a, b))
print(torch.Tensor.add_(a, b))
3. torch.sparse模块
torch.sparse模块定义了稀疏张量,其中构造的稀疏张量采用的是COO格式(Coordinate),主要方法是用一个长整型定义非零元素的位置,用浮点数张量定义对应非零元素的值。稀疏张量之间可以做元素加减乘除运算和矩阵乘法。
例:
i = [[0, 1, 1],
[2, 0, 2]]
v = [3, 4, 5]
torch