• 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,高度,宽度,通道]。

    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]
    

    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.

    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指定。

    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]
    

    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的维度。

  • 相关阅读:
    当前日期减去TIMESTAMP(6)日期
    java 对象之间的复制
    根据用户编码分组。根据日期倒序排序只取其中一条
    最大权闭合子图
    CodeForces-1082E Increasing Frequency
    CodeForces-1082D Maximum Diameter Graph
    HDU 6446 -- Tree and Permutation
    python学习之函数(二)
    python学习之函数(一)
    python学习之文件操作
  • 原文地址:https://www.cnblogs.com/antflow/p/7263601.html
Copyright © 2020-2023  润新知