如何在Tensorflow和numpydoc中使用intersphinx?

如何在Tensorflow和numpydoc中使用intersphinx?

问题描述:

这里的主要问题是在哪里(如果)TensorFlow有一个objects.inv,但是如何实际使用它的例子会很好。如何在Tensorflow和numpydoc中使用intersphinx?

例如,我现在有以下文档字符串:

""" 
Load the weights of a model stored in saver. 

Parameters 
---------- 
checkpoint_dir : str 
    The directory of checkpoints. 
sess : tf.Session 
    A Session to use to restore the parameters. 
saver : tf.train.Saver 
""" 

如何使用intershinx自动将对象链接到TensorFlow文档?

+0

我不认为你可以这样做。 TensorFlow文档是用Markdown编写的,Sphinx根本不参与。 – mzjn

mzjn is right - 如果文档不是狮身人面像生成的,将不会有objects.inv文件找到。

但是,您可以创建自己的objects.inv以使用Tensorflow。我刚刚发布了一个Python包,让我做这件事,连同how-to instructions。简而言之:

  1. 创建一个新的文本文件。

  2. 添加狮身人面像头:

    # Sphinx inventory version 2
    # Project: <project name>
    # Version: <full version number>
    # The remainder of this file is compressed using zlib.

  3. 添加一个数据线的每个对象要包含在库存

    {name} {domain}:{role} {priority} {relative uri} {displayname}

{name}通常是完全限定的对象名称。你可以create your own Sphinx domain,但是如果碰撞的可能性很小,你可以使用python作为{domain}和合适的Python {role}function,method等)。 {priority}几乎总是1{relative uri}与您将在conf.pyintersphinx_mapping参数中包含的基本URI相关。 {displayname}通常也是完全限定的对象名称。

  1. 使用sphobjinv将文件编码为objects.inv

  2. 上传到一个方便,无障碍的位置。

  3. 配置intersphinx:

    intersphinx_mapping = {'tensorflow' = ('uri/to/tensorflow/docs/base', 'uri/to/objects.inv')}

应该这样做。劳动强度很大,不得不自己复合文件,但如果只是在需要时添加它们,它应该不会太坏。