PyTorch面试精华


1 PyTorch全局设置

    1.1  全局设置当前设备

    1.2  全局设置浮点精度

    1.3  设置控制台输出格式

2 向量与梯度之核心

    2.1  Tensor的组成与存储

    2.2  Tensor的grad属性

    2.3  Tensor内存布局的调整

    2.4  Tensor的叠加

    2.5  禁用梯度计算

    2.6  向量的保存和加载

    2.7  梯度消失与梯度爆炸

3 神经网络基础

    3.1  线性网络的参数以及初始化

    3.2  PyTorch计算图

    3.3  查看网络权重参数

    3.4  保存模型

    3.5  Adam相关面试题

    3.6  ReLu与非线性的理解

    3.7  Train模式和Eval模式

    3.8  线性网络

    3.9  双线性网络

    3.10  惰性线性层

    3.11  参数向量

    3.12  叶子节点

    3.13  自动求导与链式求导

    3.14  Dropout机制

    3.15  detach原理

    3.16  半精度训练

    3.17  Xavier初始化

    3.18  通道的深刻理解

    3.19  1x1卷积的作用

    3.20  注意力机制

    3.21  requires_grad属性

    3.22  向量的device

    3.23  tensor与numpy互换

    3.24  DataParallel用法详解

    3.25  to(device)和.cuda()的区别

    3.26  Dataset数据处理

    3.27  StepLR学习率调度器

    3.28  词嵌入的理解

    3.29  特征提取和可视化

    3.30  TensorDataset的使用

参数向量

创建时间:2024-09-06 | 更新时间:2024-09-09 | 阅读次数:1029 次

1、 Parameter

Parameter是Tensor子类,当与Module一起使用时,它们具有非常特殊的属性——当它们被分配为Module属性时,它们会自动添加到其参数列表中,并将出现在例如Parameters()迭代器中。分配张量没有这样的效果。这是因为人们可能想在模型中缓存一些临时状态,比如RNN的最后一个隐藏状态。

torch.nn.parameter.Parameter(data=None, requires_grad=True)

参数说明:

  • data (Tensor) :– parameter tensor.

  • requires_grad (bool, optional):如果参数需要梯度。请注意,torch.nograd()上下文不会影响参数创建的默认行为——在no_grad模式下,参数仍将具有requires_grad=True。有关更多详细信息,请参阅本地禁用梯度计算。默认值:True

2、UninitializedParameter

1、UninitializedParameter 简介

UninitializedParameter意为:未初始化的参数。

UninitializedParameter是torch.nn.Parameter的一种特殊情况,其中数据的形状是未知的。

与torch.nn.Parameter不同,UninitializedParameter不包含任何数据,尝试访问某些属性(如它们的形状)将抛出运行时错误。可以对未初始化的参数执行的唯一操作是更改其数据类型、将其移动到不同的设备以及将其转换为常规的torch.nn.Parameter。

在构建过程中,可以使用device="CUDA"等设置参数具体化时使用的默认设备或dtype类型,代码如下所示:

torch.nn.parameter.UninitializedParameter(requires_grad=True, device=None, dtype=None)

2、UninitializedParameter 使用介绍

UninitializedParameter多用于lazy模块

本教程共40节,当前为第21节!