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类型又带.了
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
 

 

 

 

 

 

 

posted @ 2025-04-07 17:22  挂科小王子  阅读(64)  评论(0)    收藏  举报