TensorFlow中张量转置操作tf.transpose用法

一、环境

TensorFlow API r1.12

CUDA 9.2 V9.2.148

cudnn64_7.dll

Python 3.6.3

Windows 10

二、官方说明

将“value”幅值给“ref”,该方法使得需要重置新值的链式操作非常简便

tf.assign(
    ref,
    value,
    validate_shape=None,
    use_locking=None,
    name=None
)

输入:

(1)ref:可变的张量,一般通过tf.Variable()来定义,可以未被初始化

(2)value:赋值给“ref”的张量,必须和“ref”是同一类型

(3)validate_shape:可选布尔型参数,默认为True,验证“value”的形状是否匹配“ref”的数据形状;Flase时,“ref”将接受“value”的数据形状

(4)use_locking:可选布尔型参数,默认为True,幅值操作会受锁定;False时,行为未定义,但可能会减少争用

(5)name:可选参数,定义该操作的名称

返回结果:

具有新赋给值的张量“ref”

三、实例

>>> v = tf.Variable([1,2,3], name="variable")
>>> x = tf.constant([4,5,6])
>>> sum = tf.add(v,x)
>>> v1 = tf.assign(v, sum)
>>> init_op = tf.global_variables_initializer()
>>> with tf.Session() as sess:
...     sess.run(init_op)
...     print(sess.run(v))
...     for _ in range(3):
...             sess.run(v1)
...             print(sess.run(v))
... 

[1 2 3]
array([5, 7, 9])
[5 7 9]
array([ 9, 12, 15])
[ 9 12 15]
array([13, 17, 21])
[13 17 21]

猜你喜欢

转载自blog.csdn.net/sdnuwjw/article/details/85004485