1. 程式人生 > >TensorFlow中張量轉置操作tf.transpose用法

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]