tf.expand_dims用法详解

Posted sereasuesue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tf.expand_dims用法详解相关的知识,希望对你有一定的参考价值。

看官方讲解一些博客感觉一直不是很懂,下面是我的个人理解结合官方文档,有问题欢迎指出

tf.expand_dims

tf.expand_dims(
    input, axis=None, name=None, dim=None
)

给定的张量input,该操作插入尺寸索引处的1维axisinput的形状。维度索引axis从零开始;如果您为其指定负数,axis则从末开始算起。

如果要将批次尺寸添加到单个元素,此操作很有用。例如,如果您有一个shape的图像[height, width, channels],则可以用制作一批1张图像expand_dims(image, 0),这将使shape成为[1, height, width, channels]

简单来说增加一个维度

import numpy as np
import tensorflow as tf
from numpy import array

current=np.array([
        [0,7,1,2,2],
        [1,7,3,4,3],
        [2,7,5,6,6],
        [3,7,7,8,7],
        [4,7,7,8,7],
        [5,7,7,8,7]
])

current = array(current)
current = tf.constant(current)
points_e = tf.expand_dims(current, axis=0)

注意看处理结果 

官方例子 shape维度

# 't' is a tensor of shape [2]
tf.shape(tf.expand_dims(t, 0))  # [1, 2]
tf.shape(tf.expand_dims(t, 1))  # [2, 1]
tf.shape(tf.expand_dims(t, -1))  # [2, 1]

# 't2' is a tensor of shape [2, 3, 5]
tf.shape(tf.expand_dims(t2, 0))  # [1, 2, 3, 5]
tf.shape(tf.expand_dims(t2, 2))  # [2, 3, 1, 5]
tf.shape(tf.expand_dims(t2, 3))  # [2, 3, 5, 1]

以上是关于tf.expand_dims用法详解的主要内容,如果未能解决你的问题,请参考以下文章

tensorrt不支持:tf.unpack,tf.slice,tf.tile,tf.expand_dims,tf.fill,tf.cast,tf.floor_div,tf.range

BERT源码分析

tensorflow2.0 squeeze出错

tf.stack

tf.stack

tf.stack