to_variable

注意:该API仅支持【动态图】模式

  • paddle.fluid.dygraph.to_variable(value, name=None, zero_copy=None)[源代码]

该函数实现从numpy.ndarray对象或者Variable对象创建一个 Variable 类型的对象。

  • 参数:
    • value (ndarray|Variable) – 需要转换的numpy.ndarray或Variable对象,维度可以为多维,数据类型为numpy.{float16, float32, float64, int16, int32, int64, uint8, uint16}中的一种。
    • name (str, 可选) – 具体用法请参见 Name ,一般无需设置,默认值为None。
    • zero_copy (bool, 可选) – 是否与输入的numpy数组共享内存。此参数仅适用于CPUPlace,当它为None时将设置为True。默认值为None。

返回:如果 value 是numpy.ndarray对象,返回由numpy.ndarray对象创建的 Tensor ,其数据类型和维度与 value 一致;如果 value 是Variable对象,返回 value

返回类型:Variable

代码示例:

  1. import numpy as np
  2. import paddle.fluid as fluid
  3.  
  4. with fluid.dygraph.guard(fluid.CPUPlace()):
  5. x = np.ones([2, 2], np.float32)
  6. y = fluid.dygraph.to_variable(x, zero_copy=False)
  7. x[0][0] = -1
  8. y[0][0].numpy() # array([1.], dtype=float32)
  9. y = fluid.dygraph.to_variable(x)
  10. x[0][0] = 0
  11. y[0][0].numpy() # array([0.], dtype=float32)