tf.Variable

概述

创建一个变量的张量

官方api:
https://www.tensorflow.org/api_docs/python/tf/Variable

语法

tf.Variable(
    initial_value=None,
    trainable=None,
    validate_shape=True,
    caching_device=None,
    name=None,
    variable_def=None,
    dtype=None,
    import_scope=None,
    constraint=None,
    synchronization=tf.VariableSynchronization.AUTO,
    aggregation=tf.compat.v1.VariableAggregation.NONE,
    shape=None
)
参数
  • initial_value:初始值
  • validate_shape:如果为False,则允许使用未知形状的值初始化变量。如果为True,则为默认值,initial_value必须知道的形状 。
  • name:变量的可选名称。默认为,’Variable’并自动唯一化。
  • dtype:如果设置,则initial_value将转换为给定类型。如果为 None,则将保留数据类型(如果initial_value为张量)
  • shape:(可选)此变量的形状。如果为None,initial_value将使用的形状 。当将此参数设置为 tf.TensorShape(None)(表示未指定的形状)时,可以为变量分配不同形状的值。
返回值
  • Tensor

例子

a = tf.Variable("python",dtype=tf.string)
print(a)
print(a.shape)
print(a.dtype)
print(a.numpy())

数字

a = tf.Variable(9527, dtype=tf.int32)
print(a)
print(a.shape)
print(a.dtype)
print(a.numpy())

常用方法

修改值

assign(
    value,
    use_locking=False,
    name=None,
    read_value=True
)
参数:
  • value:A Tensor。此变量的新值。
  • use_locking:如果为True,则在分配期间使用锁定。
  • name:要创建的操作的名称
  • read_value:如果为True,将返回计算结果为变量新值的值;如果为False,则返回分配操作。
返回:

Tensor

例子
import tensorflow as tf

a=tf.Variable(3)
print(a)
a.assign(2)
print(a)

注意: 不要给a重新赋值,将改变a的内存地址


原文出处:/show_1EF4ZcqPG0Aq.html