网站建设费维护费,电商网站建设网络公司,云服务器价格对照表,谷歌广告优化师文章目录 一、前言二、实验环境三、PyTorch数据结构0、分类1、Tensor#xff08;张量#xff09;1. 维度#xff08;Dimensions#xff09;2. 数据类型#xff08;Data Types#xff09;3. GPU加速#xff08;GPU Acceleration#xff09;查看可用gpu张量移动经典语句d… 文章目录 一、前言二、实验环境三、PyTorch数据结构0、分类1、Tensor张量1. 维度Dimensions2. 数据类型Data Types3. GPU加速GPU Acceleration查看可用gpu张量移动经典语句device 一、前言
ChatGPT PyTorch是一个开源的机器学习框架广泛应用于深度学习领域。它提供了丰富的工具和库用于构建和训练各种类型的神经网络模型。下面是PyTorch的一些详细介绍 动态计算图PyTorch使用动态计算图的方式进行计算这意味着在运行时可以动态地定义、修改和调整计算图使得模型的构建和调试更加灵活和直观。强大的GPU加速支持PyTorch充分利用GPU进行计算可以大幅提升训练和推理的速度。它提供了针对GPU的优化操作和内存管理使得在GPU上运行模型更加高效。自动求导PyTorch内置了自动求导的功能可以根据定义的计算图自动计算梯度。这简化了反向传播算法的实现使得训练神经网络模型更加便捷。大量的预训练模型和模型库PyTorch生态系统中有许多预训练的模型和模型库可供使用如TorchVision、TorchText和TorchAudio等可以方便地加载和使用这些模型加快模型开发的速度。高级抽象接口PyTorch提供了高级抽象接口如nn.Module和nn.functional用于快速构建神经网络模型。这些接口封装了常用的神经网络层和函数简化了模型的定义和训练过程。支持分布式训练PyTorch支持在多个GPU和多台机器上进行分布式训练可以加速训练过程处理大规模的数据和模型。 总体而言PyTorch提供了一个灵活而强大的平台使得深度学习的研究和开发更加便捷和高效。它的简洁的API和丰富的功能使得用户可以快速实现复杂的神经网络模型并在各种任务中取得优秀的性能。 二、实验环境 本系列实验使用如下环境
conda create -n DL python3.11conda activate DLconda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia三、PyTorch数据结构
0、分类
Tensor张量Tensor是PyTorch中最基本的数据结构类似于多维数组。它可以表示标量、向量、矩阵或任意维度的数组。Tensor的操作PyTorch提供了丰富的操作函数用于对Tensor进行各种操作如数学运算、统计计算、张量变形、索引和切片等。这些操作函数能够高效地利用GPU进行并行计算加速模型训练过程。Variable变量Variable是对Tensor的封装用于自动求导。在PyTorch中Variable会自动跟踪和记录对其进行的操作从而构建计算图并支持自动求导。在PyTorch 0.4.0及以后的版本中Variable被废弃可以直接使用Tensor来进行自动求导。Dataset数据集Dataset是一个抽象类用于表示数据集。通过继承Dataset类可以自定义数据集并实现数据加载、预处理和获取样本等功能。PyTorch还提供了一些内置的数据集类如MNIST、CIFAR-10等用于方便地加载常用的数据集。DataLoader数据加载器DataLoader用于将Dataset中的数据按批次加载并提供多线程和多进程的数据预读功能。它可以高效地加载大规模的数据集并支持数据的随机打乱、并行加载和数据增强等操作。Module模块Module是PyTorch中用于构建模型的基类。通过继承Module类可以定义自己的模型并实现前向传播和反向传播等方法。Module提供了参数管理、模型保存和加载等功能方便模型的训练和部署。
1、Tensor张量 Tensor张量是PyTorch中用于表示多维数据的主要数据结构类似于多维数组可以存储和操作数字数据。
1. 维度Dimensions Tensor张量的维度Dimensions是指张量的轴数或阶数。在PyTorch中可以使用size()方法获取张量的维度信息使用dim()方法获取张量的轴数。 2. 数据类型Data Types PyTorch中的张量可以具有不同的数据类型
torch.float32或torch.float32位浮点数张量。torch.float64或torch.double64位浮点数张量。torch.float16或torch.half16位浮点数张量。torch.int88位整数张量。torch.int16或torch.short16位整数张量。torch.int32或torch.int32位整数张量。torch.int64或torch.long64位整数张量。torch.bool布尔张量存储True或False。
【深度学习】Pytorch 系列教程一PyTorch数据结构1、Tensor张量及其维度Dimensions、数据类型Data Types
3. GPU加速GPU Acceleration GPU图形处理器是一种强大的硬件设备可以并行处理大量数据加速深度学习任务的执行。在PyTorch中可以使用GPU加速来进行张量计算。
查看可用gpu
import torch# 检测系统中是否有可用的GPU
if torch.cuda.is_available():# 输出可用的GPU设备数量print(fGPU可用可用的GPU设备数量{torch.cuda.device_count()})# 输出每个可用GPU设备的名称for i in range(torch.cuda.device_count()):print(fGPU设备 {i}: {torch.cuda.get_device_name(i)})
else:print(GPU不可用)张量移动 要在GPU上执行张量计算首先需要确保系统具有兼容的GPU并安装了相应的GPU驱动程序和CUDACompute Unified Device Architecture工具包详见实验环境部分。接下来使用以下步骤将张量移动到GPU上
import torch# 检查GPU是否可用
if torch.cuda.is_available():# 创建一个张量并将其移动到GPU上tensor torch.tensor([1, 2, 3])tensor tensor.to(cuda)print(tensor)# 进行张量计算result tensor * 2print(result)# 将张量移回CPUresult result.to(cpu)print(result)
else:print(GPU不可用) 经典语句device
device torch.device(cuda if torch.cuda.is_available() else cpu)import torchdevice torch.device(cuda if torch.cuda.is_available() else cpu)x torch.tensor([1, 2, 3]).to(device)
result x * 2
print(result)