• 【深度学习】Pytorch面试题:什么是 PyTorch?PyTorch 的基本要素是什么?Conv1d、Conv2d 和 Conv3d 有什么区别?


    Pytorch的面试问题

    参考:PyTorch 面试问题

    (1)什么是 PyTorch?

    PyTorch 是基于 Torch 库的计算机软件的一部分,它是 Python 的开源机器学习库。它是由 Facebook 人工智能研究小组开发的深度学习框架。它用于自然语言处理计算机视觉等应用。

    (2)PyTorch 的基本要素是什么?

    PyTorch 中有以下元素是必不可少的:

    • PyTorch 张量
    • PyTorch NumPy
    • 数学运算
    • Autograd 模块
    • 优化模块
    • nn 模块

    (3)什么是张量?

    张量在 PyTorch 的深度学习中发挥着重要作用。简单来说,我们可以说,这个框架完全是基于张量的。张量被视为广义矩阵。它可以是 1D 张量(矢量)、2D 张量(矩阵)、3D 张量(立方体)或 4D 张量(立方体矢量)。

    (4)什么是抽象级别?

    抽象分为三个层次,如下所示:

    1. **张量:**张量是在 GPU 上运行的命令式 n 维数组。
    2. **变量:**它是计算图中的一个节点。这存储数据和梯度。
    3. **模块:**神经网络层将存储状态,否则可学习的权重。

    (5)张量和矩阵是否相同?

    我们不能说张量和矩阵是一样的。张量有一些性质,我们可以说两者有一些相似之处,例如我们可以在张量中执行矩阵的所有数学运算。

    张量是存在于结构中并与其他数学实体相互作用的数学实体。如果我们以规则的方式变换结构中的其他实体,那么张量将遵循相关的变换规则。张量的这种动态特性使其与矩阵不同。

    (6)MSELoss、CTCLoss、BCELoss函数有什么用?

    MSE 代表 Mean Squared Error,它用于创建衡量输入 x 和目标 y 中每个元素之间的均方误差的标准。CTCLoss代表Connectionist Temporal Classification Loss,用于计算连续时间序列和目标序列之间的损失。BCELoss(Binary Cross Entropy) 用于创建衡量目标和输出之间的二元交叉熵的标准。

    (7)Conv1d、Conv2d 和 Conv3d 有什么区别?

    他们三个没有太大的区别。Conv1d 和 Conv2D 用于应用 1D 和 2D 卷积。Conv3D 用于在由多个输入平面组成的输入信号上应用 3D 卷积。

    (8)反向传播是什么?

    • 计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,根据梯度方向更新权值。

      • 将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;
      • 由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;

      • 在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。

  • 相关阅读:
    2023-亲测有效-git clone失败怎么办?用代理?加git?
    ORACLE数据库查询所有索引的sql语句
    倍福PLC通过程序获取系统时间、本地时间、当前时区以及系统时间时区转换
    (附源码)基于Springboot的球鞋调货管理系统设计与实现 毕业设计 160942
    Java Servlet生成html页面
    EDA实验------数控分频器设计(QuartusII)
    设计思维 | 详看设计工作坊Workshop的11个关键技巧
    C++socket基础进阶:Select与封装
    Colab使用教程(超级详细版)及Colab Pro/Pro+评测
    The Rise and Potential of Large Language Model Based Agents: A Survey
  • 原文地址:https://blog.csdn.net/weixin_43935696/article/details/127042962