Variable

    注意:

    1. 请不要直接调用 Variable 的构造函数,因为这会造成严重的错误发生!

    2. 请使用 Block.create_var 创建一个静态的 Variable ,该静态的 Variable 在使用 执行前是没有实际数据的。

    在Paddle静态图模式中,OP的每个输入和输出都是 Variable 。多数情况下, 用于保存不同种类的数据或训练标签。

    Variable 总是属于某一个 。所有 Variable 都有其自己的 name ,不同 中的两个 Variable 可以具有相同的名称。如果使用的 不是 模式,那么同一个 Block 中的两个或更多 拥有相同 name 将意味着他们会共享相同的内容。通常我们使用这种方式来实现 参数共享

    Variable 有很多种。它们每种都有自己的属性和用法。请参考 以获得详细信息。 Variable 的大多数成员变量可以设置为 None。它的意思是它不可用或稍后指定。

    如果您希望创建一个 那么可以参考如下示例:

    示例代码:

    to_string ( throw_on_error, with_details=True )

    获取该 Variable 的静态描述字符串。

    参数:

    • with_details (bool) - 值为true时,打印更多关于 的信息,如 error_clip , stop_gradient 等。

    返回:用于静态描述该 Variable 的字符串。

    返回类型: str

    示例代码

    clone ( self )

    返回一个新的 , 其复制原 Variable 并且新的 Variable 也被保留在计算图中,即复制的新 Variable 也参与反向计算。调用 out = variable.clone()out = assign(variable) 效果一样。

    返回:复制的新 Variable

    返回类型: Variable

    示例代码

    astype ( self, dtype )

    将该 中的数据转换成目标 Dtype

    参数:

    • dtype (int | float | float64) - 希望转换成的 Dtype

    返回:一个全新的转换了 的 Variable

    返回类型:

    示例代码

    persistable

    Variable 是否是长期存活的 。

    name

    注意:静态图模式下,同一个 Block 中的两个或更多 拥有相同 name 将意味着他们会共享相同的内容。通常我们使用这种方式来实现参数共享。

    Variable 的名字(str)。

    shape

    注意:该属性是只读属性。

    此 的维度。

    dtype

    注意:该属性是只读属性。

    Variable 的实际数据类型。

    lod_level

    注意:该属性是只读属性。

    此 的 LoD 信息,关于 LoD 可以参考 api_fluid_LoDTensor 相关内容。

    Variable 的内存模型,例如是:api_fluid_LoDTensor, 或者SelectedRows。