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

wordpress站群服务器凡科网建设网站如何修改源代码

wordpress站群服务器,凡科网建设网站如何修改源代码,如何用阿里云做网站,seo搜索引擎推广【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 文章目录 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速...前言…【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 文章目录 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速...前言1. PyTorch 常用库和模块2. 张量操作Tensor2.1 创建张量2.2 张量的属性2.3 张量的操作2.4 张量与 NumPy 的转换 3. 自动求导Autograd3.1 自动求导的基本操作3.2 停止梯度追踪3.3 计算图与梯度累积 4. 神经网络模块torch.nn4.1 定义神经网络模型4.2 常用层4.3 损失函数 5. 优化器torch.optim5.1 常用优化器5.2 使用优化器 6. 数据加载与处理torch.utils.data6.1 Dataset 类6.2 DataLoader 类 7. GPU加速7.1 检查是否支持 GPU7.2 将模型和张量迁移到 GPU 欢迎宝子们点赞、关注、收藏欢迎宝子们批评指正 前言 PyTorch 是一个非常流行的深度学习框架提供了灵活和易用的 API支持张量计算、自动求导、构建神经网络、GPU 加速等。下面是 PyTorch 常用的语法和函数的全面介绍涵盖张量操作、神经网络构建、优化器、自动求导、数据处理等。 1. PyTorch 常用库和模块 1.torch核心模块包含张量操作、数学计算、自动求导等功能。2.torch.nn神经网络相关的模块提供各种层如卷积、全连接等和常用损失函数。3.torch.optim优化器模块用于定义优化算法如 SGD、Adam 等。4.torch.autograd自动求导模块用于实现自动反向传播计算。5.torch.utils.data数据处理模块包含 Dataset 和 DataLoader用于处理和加载数据集。 2. 张量操作Tensor 张量是 PyTorch 的核心数据结构类似于 NumPy 的数组但可以在 GPU 上运行。 2.1 创建张量 通过 torch.tensor() 创建张量 import torch a torch.tensor([1, 2, 3]) print(a) # tensor([1, 2, 3])创建随机数张量 rand_tensor torch.rand(3, 4) # 3x4的随机数张量 print(rand_tensor)2.2 张量的属性 shape、dtype 和 device tensor torch.rand(3, 4) print(tensor.shape) # 输出张量的形状 print(tensor.dtype) # 数据类型 print(tensor.device) # 设备CPU or GPU2.3 张量的操作 张量的数学运算如加减乘除、矩阵乘法 a torch.tensor([1, 2]) b torch.tensor([3, 4]) print(a b) # 加法 print(a * b) # 乘法 print(a b.T) # 矩阵乘法维度变换view()、reshape() 和 transpose() 用于改变张量形状 x torch.randn(4, 3) y x.view(3, 4) # 改变形状 print(y)索引和切片 x torch.tensor([[1, 2], [3, 4], [5, 6]]) print(x[0]) # 选择第一行 print(x[:, 1]) # 选择第二列 print(x[1:, :]) # 选择从第二行开始的所有行2.4 张量与 NumPy 的转换 从 torch.Tensor 转换为 numpy.array a torch.ones(5) b a.numpy() print(b)从 numpy.array 转换为 torch.Tensor import numpy as np a np.ones(5) b torch.from_numpy(a) print(b)3. 自动求导Autograd PyTorch 中的 autograd 模块支持自动求导功能即反向传播。 3.1 自动求导的基本操作 requires_grad 标志用于启用对张量的梯度跟踪 x torch.tensor([2.0, 3.0], requires_gradTrue) y x ** 2 # y [4, 9] y.backward(torch.tensor([1.0, 1.0])) # 计算梯度 print(x.grad) # 输出 x 的梯度3.2 停止梯度追踪 在推理阶段或者某些计算中我们不需要计算梯度可以使用 torch.no_grad() 或 detach()。 使用 no_grad() with torch.no_grad():y model(x)使用 detach() x torch.tensor([1.0], requires_gradTrue) y x ** 2 z y.detach() # z 不会计算梯度3.3 计算图与梯度累积 反向传播时PyTorch 会默认将梯度累积到 grad 属性中因此在每次反向传播之前需要清零梯度 optimizer.zero_grad() loss.backward() optimizer.step()4. 神经网络模块torch.nn PyTorch 提供了 torch.nn 模块用于定义神经网络的层和损失函数。 4.1 定义神经网络模型 torch.nn.Module 是所有神经网络的基类通常需要在类的 __init__ 方法中定义网络的层在 forward() 方法中定义前向传播过程。 简单的前馈神经网络示例 import torch.nn as nnclass SimpleNet(nn.Module):def __init__(self):super(SimpleNet, self).__init__()self.fc1 nn.Linear(10, 50)self.fc2 nn.Linear(50, 1)def forward(self, x):x torch.relu(self.fc1(x))x self.fc2(x)return xmodel SimpleNet()4.2 常用层 全连接层torch.nn.Linear 用于实现全连接层。 fc nn.Linear(in_features10, out_features5)卷积层torch.nn.Conv2d 用于实现二维卷积。 conv nn.Conv2d(in_channels3, out_channels16, kernel_size3)激活函数 ReLUtorch.nn.ReLU() Sigmoidtorch.nn.Sigmoid() Tanhtorch.nn.Tanh() 池化层torch.nn.MaxPool2d 和 torch.nn.AvgPool2d 用于池化操作。 pool nn.MaxPool2d(kernel_size2, stride2)4.3 损失函数 PyTorch 提供了多种常用的损失函数如均方误差MSE、交叉熵损失CrossEntropy。 均方误差MSE损失函数 loss_fn nn.MSELoss() loss loss_fn(predicted_output, target_output)交叉熵损失函数 loss_fn nn.CrossEntropyLoss() loss loss_fn(predictions, labels)5. 优化器torch.optim PyTorch 的 torch.optim 模块提供了多种优化算法用于更新模型的参数。 5.1 常用优化器 随机梯度下降SGD optimizer torch.optim.SGD(model.parameters(), lr0.01, momentum0.9)Adam 优化器 optimizer torch.optim.Adam(model.parameters(), lr0.001)5.2 使用优化器 在每个训练迭代中使用优化器更新模型参数的典型步骤 optimizer.zero_grad() # 清空梯度 loss.backward() # 反向传播 optimizer.step() # 更新参数6. 数据加载与处理torch.utils.data 6.1 Dataset 类 torch.utils.data.Dataset 是数据集的抽象类用户可以通过继承 Dataset 类来自定义数据集。 自定义数据集 from torch.utils.data import Datasetclass CustomDataset(Dataset):def __init__(self, data, labels):self.data dataself.labels labelsdef __len__(self):return len(self.data)def __getitem__(self, index):return self.data[index], self.labels[index]6.2 DataLoader 类 torch.utils.data.DataLoader 用于将 Dataset 打包成可迭代的数据批次并支持多线程加载。 使用 DataLoader from torch.utils.data import DataLoaderdataset CustomDataset(data, labels) dataloader DataLoader(dataset, batch_size32, shuffleTrue) for batch in dataloader:inputs, targets batch7. GPU加速 PyTorch 提供了对 GPU 的支持可以使用 CUDA 设备加速计算。 7.1 检查是否支持 GPU print(torch.cuda.is_available())7.2 将模型和张量迁移到 GPU 将张量迁移到 GPU device torch.device(cuda if torch.cuda.is_available() else cpu) tensor tensor.to(device)将模型迁移到 GPU model model.to(device)通过这份全面的 PyTorch 语法和函数介绍你可以更好地掌握 PyTorch 的基本用法以及常用的深度学习相关功能。
http://www.hkea.cn/news/14333288/

相关文章:

  • 灵璧县建设局网站苏州专业高端网站建设公司
  • 静安区建设工程招标投标管理部门网站网站开发的实训周
  • 易语言怎么制作网站永川网站制作
  • 安卓4.3网站开发兼容中国建设网上银行
  • 房屋出租网站模板wordpress 无法登陆 后台
  • 建站资源工程信息
  • 旅游网站开发项目介绍工厂软件管理系统
  • 众筹网站开发周期wordpress文章图片格式
  • 做ps可以在哪些网站上找素材算命网站开发
  • 网站建设分金手指排名十二如何只做网站
  • 网站空间ftp单位企业邮箱怎么申请
  • 网站为什么吸引人php网站编程
  • 网站建设包含什么郑州做营销型网站
  • 做底单的网站网站大全软件
  • 网站开发应该怎么学十大网站建设公司排名
  • 那曲网站建设罗斯app界面设计常用的布局具有哪些
  • 公司新闻做网站潍坊建设网站公司电话
  • 外贸网站关键词开三云匠网
  • 网站服务器租用价格怎么算福多多在线观看
  • 梓潼网站建设青海省住房城乡建设厅网站
  • 那里有个人做网站的wordpress怎么弄背景
  • 海西网站建设哪家好中国十大软件公司
  • 网站建设运营计划书域名注册和网站设计服务
  • 企业网站备案需要哪些资料wordpress网站域名地址
  • 房屋中介网站怎么做网站备案重要吗
  • 合肥做企业建网站那家好html5网站开发语言
  • 佛山网站推广经理企业门户网站
  • 一份电子商务网站建设规划书分类信息网站怎么做流量
  • 卢松松的网站云商城app下载
  • 网站的超级链接怎么做易云自助建站