2.4. 查阅文档

受篇幅所限,本书无法对所有用到的MXNet函数和类一一详细介绍。读者可以查阅相关文档来做更深入的了解。

2.4.1. 查找模块里的所有函数和类

当我们想知道一个模块里面提供了哪些可以调用的函数和类的时候,可以使用dir函数。下面我们打印nd.random模块中所有的成员或属性。

  1. In [1]:
  1. from mxnet import nd
  2.  
  3. print(dir(nd.random))
  1. ['NDArray', '_Null', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_internal', '_random_helper', 'current_context', 'exponential', 'exponential_like', 'gamma', 'gamma_like', 'generalized_negative_binomial', 'generalized_negative_binomial_like', 'multinomial', 'negative_binomial', 'negative_binomial_like', 'normal', 'normal_like', 'numeric_types', 'poisson', 'poisson_like', 'randint', 'randn', 'shuffle', 'uniform', 'uniform_like']

通常我们可以忽略掉由_开头和结尾的函数(Python的特别对象)或者由开头的函数(一般为内部函数)。通过其余成员的名字我们大致猜测出这个模块提供了各种随机数的生成方法,包括从均匀分布采样(uniform)、从正态分布采样(normal)、从泊松分布采样(poisson)等。

2.4.2. 查找特定函数和类的使用

想了解某个函数或者类的具体用法时,可以使用help函数。让我们以NDArray中的ones_like函数为例,查阅它的用法。

  1. In [2]:
  1. help(nd.ones_like)
  1. Help on function ones_like:
  2.  
  3. ones_like(data=None, out=None, name=None, **kwargs)
  4. Return an array of ones with the same shape and type
  5. as the input array.
  6.  
  7. Examples::
  8.  
  9. x = [[ 0., 0., 0.],
  10. [ 0., 0., 0.]]
  11.  
  12. ones_like(x) = [[ 1., 1., 1.],
  13. [ 1., 1., 1.]]
  14.  
  15.  
  16.  
  17. Parameters
  18. ----------
  19. data : NDArray
  20. The input
  21.  
  22. out : NDArray, optional
  23. The output NDArray to hold the result.
  24.  
  25. Returns
  26. -------
  27. out : NDArray or list of NDArrays
  28. The output of this function.
  29.  

从文档信息我们了解到,ones_like函数会创建和输入NDArray形状相同且元素为1的新NDArray。我们可以验证一下:

  1. In [3]:
  1. x = nd.array([[0, 0, 0], [2, 2, 2]])
  2. y = x.ones_like()
  3. y
  1. Out[3]:
  1. [[1. 1. 1.]
  2. [1. 1. 1.]]
  3. <NDArray 2x3 @cpu(0)>

在Jupyter记事本里,我们可以使用?来将文档显示在另外一个窗口中。例如,使用nd.random.uniform?将得到与help(nd.random.uniform)几乎一样的内容,但会显示在额外窗口里。此外,如果使用nd.random.uniform??,那么会额外显示该函数实现的代码。

2.4.3. 在MXNet网站上查阅

读者也可以在MXNet的网站上查阅相关文档。访问MXNet网站http://mxnet.apache.org/(如图2.1所示),点击网页顶部的下拉菜单“API”可查阅各个前端语言的接口。此外,也可以在网页右上方含“Search”字样的搜索框中直接搜索函数或类名称。

MXNet官方网站 图 2.1 MXNet官方网站

图2.2展示了MXNet网站上有关ones_like函数的文档。

MXNet网站上有关\ ``ones_like``\ 函数的文档 图 2.2 MXNet网站上有关ones_like函数的文档

2.4.4. 小结

  • 遇到不熟悉的MXNet API时,可以主动查阅它的相关文档。
  • 查阅MXNet文档可以使用dirhelp函数,或访问MXNet官方网站。

2.4.5. 练习

  • 查阅NDArray支持的其他操作。