• tensorflow 笔记14:tf.expand_dims和tf.squeeze函数


    tf.expand_dims和tf.squeeze函数

    一、tf.expand_dims()

    Function

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

    Inserts a dimension of 1 into a tensor’s shape. 
    在第axis位置增加一个维度

    Given a tensor input, this operation inserts a dimension of 1 at the dimension index axis of input’s shape. The dimension index axis starts at zero; if you specify a negative number for axis it is counted backward from the end.

    给定张量输入,此操作在输入形状的维度索引轴处插入1的尺寸。 尺寸索引轴从零开始; 如果您指定轴的负数,则从最后向后计数。

    This operation is useful if you want to add a batch dimension to a single element. For example, if you have a single image of shape [height, width, channels], you can make it a batch of 1 image with expand_dims(image, 0), which will make the shape [1, height, width, channels].

    如果要将批量维度添加到单个元素,则此操作非常有用。 例如,如果您有一个单一的形状[height,width,channels],您可以使用expand_dims(image,0)使其成为1个图像,这将使形状[1,高度,宽度,通道]。

    Args:

    input: A Tensor. 
    axis: 0-D (scalar). Specifies the dimension index at which to expand the shape of input. 
    name: The name of the output Tensor. 
    dim: 0-D (scalar). Equivalent to axis, to be deprecated.

    输入:张量。
    轴:0-D(标量)。 指定扩大输入形状的维度索引。
    名称:输出名称Tensor。
    dim:0-D(标量)。 等同于轴,不推荐使用。

    Returns:

    A Tensor with the same data as input, but its shape has an additional dimension of size 1 added.

    For example:

     
    # 't' is a tensor of shape [2]
     
    shape(expand_dims(t, 0)) ==> [1, 2]
     
    shape(expand_dims(t, 1)) ==> [2, 1]
     
    shape(expand_dims(t, -1)) ==> [2, 1]
     
    # 't2' is a tensor of shape [2, 3, 5]
     
    shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
     
    shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
     
    shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]

    二、tf.squeeze()

    Function

    tf.squeeze(input, squeeze_dims=None, name=None)

    Removes dimensions of size 1 from the shape of a tensor. 
    从tensor中删除所有大小是1的维度

    Given a tensor input, this operation returns a tensor of the same type with all dimensions of size 1 removed. If you don’t want to remove all size 1 dimensions, you can remove specific size 1 dimensions by specifying squeeze_dims. 

    给定张量输入,此操作返回相同类型的张量,并删除所有尺寸为1的尺寸。 如果不想删除所有尺寸1尺寸,可以通过指定squeeze_dims来删除特定尺寸1尺寸。
    如果不想删除所有大小是1的维度,可以通过squeeze_dims指定。

    Args:

    input: A Tensor. The input to squeeze. 
    squeeze_dims: An optional list of ints. Defaults to []. If specified, only squeezes the dimensions listed. The dimension index starts at 0. It is an error to squeeze a dimension that is not 1. 
    name: A name for the operation (optional).

    输入:张量。 输入要挤压。
    squeeze_dims:可选的ints列表。 默认为[]。 如果指定,只能挤压列出的尺寸。 维度索引从0开始。挤压不是1的维度是一个错误。
    名称:操作的名称(可选)。

    Returns:

    A Tensor. Has the same type as input. Contains the same data as input, but has one or more dimensions of size 1 removed.

    张量。 与输入的类型相同。 包含与输入相同的数据,但具有一个或多个删除尺寸1的维度。

    For example:

     
    # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
     
    shape(squeeze(t)) ==> [2, 3]
     
    Or, to remove specific size 1 dimensions:
     
     
     
    # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
     
    shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]

     

  • 相关阅读:
    Pandas加载含有嵌套(nested)文档的mongodb数据
    [Spark笔记]Spark Streaming连接Kafka的入门代码
    [Spark笔记]Apache Spark — Overview
    [Hive笔记]Hive常用命令整理
    Mac上安装MongoDB后没有默认用户或密码,需要创建用户
    游戏服务器架构系列
    游戏服务器架构系列
    giantbranch的专栏——只更新一些简单的东西,工具什么的,更多更新只在新博客:www.giantbranch.cn
    SpringBoot Admin 2.1.5监控微服务的基本配置
    一张图看清国内程序员的分布数量
  • 原文地址:https://www.cnblogs.com/lovychen/p/10519724.html
Copyright © 2020-2023  润新知