大模型 | 你知道的 PyTorch常见函数和类有哪些?

PyTorch 是一个流行的开源机器学习库,特别在深度学习领域中得到了广泛的应用。大模型通常指的是参数量很大的神经网络模型,而 PyTorch 提供了丰富的函数和类来构建和训练这些模型。以下是一些在 PyTorch 中常见的函数和类:

张量操作:

  • torch.tensor: 创建一个新张量。
  • torch.randn, torch.zeros, torch.ones: 创建具有特定形状和值的张量。
  • torch.cat: 连接多个张量。
  • torch.stack: 将多个张量堆叠成一个新的维度。
  • torch.reshape: 改变张量的形状。

自动求导:

  • torch.autograd.Variable: 包装张量,使其能够进行梯度计算(在 PyTorch 1.8 中已弃用,推荐使用 torch.Tensor)。
  • .backward(): 计算梯度。

神经网络层:

  • torch.nn.Linear: 线性层。
  • torch.nn.Conv2d: 二维卷积层。
  • torch.nn.BatchNorm2d: 批量归一化层。
  • torch.nn.ReLU, torch.nn.Sigmoid, torch.nn.Tanh: 激活函数。

损失函数:

  • torch.nn.MSELoss: 均方误差损失。
  • torch.nn.CrossEntropyLoss: 交叉熵损失,常用于分类问题。

优化器:

  • torch.optim.Adam: Adam 优化器。
  • torch.optim.SGD: 随机梯度下降优化器。

模型保存和加载:

  • torch.save: 保存模型或张量到文件。
  • torch.load: 从文件加载模型或张量。

数据加载:

  • torch.utils.data.Dataset: 数据集基类。
  • torch.utils.data.DataLoader: 数据加载器,支持批量加载、打乱数据等。

分布式训练:

  • torch.nn.parallel.DistributedDataParallel: 分布式数据并行训练。

数学函数:

  • torch.add, torch.sub, torch.mul, torch.div: 基本的数学运算。
  • torch.exp, torch.log, torch.sqrt: 指数、对数和平方根函数。

随机数生成:

  • torch.manual_seed: 设置随机数种子。
  • torch.rand, torch.randint: 生成随机数。

张量操作扩展

  • torch.matmul: 矩阵乘法。
  • torch.sum, torch.mean, torch.max, torch.min: 张量的求和、平均、最大值和最小值。
  • torch.argmax, torch.argmin: 返回张量中最大或最小元素的索引。
  • torch.expand: 扩展张量的形状,而不实际复制数据。
  • torch.clamp: 将张量的值限制在指定的范围内。

神经网络层扩展

  • torch.nn.MaxPool2d, torch.nn.AvgPool2d: 最大池化和平均池化层。
  • torch.nn.Dropout: 防止过拟合的dropout层。
  • torch.nn.Embedding: 嵌入层,用于将稀疏的离散数据转换为密集的嵌入向量。
  • torch.nn.LSTM, torch.nn.GRU: 长短期记忆网络和门控循环单元,用于处理序列数据。
  • torch.nn.AdaptiveMaxPool2d, torch.nn.AdaptiveAvgPool2d: 自适应池化层,可以输出固定大小的特征图。

正则化和约束

  • torch.nn.BatchNorm1d, torch.nn.BatchNorm3d: 一维和三维批量归一化。
  • torch.nn.ReLU6: 限制输出在 [0, 6] 范围内的ReLU激活函数。
  • torch.nn.Softmax, torch.nn.LogSoftmax: Softmax激活函数及其对数形式。

优化器扩展

  • torch.optim.Adagrad: Adagrad 优化器。
  • torch.optim.Adadelta: Adadelta 优化器。
  • torch.optim.RMSprop: RMSprop 优化器。

学习率调度器

  • torch.optim.lr_scheduler.StepLR: 学习率按步长衰减。
  • torch.optim.lr_scheduler.ExponentialLR: 学习率指数衰减。
  • torch.optim.lr_scheduler.ReduceLROnPlateau: 当验证集性能不再提升时,降低学习率。

模型评估

  • torch.nn.functional.cross_entropy: 计算交叉熵损失。
  • torch.nn.functional.softmax: 计算Softmax函数。
  • torch.nn.functional.log_softmax: 计算对数Softmax函数。

可视化工具

  • torchvision.utils.make_grid: 将多个张量组合成一张图片,便于可视化。
  • torchvision.utils.save_image: 保存图像张量。

并行和分布式计算

  • torch.cuda.is_available: 检查 CUDA 是否可用。
  • torch.cuda.device: 将张量移动到指定的 CUDA 设备。
  • torch.distributed.init_process_group: 初始化分布式训练环境。

免费分享:全套的AI大模型学习资源,包括 2024最新版全套大模型学习路线图,学习文档、书籍、学习视频教程、面试题等!带大家快速高效的从基础到高级! 有需要的小伙伴可以点击下方链接哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值