PyTorch 张量基础(一)
前言本文梳理 PyTorch 入门核心知识张量全套创建操作。读完本文你将掌握各类张量创建 API、使用场景与代码示例。一、深度学习基础导论1. ML机器学习和 DL深度学习的关系与区别基础定义MLMachine Learning机器学习让机器从数据里学习规律、完成预测任务的一大类方法是一个大集合。DLDeep Learning深度学习属于机器学习的子集依托多层神经网络实现学习。核心区别对比维度传统机器学习深度学习特征处理需要人工手动设计特征特征工程自动从原始数据学习特征无需人工提取数据需求量中小规模数据即可取得不错效果十分依赖大量数据数据越少优势越弱模型结构结构较浅通常只有 1~2 层计算单元多层堆叠的神经网络深度网络硬件要求普通 CPU 就能运行大多需要 GPU 加速训练可解释性大多模型逻辑清晰容易分析预测依据黑盒特性很难解释模型做出判断的内在原因典型算法逻辑回归、SVM、随机森林、K-MeansCNN、RNN、Transformer 等深度网络通俗理解机器学习是教会电脑做题深度学习是教会电脑先看懂题目再自己做题。2. 深度学习的 5 个核心特点多层网络结构由多层神经元堆叠而成深度一词来源于多层网络结构层数越多网络深度越高。自动特征提取不需要人工设计特征模型直接接收原始数据图片像素、文本字符逐层自动提炼底层、高层特征。海量数据驱动模型参数量巨大需要大量样本才能充分训练数据量越大深度学习相比传统机器学习的优势越明显。强大的拟合能力多层非线性变换可以拟合极其复杂的数据分布适合图像、语音、自然语言这类高难度任务。模型可解释性弱深度网络常被称作黑盒模型我们很难清晰解释模型究竟依据哪些信息输出最终结果难以追溯推理过程。3. 深度学习常用基础模型CNN卷积神经网络Convolutional Neural Network擅长处理网格结构数据最典型就是图片依靠卷积操作提取局部空间特征。应用图像分类、目标检测、图像分割。RNN循环神经网络Recurrent Neural Network专门处理时序序列数据拥有记忆能力可以利用上一步的信息辅助当前计算。应用语音识别、时序预测、早期文本处理。拓展RNN 衍生变体 LSTM、GRU当前主流序列模型为 Transformer。4. 深度学习典型 4 类应用场景计算机视觉CV图像识别、人脸识别、自动驾驶视觉感知、图像生成AI 绘画。自然语言处理NLP机器翻译、聊天大模型、文本摘要、情感分析。语音信号处理语音转文字、语音合成、语音降噪、声纹识别。多模态与推荐系统短视频内容推荐、图文跨模态检索、智能机器人感知交互。二、张量的创建本节学习目标掌握基础张量创建方式掌握 0/1、指定值张量创建掌握线性张量、随机张量创建掌握张量数据类型指定与完整类型转换方案2.1 什么是张量PyTorch 中的张量就是元素为同一种数据类型的多维矩阵。在 PyTorch 中张量以类的形式封装张量相关运算、处理方法都内置在类中。张量是 PyTorch 的核心数据抽象一维张量向量二维张量矩阵更高维度张量可以用来存放图片、语音等复杂数据。PyTorch 张量 vs NumPy 数组二者外观相似都是存放同类型元素的多维数组可以互相转换核心区别运行设备NumPy 数组仅支持 CPU张量支持 CPU 与 GPUCUDA 加速自动微分NumPy 不支持求导张量支持梯度记录、自动求导深度学习核心定位场景NumPy 面向通用科学计算张量专门服务深度学习训练2.2 基础张量创建方式torch.tensor根据指定数据创建张量可通过dtype直接指定元素类型torch.Tensor根据形状创建张量也可传入数据创建张量torch.IntTensor、torch.FloatTensor、torch.DoubleTensor老式 API创建固定类型张量代码示例import torch import numpy as np 创建指定类型张量 t1 torch.tensor([1, 2, 3, 4, 5], dtypetorch.float) # torch.float 等价 float32 print(ft1: {t1}, (元素)类型: {t1.dtype}, (张量对象)类型: {type(t1)}) 标量0 维张量 t2 torch.tensor(10) print(ft2: {t2}, type: {type(t2)}) print(- * 30) 二维列表 → 张量 data [[1, 2, 3], [4, 5, 6]] t3 torch.tensor(data) print(ft3: {t3}, type: {type(t3)}) print(- * 30) numpy ndarray → 张量 data np.random.randint(0, 10, size(2, 3)) t4 torch.tensor(data) print(ft4: {t4}, type: {type(t4)}) 错误写法torch.tensor(2,3) 直接传维度会报错 t5 torch.tensor(2, 3)老式类型专用张量 APIimport torch # 传入形状创建未初始化张量 t_int1 torch.IntTensor(2, 3) # int32 t_float1 torch.FloatTensor(2, 3) # float32 t_double1 torch.DoubleTensor(2, 3) # float64 传入数据强制指定类型 t_int2 torch.IntTensor([1, 2, 3]) t_float2 torch.FloatTensor([1.1, 2.2]) t_double2 torch.DoubleTensor([0.1, 0.2]) 现代等价写法 t_int torch.tensor([1, 2, 3], dtypetorch.int32) t_float torch.tensor([1.1, 2.2], dtypetorch.float32) t_double torch.tensor([0.1, 0.2], dtypetorch.float64)区分重点t1.dtype张量内部元素的数据类型type(t1)张量本身 Python 对象类型永远是torch.Tensor2.3 创建 0、1、指定值张量torch.ones和torch.ones_like创建全 1 张量torch.zeros和torch.zeros_like创建全 0 张量torch.full和torch.full_like创建全部为指定值张量不带_like手动传入维度带_like参考已有张量自动复制形状、数据类型、设备。import torch ref torch.tensor([[1, 2], [3, 4]], dtypetorch.float32) 全 1 张量 t_ones torch.ones(2, 3) t_ones_like torch.ones_like(ref) 全 0 张量 t_zeros torch.zeros(2, 3) t_zeros_like torch.zeros_like(ref) 指定值张量 t_full torch.full((2, 3), fill_value5.0) t_full_like torch.full_like(ref, fill_value5.0)2.4 创建线性和随机张量torch.arange()和torch.linspace()创建线性张量torch.random.initial_seed()获取当前全局随机种子torch.random.manual_seed()设置全局随机种子torch.rand() / torch.randn()创建随机浮点类型张量torch.randint(low, high, size())创建随机整数类型张量随机种子两种方法区别torch.random.manual_seed(种子数值)作用设置全局随机种子。种子固定后后续所有随机操作生成结果固定影响当前进程全部随机函数。调用时机代码开头统一设置。torch.random.initial_seed()作用读取当前正在使用的全局种子只能获取不能修改返回整数。用途查看当前种子、复现实验、记录日志。import torch # 线性张量 t_arange torch.arange(0, 10, 2) # [start, end)按步长生成 t_lin torch.linspace(0, 10, 5) # [start, end]均分生成指定个数点 设置全局随机种子固定随机结果 torch.random.manual_seed(666) 获取当前全局种子 current_seed torch.random.initial_seed() print(当前种子, current_seed) 随机浮点张量 rand_t torch.rand(3, 3) # [0,1) 均匀分布 randn_t torch.randn(3, 3) # 标准正态分布 N(0,1) 随机整数张量 randint_t torch.randint(0, 10, (2, 2)) # [low, high) 随机整数2.5 张量数据类型转换方法 1创建张量时直接指定 dtype推荐t torch.tensor([1, 2, 3], dtypetorch.float32)方法 2.to() 通用类型转换通用支持类型设备t_int torch.tensor([1, 2]) t_float t_int.to(dtypetorch.float32) t_long t_int.to(dtypetorch.int64)方法 3专用简写函数简洁仅改类型t torch.tensor([1.1, 2.2]) t_float32 t.float() t_float64 t.double() t_int32 t.int() t_int64 t.long() t_bool t.bool()常用 dtype 对照表常量简写完整常量含义torch.floattorch.float3232 位浮点数训练默认torch.doubletorch.float6464 位双精度浮点数torch.inttorch.int3232 位整数torch.longtorch.int6464 位长整型索引默认torch.booltorch.bool布尔类型 True/False重要提醒所有类型转换都会生成新张量原张量不会被修改。参考资料PyTorch 官方网站PyTorch黑马程序员 PyTorch 深度学习教程

相关新闻

基于Arduino与3D打印的低成本四轴机械臂DIY全攻略

基于Arduino与3D打印的低成本四轴机械臂DIY全攻略

1. 项目缘起:当“没钱任性”遇上“动手创造”几年前,我在一个创客展上看到一台六轴工业机械臂,流畅地完成抓取、搬运、码垛,心里痒得不行。一问价格,好家伙,最基础的型号也得五位数起步,这还不算…

2026/7/29 1:59:03 阅读更多 →
PTEN缺失前列腺癌患者新选择:FDA批准Truqap卡匹色替capivasertib联合阿比特龙显著延缓疾病进展

PTEN缺失前列腺癌患者新选择:FDA批准Truqap卡匹色替capivasertib联合阿比特龙显著延缓疾病进展

一、PTEN缺失:前列腺癌进展的”加速器”与精准治疗靶点前列腺癌是男性最常见的恶性肿瘤之一,全球每年新发病例超过140万例。在中国,前列腺癌的发病率也在逐年上升,已成为男性泌尿系统最常见的恶性肿瘤。对于转移性激素敏感性前列腺…

2026/7/29 1:59:03 阅读更多 →
3分钟掌握RPG Maker MV资源解密:免费离线工具完整指南

3分钟掌握RPG Maker MV资源解密:免费离线工具完整指南

3分钟掌握RPG Maker MV资源解密:免费离线工具完整指南 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: https://gitcode…

2026/7/29 1:59:03 阅读更多 →

最新新闻

嵌入式开发实战:SPI模式驱动TF卡存储方案详解

嵌入式开发实战:SPI模式驱动TF卡存储方案详解

1. 项目概述:当TF卡遇上SPI,一种轻量级存储方案的诞生在嵌入式开发领域,存储方案的选择往往需要在性能、成本和系统复杂度之间寻找平衡。我们熟知的Micro SD卡(常被称为TF卡),因其体积小巧、容量巨大且价格…

2026/7/29 2:09:07 阅读更多 →
树莓派驱动WS2812B LED点阵屏制作木制复古游戏显示器

树莓派驱动WS2812B LED点阵屏制作木制复古游戏显示器

1. 项目缘起:从一块木头到会发光的游戏世界几年前,我在一个极客论坛上看到有人用旧显示器外壳改造了一个复古游戏机,当时就觉得这个想法特别酷。但显示器外壳太占地方,而且那种工业塑料感,总觉得少了点温度和个性。后来…

2026/7/29 2:09:07 阅读更多 →
Shell中的变量

Shell中的变量

1、变量命名 可以使用数字,字母,和下划线给变量命名不能用数字开头如果给同一个变量赋值多次,最后一次赋值会覆盖之前的值 var1value #普通赋值方法 var2value var3"hello world" #当变量的值(字符串&#xff09…

2026/7/29 2:09:07 阅读更多 →
华为非AI方向笔试真题 7月24号【最优河堤加固方案】

华为非AI方向笔试真题 7月24号【最优河堤加固方案】

最优河堤加固方案(C/Py/Java/Js/Go)题解华为笔试真题 7月24号 非AI方向第一题 100分题型题目内容 一个数组代表河堤的高度,堤坝是等长、等宽的,现在需要在不超过最大预算的前提下,尽可能的加固河堤使最低高度,所有加固的土只能通过…

2026/7/29 2:09:07 阅读更多 →
零基础学编程真的不难?3类被92%新手忽略的认知陷阱,AI时代必须避开的4个致命误区

零基础学编程真的不难?3类被92%新手忽略的认知陷阱,AI时代必须避开的4个致命误区

更多请点击: https://codechina.net 第一章:零基础学编程真的不难?AI时代的学习真相 过去十年,编程常被塑造成一道高耸的智力门槛——需要数学天赋、逻辑训练和数年苦修。而今天,AI正悄然重写这条学习路径&#xff1a…

2026/7/29 2:09:07 阅读更多 →
2026无人机场品牌深度解析:华测AH50自动巡检系统应用指南

2026无人机场品牌深度解析:华测AH50自动巡检系统应用指南

三伏天里,输电线路巡检员顶着烈日翻山越岭,一趟巡检下来衣服全湿透,还未必能发现杆塔上的隐蔽缺陷。据《中国地理信息产业发展报告(2025)》显示,我国地理信息产业总产值近5年复合增长率为5.6%,近…

2026/7/29 2:08:07 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻