.. _cn_api_fluid_layers_Print: Print ------------------------------- .. py:function:: paddle.fluid.layers.Print(input, first_n=-1, message=None, summarize=-1, print_tensor_name=True, print_tensor_type=True, print_tensor_shape=True, print_tensor_lod=True, print_phase='both') **Print操作命令** 该OP创建一个打印操作,打印正在访问的Tensor。 封装传入的Tensor,以便无论何时访问Tensor,都会打印信息message和Tensor的当前值。 参数: - **input** (Variable)-将要打印的Tensor - **summarize** (int)-打印Tensor中的元素数目,如果值为-1则打印所有元素 - **message** (str)-字符串类型消息,作为前缀打印 - **first_n** (int)-只记录first_n次数 - **print_tensor_name** (bool)-指明是否打印Tensor名称,默认为True - **print_tensor_type** (bool)-指明是否打印Tensor类型,默认为True - **print_tensor_shape** (bool)-指明是否打印Tensor维度信息,默认为True - **print_tensor_lod** (bool)-指明是否打印Tensor的lod信息,默认为True - **print_phase** (str)-指明打印的阶段,包括 ``forward`` , ``backward`` 和 ``both`` ,默认为 ``both`` 。若设置为 ``backward`` 或者 ``both`` ,则打印输入Tensor的梯度。 返回:输出Tensor 返回类型:Variable .. note:: 输入和输出是两个不同的变量,在接下来的过程中,你应该使用输出变量而非输入变量,否则打印层将失去backward的信息。 **代码示例**: .. code-block:: python import paddle.fluid as fluid input = fluid.layers.fill_constant(shape=[10,2], value=3, dtype='int64') input = fluid.layers.Print(input, message="The content of input layer:") main_program = fluid.default_main_program() exe = fluid.Executor(fluid.CPUPlace()) exe.run(main_program) **运行输出**: .. code-block:: bash 1564546375 输出层内容: place:CPUPlace Tensor[fill_constant_0.tmp_0] shape: [10,2,] dtype: x data: 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, # 不同的环境中运行时信息的类型可能不相同. # 比如: # 如果Tensor y dtype='int64', 相应的 c++ 类型为 int64_t. # 在 MacOS 和 gcc4.8.2的环境中输出的dtype为 "x" ("x" is typeid(int64_t).name()) 。