【深度学习】Day1

张量的创建


张量

  • 张量(Tensor):

    PyTorch 张量是一种用于存储多维数组的数据结构,类似于 NumPy 的多维数组,是深度学习里最基础的数据载体

  • 张量按维度分为下面几类:


张量基本创建方式

  • torch.tensor()
    根据给定数据创建张量,小写tensor
    1)传入列表 / 数组,自动推断数据类型

    复制代码
    # 用列表创建张量
    t1=torch.tensor([1,2,3])
    print(t1)  # tensor([1, 2, 3])

    2) 特点:拷贝数据 ,新建张量;
    日常开发首选

  • torch.Tensor()
    大写Tensor,有两种用法:

    1)传入数字形状:创建指定 shape 的张量(内容未初始化,随机垃圾值)

    复制代码
    t2=torch.Tensor(2,3) # 创建2行3列张量
    print(t2)


    2) 传入列表数据:也可以创建张量(不推荐,容易混淆)

    复制代码
    t3=torch.Tensor([1,2,3])
    print(t3)


    3) 注意:大写torch.Tensor默认是float32类型;
    小写torch.tensor会根据输入自动判断类型

  • torch.IntTensor / torch.FloatTensor / torch.DoubleTensor
    1)创建指定数据类型的张量
    (旧 API 写法,新版本更推荐在torch.tensor里用dtype=指定类型)
    2)

    复制代码
    # 整型张量
    t_int=torch.IntTensor([1,2,3])
    # 浮点型张量 float32
    t_float=torch.FloatTensor([1.1,2.2])
    # 双精度浮点 float64
    t_double=torch.DoubleTensor([1.1,2.2])
    
    print(t_int)
    print(t_float)
    print(t_double)

    更推荐写法:

    复制代码
    t = torch.tensor([1, 2, 3], dtype=torch.int32)
    print(t)
  • 重点区分

torch.tensor ()
  • torch.tensor():
    根据传入的数据创建张量,可以传入数字、numpy 数组、Python 列表,会自动继承输入的数据类型

复制代码
  # 1 创建张量标量(0维张量)
  data=torch.tensor(10)
  print(data)

  data1=np.random.randn(2,3)  # numpy 默认 float64
  data2=torch.tensor(data1)
  print(data2)

  # 3. python 创建列表
  data3=[[1,2,3],[4,5,6]]
  data4=torch.tensor(data3)
  print(data4)
  • 关键点
    1)torch.tensor(10) :传入单个数字,生成0 维标量张量 ,
    输出tensor(10),不是数组形式
    2)numpy 数组转张量
    a)numpy 的浮点数默认是float64,所以生成的张量dtype=torch.float64 b)torch.tensor()会拷贝一份数据 ,新张量和原 numpy 数组互不影响
    3)Python 列表创建张量
    a)列表里写带小数点数字10.,代表浮点数,PyTorch 默认转成float32 b)两层列表[[...],[...]] → 2 维张量(矩阵)

torch.Tensor ()
  • 两种写法

    1)传数字(形状参数):创建指定形状的张量,不初始化,

    里面是内存里残留的随机垃圾值

    2)传列表:创建带指定数据的张量

    默认数据类型:float32

复制代码
  # 1. 创建2行3列的张量,只指定形状,里面的值没初始化的随机值
  data=torch.Tensor(2,3)
  print(data)

  # 2. 传入列表,按照列表数据创建张量
  data1=torch.Tensor([10,20,30])
  print(data1)
  data2=torch.Tensor([10])
  print(data2)
  • 核心对比

torch.IntTensor/ FloatTensor / DoubleTensor
  • 传数字((2,3)):创建指定形状、对应数据类型的未初始化张量(内存残留垃圾值)

  • 传列表数据:自动把里面元素强制转换成对应类型

复制代码
  # 1. 创建2行3列,dtype=int32 的张量,没初始化,里面的是随机脏整数
  data=torch.IntTensor(2,3)
  print(data)

  # 2. 传入浮点列表,自动强制转成int32,小数直接砍掉,不是四舍五入,是截断
  data1=torch.IntTensor([2.5,3.3])
  print(data1)

  # 3. 其他旧版类型
  data2=torch.ShortTensor()  # int 16
  data3=torch.LongTensor()  # int 64
  data4=torch.FloatTensor()  # int 32
  data5=torch.DoubleTensor()  # int 64
  • 新版推荐写法
    1)torch.tensor() + 指定 dtype 参数,可读性更好

    复制代码
    data=torch.tensor([2.5,3.3],dtype=torch.int32)
    print(data)

创建线性 , 随机张量


torch.arange () 和 torch.linspace ()
  • torch.arange(start, end, step)

    1)按步长生成张量,区间是左闭右开 [start, end),不包含 end

    复制代码
    data=torch.arange(0,10,2)
    print(data)

    start=0,end=10,步长 step=2

    取值:0,2,4,6,8;下一个是 10,等于 end,所以不取

    生成的是整数张量

相关推荐
2601_965742221 小时前
AI是怎么判断一家本地商家值得推荐的?云南老板看完这篇就懂了
大数据·人工智能·算法·ai·新媒体运营
四季豆331 小时前
数据挖掘:从数据中获取知识
人工智能·数据挖掘
Raas1001 小时前
AI网关能做成本分摊吗?MAI Gateway(魔芋企业级AI网关)如何赋能企业AI能力
大数据·人工智能·ai·大模型·ai网关·mai gateway
像风一样自由20201 小时前
53.NginxAPI-Gateway与鉴权如何保护大模型接口
人工智能·大模型·gateway·智能体
乃嘿仔1 小时前
AI 热点日报 · 2026 年 10 月 12 日
人工智能
Raas1001 小时前
MAI Gateway(魔芋企业级AI网关)能力解析:AI网关能做调用审计吗?AI网关核心功能详解
大数据·网络·人工智能·gateway·ai网关·mai gateway
xwz小王子1 小时前
IROS 2026 面向动态目标的机器人伺服轨迹控制
人工智能·计算机视觉·机器人
小O的算法实验室1 小时前
IEEE TAES,基于DQN 辅助的集群无人机自组网约束多目标重构与优化
人工智能·算法
硅谷秋水1 小时前
MobiAgent:面向长时程移动操作任务的双-环递归策略自我提升方法
人工智能·深度学习·机器学习·语言模型·机器人