tf.reverse()

一 函数原型
tf.reverse(
    tensor,
    axis,
    name=None
)

参数:

tensor:需要进行反转的张量,类型必须为其中的一个uint8, int8, uint16, int16, int32, int64, bool, bfloat16, half, float32, float64, complex64, complex128, string。最高维度为8-D

axis:需要反转的axis,注意axis的范围是[-rank(tensor),rank(tensor))之间。

name:可选的

二 案例
很显然可以看出,axis=[3]的时候也就是在最里面那一层进行reverse,axis=[2]的时候就是在倒数第二层进行reverse,那么就是对两个三维数组分别进行reverse,颠倒顺序,

axis=[1]的时候在最外层进行颠倒,那么就将两个三维数组直接互换位置即可。

import tensorflow as tf
import numpy as np

t = tf.constant([[[[0, 1, 2, 3],
                   [4, 5, 6, 7],
                   [8, 9, 10, 11]],
                  [[12, 13, 14, 15],
                   [16, 17, 18, 19],
                   [20, 21, 22, 23]]]])
# tensor 't' shape is [1, 2, 3, 4]

with tf.Session() as sess:
    print("t")
    print(sess.run(t))
    print("reverse at axis=[3]")
    print(sess.run(tf.reverse(t, axis=[3])))
    print("reverse at axis=[-1]")
    print(sess.run(tf.reverse(t, [-1])))#和axis=[3]一样
    print("reverse at axis=[1]")
    print(sess.run(tf.reverse(t, axis=[1])))
    print("reverse at axis=[2]")
    print(sess.run(tf.reverse(t, axis=[2])))

t
[[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]

[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]]
reverse at axis=[3]
[[[[ 3 2 1 0]
[ 7 6 5 4]
[11 10 9 8]]

[[15 14 13 12]
[19 18 17 16]
[23 22 21 20]]]]
reverse at axis=[-1]
[[[[ 3 2 1 0]
[ 7 6 5 4]
[11 10 9 8]]

[[15 14 13 12]
[19 18 17 16]
[23 22 21 20]]]]
reverse at axis=[1]
[[[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]

[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]]]
reverse at axis=[2]
[[[[ 8 9 10 11]
[ 4 5 6 7]
[ 0 1 2 3]]

[[20 21 22 23]
[16 17 18 19]
[12 13 14 15]]]]

 

posted on 2020-03-22 18:37  cltt  阅读(464)  评论(0编辑  收藏  举报

导航