函数原型为
def reshape(tensor, shape, name=None)
第1个参数为被调整维度的张量。
第2个参数为要调整为的形状。
返回一个shape形状的新tensor
注意shape里最多有一个维度的值可以填写为-1,表示自动计算此维度。
很简单的函数,如下,根据shape为[5,8]的tensor,生成一个新的tensor
import tensorflow as tf
alist = [[1, 2, 3, 4, 5, 6 ,7, 8],
[7, 6 ,5 ,4 ,3 ,2, 1, 0],
[3, 3, 3, 3, 3, 3, 3, 3],
[1, 1, 1, 1, 1, 1, 1, 1],
[2, 2, 2, 2, 2, 2, 2, 2]]
oriarray = tf.constant(alist)
oplist = []
a1 = tf.reshape(oriarray, [1, 2, 5, 4])
oplist.append([a1, 'case 1, 2, 5, 4'])
a1 = tf.reshape(oriarray, [-1, 2, 5, 4])
oplist.append([a1, 'case -1, 2, 5, 4'])
a1 = tf.reshape(oriarray, [8, 5, 1, 1])
oplist.append([a1, 'case 8, 5, 1, 1'])
with tf.Session() as asess:
for aop in oplist:
print('--------{}---------'.format(aop[1]))
print(asess.run(aop[0]))
print('--------------------------
')
运行结果为
--------case 1, 2, 5, 4--------- 2017-05-10 15:26:04.020848: W c: f_jenkinshomeworkspace elease-windevicecpuoswindows ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations. 2017-05-10 15:26:04.020848: W c: f_jenkinshomeworkspace elease-windevicecpuoswindows ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations. 2017-05-10 15:26:04.020848: W c: f_jenkinshomeworkspace elease-windevicecpuoswindows ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations. 2017-05-10 15:26:04.020848: W c: f_jenkinshomeworkspace elease-windevicecpuoswindows ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 2017-05-10 15:26:04.021848: W c: f_jenkinshomeworkspace elease-windevicecpuoswindows ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. 2017-05-10 15:26:04.021848: W c: f_jenkinshomeworkspace elease-windevicecpuoswindows ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. [[[[1 2 3 4] [5 6 7 8] [7 6 5 4] [3 2 1 0] [3 3 3 3]] [[3 3 3 3] [1 1 1 1] [1 1 1 1] [2 2 2 2] [2 2 2 2]]]] -------------------------- --------case -1, 2, 5, 4--------- [[[[1 2 3 4] [5 6 7 8] [7 6 5 4] [3 2 1 0] [3 3 3 3]] [[3 3 3 3] [1 1 1 1] [1 1 1 1] [2 2 2 2] [2 2 2 2]]]] -------------------------- --------case 8, 5, 1, 1--------- [[[[1]] [[2]] [[3]] [[4]] [[5]]] [[[6]] [[7]] [[8]] [[7]] [[6]]] [[[5]] [[4]] [[3]] [[2]] [[1]]] [[[0]] [[3]] [[3]] [[3]] [[3]]] [[[3]] [[3]] [[3]] [[3]] [[1]]] [[[1]] [[1]] [[1]] [[1]] [[1]]] [[[1]] [[1]] [[2]] [[2]] [[2]]] [[[2]] [[2]] [[2]] [[2]] [[2]]]] -------------------------- Process finished with exit code 0
