概述
创建一个变量的张量
官方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的内存地址