函數原型為
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('--------------------------\n\n')
運行結果為
--------case 1, 2, 5, 4--------- 2017-05-10 15:26:04.020848: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_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:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_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:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_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:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_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:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_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:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_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
