TensorFlowの日本語まとめ

TensorFlowの公式サイトに書かれている英文を英語ど素人が翻訳(日本語訳/和訳)します。 間違いがありましたら、優しく教えていただけますと幸いです。 内容を理解したら、使ってみたい。

4.OPドキュメンテーションスタイルガイド~Ops defined in C++ & Ops defined in Python

Ops defined in C++

C++で定義されているすべてのOPSはREGISTER_OP宣言の一部として文書化されなければなりません。C++ファイル内のdocstringが自動的に入力形式、出力形式、およびはAttrタイプとデフォルト値については、いくつかの情報を追加するために処理されます。

f:id:TensorFlow:20151226223249j:plain

 

スポンサーリンク

 

例えば、:

REGISTER_OP("PngDecode")
    .Input("contents: string")
    .Attr("channels: int = 0")
    .Output("image: uint8")
    .Doc(R"doc(
Decodes the contents of a PNG file into a uint8 tensor.

contents: PNG file contents.
channels: Number of color channels, or 0 to autodetect based on the input.
  Must be 0 for autodetect, 1 for grayscale, 3 for RGB, or 4 for RGBA.
  If the input has a different number of channels, it will be transformed
  accordingly.
image:= A 3-D uint8 tensor of shape `[height, width, channels]`.
  If `channels` is 0, the last dimension is determined
  from the png contents.
)doc");

 

Markdown記法のこの作品での結果:

### tf.image.png_decode(contents, channels=None, name=None) {#png_decode}

Decodes the contents of a PNG file into a uint8 tensor.

#### Args:

*  <b>contents</b>: A string Tensor. PNG file contents.
*  <b>channels</b>: An optional int. Defaults to 0.
    Number of color channels, or 0 to autodetect based on the input.
    Must be 0 for autodetect, 1 for grayscale, 3 for RGB, or 4 for RGBA.  If the
    input has a different number of channels, it will be transformed accordingly.
*  <b>name</b>: A name for the operation (optional).

#### Returns:

  A 3-D uint8 tensor of shape `[height, width, channels]`.
  If `channels` is 0, the last dimension is determined
  from the png contents.

引数の説明の多くは、自動的に追加されます。具体的にはドキュメントジェネレータは自動的に名前とすべての入力attrsに出力種類追加します上記の例では<b>contents</b>: A string Tensor.は自動的に追加されました。あなたは、その説明の後に自然に流れるようにあなたの追加テキストを記述する必要があります。

 

入力と出力の場合あなたは自動的に追加された名前と型を防止するために、等号を使用して追加のテキストを前に付けることができます上記の例では、出力という名前のイメージの説明は、私達のテキストの A 3-D uint8 Tensor...の前にA uint8 Tensor.の追加を防ぐために=で始まります。あなたはATTRS名前、タイプおよびデフォルトこの方法の追加を防ぐため、慎重にあなたのテキストを書き込むことができません

 

Ops defined in Python

 あなたのOPは、python/ops/*.pyファイルで定義されている場合は、テンソルを(returned)引数と出力のすべてのテキスト提供する必要があります。あなたはdocstringにMarkdownを使用する必要があることを除いて、通常のPythonのdocstringの規則に準拠する必要があります。ドキュメントジェネレータは、Pythonで定義されているOPSのための任意のテキストを自動生成しません。だから、あなたが書くことはあなたが得るものです。

 

ここでは簡単な例です:

 

def foo(x, y, name="bar"):
  """Computes foo.

  Given two 1-D tensors `x` and `y`, this operation computes the foo.

  For example:

  ```
  # x is [1, 1]
  # y is [2, 2]
  tf.foo(x, y) ==> [3, 3]
  ```

  Args:
    x: A `Tensor` of type `int32`.
    y: A `Tensor` of type `int32`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `int32` that is the foo of `x` and `y`.

  Raises:
    ValueError: If `x` or `y` are not of type `int32`.
  """

  ...

 

(原文)

Writing TensorFlow Documentation