环境:anaconda64位+python3.6+TensorFlow 1.9.0
1、tf.unstack()
Code:
#Code
import tensorflow as tf
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = tf.unstack(a,axis=0)
c = tf.unstack(a)
d = tf.unstack(a,axis=1)
with tf.Session() as sess:
print(a)
print(sess.run(b))
print(sess.run(c))
print(sess.run(d))
#Result:
[[1 2 3]
[4 5 6]]
[array([1, 2, 3]), array([4, 5, 6])]
[array([1, 2, 3]), array([4, 5, 6])]
[array([1, 4]), array([2, 5]), array([3, 6])]
Notice:c = tf.unstack()中,若未声明axis,默认为1;
2.tf.transpose()
假设outputs是一个三维矩阵,维度为(128,28,28)
new_output=tf.transpose(outputs, [1,0,2]) #改变outputs的维度,new_output的第0个维度为outputs的第1个维度;
new_output的第1个维度为outputs的第0个维度;
new_output的第2个维度为outputs的第2个维度;