由于本书篇幅的限制,我们不可能介绍每一个 PyTorch 函数和类(你可能不希望我们这样做)。API 文档和其他教程和示例提供了本书之外的大量文档。在本节中,我们为您提供一些探索 PyTorch API 的指导。

2.7.1 查找模块中的所有函数和类

为了知道可以在模块中调用哪些函数和类,我们调用该dir函数。例如,我们可以查询模块中的所有属性以生成随机数:

import torchprint(dir(torch.distributions))
['AbsTransform', 'AffineTransform', 'Bernoulli', 'Beta', 'Binomial', 'CatTransform', 'Categorical', 'Cauchy', 'Chi2', 'ComposeTransform', 'ContinuousBernoulli', 'CorrCholeskyTransform', 'Dirichlet', 'Distribution', 'ExpTransform', 'Exponential', 'ExponentialFamily', 'FisherSnedecor', 'Gamma', 'Geometric', 'Gumbel', 'HalfCauchy', 'HalfNormal', 'Independent', 'IndependentTransform', 'Kumaraswamy', 'LKJCholesky', 'Laplace', 'LogNormal', 'LogisticNormal', 'LowRankMultivariateNormal', 'LowerCholeskyTransform', 'MixtureSameFamily', 'Multinomial', 'MultivariateNormal', 'NegativeBinomial', 'Normal', 'OneHotCategorical', 'OneHotCategoricalStraightThrough', 'Pareto', 'Poisson', 'PowerTransform', 'RelaxedBernoulli', 'RelaxedOneHotCategorical', 'ReshapeTransform', 'SigmoidTransform', 'SoftmaxTransform', 'StackTransform', 'StickBreakingTransform', 'StudentT', 'TanhTransform', 'Transform', 'TransformedDistribution', 'Uniform', 'VonMises', 'Weibull', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'bernoulli', 'beta', 'biject_to', 'binomial', 'categorical', 'cauchy', 'chi2', 'constraint_registry', 'constraints', 'continuous_bernoulli', 'dirichlet', 'distribution', 'exp_family', 'exponential', 'fishersnedecor', 'gamma', 'geometric', 'gumbel', 'half_cauchy', 'half_normal', 'identity_transform', 'independent', 'kl', 'kl_divergence', 'kumaraswamy', 'laplace', 'lkj_cholesky', 'log_normal', 'logistic_normal', 'lowrank_multivariate_normal', 'mixture_same_family', 'multinomial', 'multivariate_normal', 'negative_binomial', 'normal', 'one_hot_categorical', 'pareto', 'poisson', 'register_kl', 'relaxed_bernoulli', 'relaxed_categorical', 'studentT', 'transform_to', 'transformed_distribution', 'transforms', 'uniform', 'utils', 'von_mises', 'weibull']

通常,我们可以忽略以单个开头和结尾的函数__ (Python 中的特殊对象)或以单个开头的 _函数(通常是内部函数)。根据剩余的函数或属性名称,我们可能会猜测该模块提供了各种生成随机数的方法,包括从均匀分布 ( uniform)、正态分布 ( normal) 和多项分布 ( multinomial) 中抽样。

2.7.2. 查找特定函数和类的用法

有关如何使用给定函数或类的更具体说明,我们可以调用该help函数。作为一个例子,让我们探索一下张量ones函数的使用说明。

help(torch.ones)
Help on built-in function ones:ones(...)ones(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) -> TensorReturns a tensor filled with the scalar value `1`, with the shape definedby the variable argument :attr:`size`.Args:size (int...): a sequence of integers defining the shape of the output tensor.Can be a variable number of arguments or a collection like a list or tuple.Keyword arguments:out (Tensor, optional): the output tensor.dtype (:class:`torch.dtype`, optional): the desired data type of returned tensor.Default: if ``None``, uses a global default (see :func:`torch.set_default_tensor_type`).layout (:class:`torch.layout`, optional): the desired layout of returned Tensor.Default: ``torch.strided``.device (:class:`torch.device`, optional): the desired device of returned tensor.Default: if ``None``, uses the current device for the default tensor type(see :func:`torch.set_default_tensor_type`). :attr:`device` will be the CPUfor CPU tensor types and the current CUDA device for CUDA tensor types.requires_grad (bool, optional): If autograd should record operations on thereturned tensor. Default: ``False``.Example::>>> torch.ones(2, 3)tensor([[ 1.,  1.,  1.],[ 1.,  1.,  1.]])>>> torch.ones(5)tensor([ 1.,  1.,  1.,  1.,  1.])

从文档中,我们可以看到该ones函数创建了一个具有指定形状的新张量,并将所有元素的值设置为 1。只要有可能,您应该运行快速测试以确认您的解释:

torch.ones(5)
tensor([ 1.,  1.,  1.,  1.,  1.])

在 Jupyter notebook 中,我们可以使用?在另一个窗口中显示文档。例如,list?将创建与 几乎相同的内容,并将help(list)其显示在新的浏览器窗口中。另外,如果我们使用两个问号,比如list??,实现该功能的 Python 代码也会显示出来。

2.7.3. 概括

官方文档提供了大量本书之外的描述和示例。

我们可以通过调用 dirandhelp函数或?在??Jupyter 笔记本中查找 API 使用的文档。

2.7.4. 练习

在深度学习框架中查找任何函数或类的文档。你也可以在框架的官方网站上找到文档吗?

参考

https://d2l.ai/chapter_preliminaries/lookup-api.html

翻译: 2.7. 如何利用帮助文档 深入神经网络 pytorch相关推荐

  1. 利用DOCX文档远程模板注入执行宏代码

    利用DOCX文档远程模板注入执行宏代码 简介 本地文件中在没有宏代码的情况下,攻击者可以尝试执行远程文件中宏代码.其中来自APT28的最新样本将此技术展现的淋漓尽致.该样本是docx文件,文件内没有任 ...

  2. 鱼叉钓鱼:利用 Office 文档进行 DDE 攻击

    鱼叉钓鱼:利用 Office 文档进行 DDE 攻击 DDE DDE 是一个自定义字段,用户可插入文档.这些字段允许用户输入简单的说明,包括插入到新文档中的数据及插入位置.攻击者可以创建包含DDE字段 ...

  3. mtk 多国语言翻译工具_多国语言文档工具

    mtk 多国语言翻译工具 With the excellent article by David Hecker on documentation running on SitePoint, it se ...

  4. SiMayRAT:利用云文档HTTPS加密传输的远控家族

    近期,我们观察到SiMayRAT家族[l2] 在2022年4月有所活动SiMAyRAT是一个远控家族,攻击者通过邮件鱼叉钓鱼方式将病毒植入到受害者后,病毒通过从云端下载第二阶段的控制代码执行,从而达到 ...

  5. qt xml组包_Qt 利用XML文档,写一个程序集合 二

    XML文档的读写 一个根节点,下面每一个子节点代表一个子程序,内容为子程序名字,图标路径,exe路径 /* * 读取XML配置文档 */ static int count_flag = 0; void ...

  6. 如何利用石墨文档进行团队协作

    目录 开始使用石墨文档 团队协作 创建团队空间并邀请协作伙伴加入 协作编辑 创建文档 批注 开始使用石墨文档 打开石墨文档官网 点击右上角"进入石墨" 根据提示注册石墨文档账号 团 ...

  7. 利用交叉文档的attention信息来促进关键词生成

    题目: Keyphrase Generation with Cross-Document Attention 网址: https://arxiv.org/pdf/2004.09800.pdf 代码地址 ...

  8. 如何将PDF文档进行翻译?PDF文档翻译简单方法介绍

    如今PDF格式的文档运用的十分广泛,有时候由于工作的需要,要求我们将一篇PDF中文文档翻译成英文,这简直是让人崩溃啊,更何况是PDF格式的文件又不像word一样可以直接复制粘贴进浏览器中翻译,所以很多 ...

  9. 怎样将PDF文档进行翻译?PDF文档翻译简单方法介绍

    如今PDF格式的文档运用的十分广泛,有时候由于工作的需要,要求我们将一篇PDF中文文档翻译成英文,这简直是让人崩溃啊,更何况是PDF格式的文件又不像word一样可以直接复制粘贴进浏览器中翻译,所以很多 ...

最新文章

  1. 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...
  2. 【转】Android真机抓屏- Android Screen Monitor
  3. Winform中设置ZedGraph当前所有曲线的颜色
  4. iOS 之 二维码生成与扫描(LBXScan)
  5. 神经信息学整理(1)-神经细胞,MP模型
  6. sqlcipher java_纯java环境下sqlsqlcipher解密sqlite数据库文件
  7. 使用autoit实现自动加域
  8. python基础知识7——迭代器,生成器,装饰器
  9. C基础——文本格式和二进制格式的区别
  10. cmd后台运行exe_了解运行命令的原理,为QQ制作运行命令启动
  11. python图表制作方法_python图表制作
  12. android 动态库符号表,Android NDK隐藏jni动态库的内部符号表
  13. 斯蒂夫·乔布斯《你必须要找到你所爱的东西》
  14. 【WebIDE】 code-server 使用 vscode 原生插件市场地址
  15. ASP.NET Core开发-后台任务利器Hangfire使用
  16. WK2124下linux驱动分析与移植
  17. Android、APP、APK 、华为报感染病毒 a.gray.Bulimia.a 已解决 (精)
  18. 开源 LighterWebGameEngine框架.外带用框架制作的 网游五彩连珠.
  19. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于远程协作的汽车故障诊断系统t6ipg
  20. 文盲确定为不能用计算机,最初人们把文盲定义为 “不识字的人”;后来又把文盲确定为“看不懂现代信息符号、图表的人”;而现在联合国把文盲确定为“不能用计算机交流的人”。从哲学上看,这表明...

热门文章

  1. Java Swing教程(基础)
  2. 「万达董事会大换血」背后 | 一点财经
  3. 敏捷成熟度评估模型-AMM评估管理实践与技术实践
  4. 云计算、云服务器、云数据库和云存储基本介绍
  5. JS计算今天在本月第几周
  6. 在工业生产安全管理中,人员定位系统能做什么?
  7. 一个web前端专科生面试后的感概
  8. 瑞芯微rk2818(android系统2.1),从Android 2.1开始 瑞芯微RK2818要火
  9. Hololens2开发-3-打包编译安装Hololens应用
  10. MySQL 主从同步延迟的原因及解决办法