TensorFlow 维度变换 发表于 2019-05-13 | 字数统计 1,027 字 | 阅读时长 6 分钟 Reference 深度学习与 TensorFlow 2 入门实战 TensorFlow-2.x-Tutorials reshape1234567891011121314151617181920212223242526272829303132arr = tf.range(60)t = tf.reshape(arr, [3, 4, 5])t1 = tf.reshape(t, [3, 4 * 5])t2 = tf.reshape(t, [3, -1])t3 = tf.reshape(t, [-1])print(t) # tf.Tensor( # [[[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] # # [[20 21 22 23 24] # [25 26 27 28 29] # [30 31 32 33 34] # [35 36 37 38 39]] # # [[40 41 42 43 44] # [45 46 47 48 49] # [50 51 52 53 54] # [55 56 57 58 59]]], shape=(3, 4, 5), dtype=int32)print(t1) # tf.Tensor( # [[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] # [20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39] # [40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59]], shape=(3, 20), dtype=int32)print(t2) # tf.Tensor( # [[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] # [20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39] # [40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59]], shape=(3, 20), dtype=int32)print(t3) # tf.Tensor( # [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 # 48 49 50 51 52 53 54 55 56 57 58 59], shape=(60,), dtype=int32) transpose1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889arr = tf.range(60)t1 = tf.reshape(arr, [3, -1])t2 = tf.reshape(arr, [3, 4, 5])t11 = tf.transpose(t1)t21 = tf.transpose(t2)t22 = tf.transpose(t2, perm=[0, 2, 1])print(t1) # tf.Tensor( # [[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] # [20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39] # [40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59]], shape=(3, 20), dtype=int32)print(t11) # tf.Tensor( # [[ 0 20 40] # [ 1 21 41] # [ 2 22 42] # [ 3 23 43] # [ 4 24 44] # [ 5 25 45] # [ 6 26 46] # [ 7 27 47] # [ 8 28 48] # [ 9 29 49] # [10 30 50] # [11 31 51] # [12 32 52] # [13 33 53] # [14 34 54] # [15 35 55] # [16 36 56] # [17 37 57] # [18 38 58] # [19 39 59]], shape=(20, 3), dtype=int32)print(t2) # tf.Tensor( # [[[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] # # [[20 21 22 23 24] # [25 26 27 28 29] # [30 31 32 33 34] # [35 36 37 38 39]] # # [[40 41 42 43 44] # [45 46 47 48 49] # [50 51 52 53 54] # [55 56 57 58 59]]], shape=(3, 4, 5), dtype=int32)print(t21) # tf.Tensor( # [[[ 0 20 40] # [ 5 25 45] # [10 30 50] # [15 35 55]] # # [[ 1 21 41] # [ 6 26 46] # [11 31 51] # [16 36 56]] # # [[ 2 22 42] # [ 7 27 47] # [12 32 52] # [17 37 57]] # # [[ 3 23 43] # [ 8 28 48] # [13 33 53] # [18 38 58]] # # [[ 4 24 44] # [ 9 29 49] # [14 34 54] # [19 39 59]]], shape=(5, 4, 3), dtype=int32)print(t22) # tf.Tensor( # [[[ 0 5 10 15] # [ 1 6 11 16] # [ 2 7 12 17] # [ 3 8 13 18] # [ 4 9 14 19]] # # [[20 25 30 35] # [21 26 31 36] # [22 27 32 37] # [23 28 33 38] # [24 29 34 39]] # # [[40 45 50 55] # [41 46 51 56] # [42 47 52 57] # [43 48 53 58] # [44 49 54 59]]], shape=(3, 5, 4), dtype=int32) expand_dims123456789101112131415161718192021222324252627282930313233arr = tf.range(60)t = tf.reshape(arr, [3, 4, 5])t1 = tf.expand_dims(t, axis=0)print(t) # tf.Tensor( # [[[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] # # [[20 21 22 23 24] # [25 26 27 28 29] # [30 31 32 33 34] # [35 36 37 38 39]] # # [[40 41 42 43 44] # [45 46 47 48 49] # [50 51 52 53 54] # [55 56 57 58 59]]], shape=(3, 4, 5), dtype=int32)print(t1) # tf.Tensor( # [[[[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] # # [[20 21 22 23 24] # [25 26 27 28 29] # [30 31 32 33 34] # [35 36 37 38 39]] # # [[40 41 42 43 44] # [45 46 47 48 49] # [50 51 52 53 54] # [55 56 57 58 59]]]], shape=(1, 3, 4, 5), dtype=int32) squeeze123456789101112131415161718192021222324252627282930313233arr = tf.range(60)t = tf.reshape(arr, [1, 3, 4, 5])t1 = tf.squeeze(t, axis=0)print(t) # tf.Tensor( # [[[[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] # # [[20 21 22 23 24] # [25 26 27 28 29] # [30 31 32 33 34] # [35 36 37 38 39]] # # [[40 41 42 43 44] # [45 46 47 48 49] # [50 51 52 53 54] # [55 56 57 58 59]]]], shape=(1, 3, 4, 5), dtype=int32)print(t1) # tf.Tensor( # [[[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] # # [[20 21 22 23 24] # [25 26 27 28 29] # [30 31 32 33 34] # [35 36 37 38 39]] # # [[40 41 42 43 44] # [45 46 47 48 49] # [50 51 52 53 54] # [55 56 57 58 59]]], shape=(3, 4, 5), dtype=int32) 本文标题:TensorFlow 维度变换 文章作者:魏超 发布时间:2019年05月13日 - 09:05 最后更新:2019年05月20日 - 09:05 原始链接:http://www.weichao.io/2019/05/13/TensorFlow-维度变换/ 许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。 ---------------------本文结束---------------------