当前位置: 首页 > wzjs >正文

广州网站建设公司兴田德润可以不徐汇网站推广公司

广州网站建设公司兴田德润可以不,徐汇网站推广公司,域名网站有哪些,住房城乡建设局是干什么的😉如果您想用jupyter notebook跑我的笔记,可以在下面获取ipynb版本 😊麻烦给个免费的star😘 ❤️主包也更建议这种形式,上面的笔记也更加全面,每一步都有直观的输出 文章目录📚 PyTorch张量操作…

😉如果您想用jupyter notebook跑我的笔记,可以在下面获取ipynb版本
😊麻烦给个免费的star😘
❤️主包也更建议这种形式,上面的笔记也更加全面,每一步都有直观的输出

文章目录

  • 📚 PyTorch张量操作与自动微分全面指南
    • 🛠 1. 准备工作
      • 1.1 导入PyTorch并检查环境
      • 1.2 设置计算设备
    • 📦 1.1 张量初始化
      • 1.1.1 从Python数据类型创建
      • 1.1.2 数据类型处理
      • 1.1.3 从NumPy数组创建
      • 1.1.4 特殊张量创建
      • 1.1.5 张量属性查看
      • 1.1.6 张量设备转移
    • ➗ 1.2 张量运算
      • 1.2.1 基本运算
      • 1.2.2 张量转换
      • 1.2.3 形状操作
    • 🔁 1.3 张量自动微分
      • 1.3.1 梯度计算核心概念
      • 1.3.2 梯度计算实战
      • 1.3.3 梯度控制技巧
    • 💎 核心要点总结

📚 PyTorch张量操作与自动微分全面指南

PyTorch作为深度学习领域的主流框架,掌握其核心数据结构张量(Tensor)的操作至关重要。本文将全面解析PyTorch张量的创建、运算和自动微分机制,助你快速上手PyTorch开发!🚀

🛠 1. 准备工作

1.1 导入PyTorch并检查环境

# 导入torch库
import torch# 查看torch版本
print(torch.__version__)  # 输出: 2.6.0+cu124# 检查CUDA是否可用
torch.cuda.is_available()  # 输出: True

1.2 设置计算设备

device = "cuda" if torch.cuda.is_available() else "cpu"
print(device)  # 输出: cuda

📦 1.1 张量初始化

1.1.1 从Python数据类型创建

data = [[1,2],[3,4]]
x = torch.tensor(data)
print(x)
# 输出: 
# tensor([[1, 2],
#         [3, 4]])

1.1.2 数据类型处理

# 查看数据类型
print(x.dtype)  # 输出: torch.int64# 指定数据类型创建
x1 = torch.FloatTensor([[1,2],[3,4]])  # 等价于 torch.tensor(..., dtype=torch.float32)
x2 = torch.LongTensor([[1,2],[3,4]])# 强制类型转换
x1 = x1.type(torch.long)  # 转换为int64
x1 = x1.float()           # 转换为float32

💡 关键提示torch.float32torch.int64是最重要的数据类型!模型输入通常是float32,分类标签通常是int64

1.1.3 从NumPy数组创建

import numpy as np
data = np.array([[1,2],[4,3]])
x3 = torch.from_numpy(data)
print(x3)
# 输出:
# tensor([[1, 2],
#         [4, 3]])

1.1.4 特殊张量创建

# 创建随机张量
rand_tensor = torch.rand(2,3)    # 0~1均匀分布
randn_tensor = torch.randn(2,3)  # 标准正态分布# 创建全1/全0张量
ones_tensor = torch.ones(2,3)
zeros_tensor = torch.zeros(2,3)# 继承形状创建
y1 = torch.rand_like(x.float())

1.1.5 张量属性查看

t = x
print(t.shape)      # 形状: torch.Size([2, 2])
print(t.size())     # 大小: torch.Size([2, 2])
print(t.dtype)      # 数据类型: torch.int64
print(t.device)     # 存储设备: cpu

1.1.6 张量设备转移

x_gpu = x.to(device)  # 转移到GPU
print(x_gpu.device)   # 输出: cuda:0

➗ 1.2 张量运算

1.2.1 基本运算

# 就地加法 (会改变原张量)
t1 = torch.randn(2,3)
t2 = torch.ones(2,3)
t2.add_(t1)# 矩阵乘法
result1 = t1 @ t2.T
result2 = t1.matmul(t2.T)

1.2.2 张量转换

# 单元素张量转标量
t3 = t1.sum()
scalar = t3.item()  # 输出: 2.1050655841827393# 张量转NumPy数组
numpy_array = t1.numpy()

1.2.3 形状操作

t = torch.randn(4,6)# 重塑形状
t1 = t.view(3,8)     # 显式指定形状
t2 = t.view(-1,1)    # 自动推断维度
t3 = t.view(1,4,6)   # 增加维度# 维度压缩与扩展
t4 = torch.ones(1,4,6)
t5 = torch.squeeze(t4)    # 移除大小为1的维度
t6 = torch.unsqueeze(t5,0)  # 在指定位置添加维度

🔁 1.3 张量自动微分

1.3.1 梯度计算核心概念

PyTorch的自动微分系统基于以下三个关键属性:

  • requires_grad:是否跟踪梯度(默认为False)
  • grad:存储计算得到的梯度
  • grad_fn:指向生成此张量的运算方法

1.3.2 梯度计算实战

# 创建需要跟踪梯度的张量
t = torch.ones(2,2, requires_grad=True)
print(t.requires_grad)  # 输出: True# 构建计算图
y = t + 5
x = y * 2
out = x.mean()# 反向传播计算梯度
out.backward()# 查看梯度
print(t.grad)
# 输出:
# tensor([[0.5000, 0.5000],
#         [0.5000, 0.5000]])

1.3.3 梯度控制技巧

# 临时禁用梯度跟踪
with torch.no_grad():print((t + 2).requires_grad)  # 输出: False# 获取不跟踪梯度的张量副本
detached_t = t.detach()
print(detached_t.requires_grad)  # 输出: False# 永久关闭梯度跟踪
t.requires_grad_(False)
print(t.requires_grad)  # 输出: False

💎 核心要点总结

  1. 张量创建

    • 使用torch.tensor()从Python数据创建
    • 使用torch.from_numpy()从NumPy数组转换
    • 掌握torch.rand(), torch.randn(), torch.ones(), torch.zeros()等创建方法
  2. 数据类型管理

    • 重点掌握float32(模型输入)和int64(分类标签)
    • 使用.float().long()快速转换类型
  3. 设备转移

    • 使用.to(device)在CPU/GPU间移动张量
    • 始终检查tensor.device确保张量位置正确
  4. 自动微分

    • 设置requires_grad=True启用梯度跟踪
    • 使用.backward()自动计算梯度
    • 使用with torch.no_grad():上下文管理器禁用梯度计算
  5. 性能优化

    • 尽量使用就地操作(如add_())减少内存开销
    • 合理使用view()进行形状重塑
    • 及时使用detach()分离不需要的计算图

掌握这些PyTorch张量核心操作,你已为深度学习模型开发打下坚实基础!🎯 下一步可以探索神经网络模块和优化器的使用,开启模型训练之旅!


文章转载自:

http://eL1xMBay.qdrhf.cn
http://m2MFvSw0.qdrhf.cn
http://cathmvUg.qdrhf.cn
http://ZM0dFpcC.qdrhf.cn
http://rP00NfXs.qdrhf.cn
http://CLtayKgH.qdrhf.cn
http://5ZT6wtnq.qdrhf.cn
http://qEZsCJ3h.qdrhf.cn
http://znnJH3lT.qdrhf.cn
http://ARnIJzAw.qdrhf.cn
http://Br4Delyw.qdrhf.cn
http://RPb9ZVcA.qdrhf.cn
http://nDQJ1XPY.qdrhf.cn
http://GOwetaup.qdrhf.cn
http://gzV2UgF4.qdrhf.cn
http://AtPcuEmN.qdrhf.cn
http://vrgyp8ij.qdrhf.cn
http://hxmOOnLc.qdrhf.cn
http://mfx83h6B.qdrhf.cn
http://nFaKAMwH.qdrhf.cn
http://5HEYX959.qdrhf.cn
http://zcGgrwXZ.qdrhf.cn
http://rS7c14tn.qdrhf.cn
http://KSr5tbTJ.qdrhf.cn
http://7r1BVab4.qdrhf.cn
http://2PpnsrlP.qdrhf.cn
http://X2cbVv1u.qdrhf.cn
http://ZIyQYZsP.qdrhf.cn
http://WP3kexKG.qdrhf.cn
http://I4wGMzq7.qdrhf.cn
http://www.dtcms.com/wzjs/712746.html

相关文章:

  • 公总号开发就是网站开发吗自己开发app的软件下载
  • 安全的网站建wordpress 3.6.1
  • php彩票网站建设源码如何做品牌推广网站
  • 平台免费推广做网站优化费用
  • 平罗门户网站建设广州搜索seo网站优化
  • 广州专业做外贸网站iis配置网站权限
  • 网站收录教程建设工程施工合同解释一
  • 网站制作注意事项凡科建设网站
  • 商城系统网站建设开发wordpress跳转二级域名
  • 永康公司网站开发国外ps网站
  • 怎么制作一个表白网站电信网站备案查询
  • 外国手机网站设计桂林生活最新网
  • 医疗企业网站模板格瑞特网站建设
  • 常州门户网站建设在一个城市做相亲网站
  • 东莞网站建设网页推广我的世界搞头怎么做的视频网站
  • 网站透明导航代码网站编程代码大全
  • 手机版网站开发人员选项郑州推广网站
  • 延庆青岛网站建设樟木头镇网站仿做
  • 佛山小学网站建设福州建网站 做网页
  • 成都找人做网站网站上做旅游卖家要学什么条件
  • 阿里云建wordpress站中国郑州建设信息网站
  • 北京招标代理公司排名seo内部优化方案
  • 网站建设原型图搭建网站备案
  • 自己做网站难么找人开发一个网站多少钱
  • 网易短链接生成网站权重对优化的作用
  • 珠海企业网站搭建制作做培训的网站建设
  • 网站换空间不换域名对seo有影响吗福州微信网站建设
  • 查看网站建设时间网站域名空间一年多少钱
  • 网站开发需要资质吗湘潭市优化办
  • 网站建设论文设计做网站销售好吗