zoukankan      html  css  js  c++  java
  • 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]]]]

  • 相关阅读:
    函数数组
    编译和链接
    线程详解
    linux内核完全剖析——基于0.12内核-笔记(2)-统一编址和独立编址
    linux内核完全剖析——基于0.12内核-笔记(1)-CPU 数据通信
    input子系统事件处理层(evdev)的环形缓冲区【转】
    NFC驱动调试
    little kernel 小结
    Linux 设备树的解释
    Android中SELinux的TE简介【转】
  • 原文地址:https://www.cnblogs.com/tingtin/p/12547582.html
Copyright © 2011-2022 走看看