Pytorch 入门(1)
1 torch.empty() :
它分配未初始化的内存空间,内存中的残留数据会被直接显示(类似C语言的未初始化变量)。
输出值是完全随机的,可能是任何极大/极小的数值。
-
-
操作系统内存分配策略:现代操作系统(尤其是Linux/Windows)在分配新内存时,出于安全考虑会自动清零内存(防止程序泄露敏感信息)。
-
PyTorch 的优化:某些情况下(如小张量),PyTorch 会直接调用
calloc()(清零分配)而非malloc()(未初始化)。
-
x=torch.empty(1) # 创建一个只有一个元素的向量(vector),元素值是未定义的。实际测试有时返回全是0,有时非0.
2 torch.rand(3,2) #创建随机矩阵,每个数在0(包含)到1(不包含)之间
3 torch.zero(3,2) #创建0矩阵
4 torch.ones(2,2) # 创建一个2*2的矩阵,并赋值1,类型是torch.float32
5 torch.ones(3,3,dtype=torch.int) # 创建一个3*3的矩阵,并赋值1,打印出来是【1】,这会就不带.了
6 torch.ones(3,3,dtype=torch.double) # 创建一个3*3的矩阵,并赋值1,打印出来是【1.】,double类型又带.了
7 z=x+y 矩阵相加
8 y.add_(x) 把x加到y中去
9 z=torch.sub(x,y) 或 z=x-y 矩阵相减 ; y.sub_(x) 从y中减去x
10 z=torch.mul(x,y) 或 y.mul_(x) 矩阵相乘
11 z=torch.div(x,y) 矩阵相除
12 y = x.view(20) 重塑为一维张量,数据顺序保持不变(按行优先顺序展开)
-
reshape(-1):功能类似但会自动处理连续性问题, -1表示自动计算该维度大小 -
flatten():专门用于展平为一维
13 类型转换,但引用地址不变
a=torch.ones(5) b=a.numpy()
a = np.ones(5) b=torch.from_numpy(a)
14 torch.cuda.is_available() #gpu

浙公网安备 33010602011771号