From 15f1674781b37135ced32baf6f103883d8f68135 Mon Sep 17 00:00:00 2001 From: Aurelius84 Date: Fri, 28 Aug 2020 12:13:24 +0800 Subject: [PATCH] Add InputSpec zh and en doc (#2488) * add InputSpec zh doc * fix sample code * modify declarative into to_static * sync with 2.0 api --- doc/fluid/api/index_en.rst | 1 + doc/fluid/api/static.rst | 12 ++ doc/fluid/api/static/InputSpec.rst | 8 ++ doc/fluid/api/static/data.rst | 7 ++ doc/fluid/api_cn/api_tree_cn.rst | 1 + doc/fluid/api_cn/index_cn.rst | 2 +- doc/fluid/api_cn/static_cn.rst | 1 + doc/fluid/api_cn/static_cn/InputSpec_cn.rst | 126 ++++++++++++++++++++ 8 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 doc/fluid/api/static.rst create mode 100644 doc/fluid/api/static/InputSpec.rst create mode 100644 doc/fluid/api/static/data.rst create mode 100644 doc/fluid/api_cn/static_cn/InputSpec_cn.rst diff --git a/doc/fluid/api/index_en.rst b/doc/fluid/api/index_en.rst index f36071538..f344d4478 100644 --- a/doc/fluid/api/index_en.rst +++ b/doc/fluid/api/index_en.rst @@ -14,6 +14,7 @@ API Reference metric.rst nn.rst optimizer.rst + static.rst tensor.rst fluid.rst backward.rst diff --git a/doc/fluid/api/static.rst b/doc/fluid/api/static.rst new file mode 100644 index 000000000..fe60795ac --- /dev/null +++ b/doc/fluid/api/static.rst @@ -0,0 +1,12 @@ +======================= +paddle.static +======================= + + + + +.. toctree:: + :maxdepth: 1 + + static/data.rst + static/InputSpec.rst \ No newline at end of file diff --git a/doc/fluid/api/static/InputSpec.rst b/doc/fluid/api/static/InputSpec.rst new file mode 100644 index 000000000..89da356c9 --- /dev/null +++ b/doc/fluid/api/static/InputSpec.rst @@ -0,0 +1,8 @@ +.. _api_static_InputSpec: + +InputSpec +------------ + +.. autoclass:: paddle.static.InputSpec + :members: + :noindex: \ No newline at end of file diff --git a/doc/fluid/api/static/data.rst b/doc/fluid/api/static/data.rst new file mode 100644 index 000000000..5555d9314 --- /dev/null +++ b/doc/fluid/api/static/data.rst @@ -0,0 +1,7 @@ +.. _api_static_data: + +data +------------ + +.. autofunction:: paddle.static.data + :noindex: \ No newline at end of file diff --git a/doc/fluid/api_cn/api_tree_cn.rst b/doc/fluid/api_cn/api_tree_cn.rst index 44e357bfc..4625348ff 100644 --- a/doc/fluid/api_cn/api_tree_cn.rst +++ b/doc/fluid/api_cn/api_tree_cn.rst @@ -15,6 +15,7 @@ API接口 dataset_cn.rst distributed_cn.rst dygraph_cn.rst + static_cn.rst executor_cn.rst initializer_cn.rst io_cn.rst diff --git a/doc/fluid/api_cn/index_cn.rst b/doc/fluid/api_cn/index_cn.rst index aa4b8184b..f8e5363f4 100644 --- a/doc/fluid/api_cn/index_cn.rst +++ b/doc/fluid/api_cn/index_cn.rst @@ -102,6 +102,7 @@ Note。 imperative_cn.rst declarative_cn.rst optimizer_cn.rst + static_cn.rst metric_cn.rst framework_cn.rst io_cn.rst @@ -121,7 +122,6 @@ Note。 layers_cn.rst metrics_cn.rst nets_cn.rst - optimizer_cn.rst profiler_cn.rst regularizer_cn.rst transpiler_cn.rst diff --git a/doc/fluid/api_cn/static_cn.rst b/doc/fluid/api_cn/static_cn.rst index 7e747678b..8df002eb6 100644 --- a/doc/fluid/api_cn/static_cn.rst +++ b/doc/fluid/api_cn/static_cn.rst @@ -9,4 +9,5 @@ paddle.static :maxdepth: 1 static_cn/data_cn.rst + static_cn/InputSpec_cn.rst diff --git a/doc/fluid/api_cn/static_cn/InputSpec_cn.rst b/doc/fluid/api_cn/static_cn/InputSpec_cn.rst new file mode 100644 index 000000000..e431a1a11 --- /dev/null +++ b/doc/fluid/api_cn/static_cn/InputSpec_cn.rst @@ -0,0 +1,126 @@ +.. _cn_api_static_cn_InputSpec: + +InputSpec +------------------------------- + + +.. py:class:: paddle.static.InputSpec(shape=None, dtype='float32', name=None) +用于描述模型输入的签名信息,包括shape、dtype和name。 + +此接口常用于指定高层API中模型的输入张量信息,或动态图转静态图时,指定被 ``paddle.jit.to_static`` 装饰的forward函数每个输入参数的张量信息。 + +参数: + - **shape** (list|tuple)- 声明维度信息的list或tuple,默认值为None。 + - **dtype** (np.dtype|VarType|str,可选)- 数据类型,支持bool,float16,float32,float64,int8,int16,int32,int64,uint8。默认值为float32。 + - **name** (str)- 被创建对象的名字,具体用法请参见 :ref:`api_guide_Name` 。 + +返回:初始化后的 ``InputSpec`` 对象 + +返回类型:InputSpec + +**代码示例** + +.. code-block:: python + + from paddle.static import InputSpec + + input = InputSpec([None, 784], 'float32', 'x') + label = InputSpec([None, 1], 'int64', 'label') + print(input) # InputSpec(shape=(-1, 784), dtype=VarType.FP32, name=x) + print(label) # InputSpec(shape=(-1, 1), dtype=VarType.INT64, name=label) + + +.. py:method:: from_tensor(tensor, name=None) +该接口将根据输入Tensor的shape、dtype等信息构建InputSpec对象。 + +参数: + - **tensor** (Tensor) - 用于构建InputSpec的源Tensor + - **name** (str): 被创建对象的名字,具体用法请参见 :ref:`api_guide_Name` 。 默认为:None。 + + +返回:根据Tensor信息构造的 ``InputSpec`` 对象 + +返回类型:InputSpec + + +**代码示例** + +.. code-block:: python + + import numpy as np + import paddle + from paddle.static import InputSpec + + paddle.disable_static() + + x = paddle.to_tensor(np.ones([2, 2], np.float32)) + x_spec = InputSpec.from_tensor(x, name='x') + print(x_spec) # InputSpec(shape=(2, 2), dtype=VarType.FP32, name=x) + + +.. py:method:: from_numpy(ndarray, name=None) +该接口将根据输入numpy ndarray的shape、dtype等信息构建InputSpec对象。 + +参数: + - **ndarray** (Tensor) - 用于构建InputSpec的numpy ndarray + - **name** (str): 被创建对象的名字,具体用法请参见 :ref:`api_guide_Name` 。 默认为:None。 + + +返回:根据ndarray信息构造的 ``InputSpec`` 对象 + +返回类型:InputSpec + + +**代码示例** + +.. code-block:: python + + import numpy as np + from paddle.static import InputSpec + + x = np.ones([2, 2], np.float32) + x_spec = InputSpec.from_numpy(x, name='x') + print(x_spec) # InputSpec(shape=(2, 2), dtype=VarType.FP32, name=x) + + +.. py:method:: batch(batch_size) +该接口将batch_size插入到当前InputSpec对象的shape元组最前面。 + +参数: + - **batch_size** (int) - 被插入的batch size整型数值 + +返回: 更新shape信息后的 ``InputSpec`` 对象 + +返回类型:InputSpec + + +**代码示例** + +.. code-block:: python + + from paddle.static import InputSpec + + x_spec = InputSpec(shape=[64], dtype='float32', name='x') + x_spec.batch(4) + print(x_spec) # InputSpec(shape=(4, 64), dtype=VarType.FP32, name=x) + + +.. py:method:: unbatch() +该接口将当前InputSpec对象shape[0]值移除。 + + +返回: 更新shape信息后的 ``InputSpec`` 对象 + +返回类型:InputSpec + + +**代码示例** + +.. code-block:: python + + from paddle.static import InputSpec + + x_spec = InputSpec(shape=[4, 64], dtype='float32', name='x') + x_spec.unbatch() + print(x_spec) # InputSpec(shape=(64,), dtype=VarType.FP32, name=x) + -- GitLab