美文网首页python与Tensorflow
Tensorflow——expand_dim()与tf.sque

Tensorflow——expand_dim()与tf.sque

作者: SpareNoEfforts | 来源:发表于2018-10-29 23:14 被阅读37次

    expand_dim()函数

    TensorFlow中,想要维度增加一维,可以使用tf.expand_dims(input, dim, name=None)函数。

    # '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]  #-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()函数

    tf.squeeze(input, squeeze_dims=None, name=None)
    Removes dimensions of size 1 from the shape of a tensor.
    该函数返回一个张量,这个张量是将原始input中所有维度为1的那些维都删掉的结果
    axis可以用来指定要删掉的为1的维度,此处要注意指定的维度必须确保其是1,否则会报错

    从tensor中删除所有大小是1的维度
    如果不想删除所有大小是1的维度,可以通过squeeze_dims指定。

    #  't' 是一个维度是[1, 2, 1, 3, 1, 1]的张量
    tf.shape(tf.squeeze(t))   # [2, 3], 默认删除所有为1的维度
    
    # 't' 是一个维度[1, 2, 1, 3, 1, 1]的张量
    tf.shape(tf.squeeze(t, [2, 4]))  # [1, 2, 3, 1],标号从零开始,只删掉了2和4维的1
    
    
    

    相关文章

      网友评论

        本文标题:Tensorflow——expand_dim()与tf.sque

        本文链接:https://www.haomeiwen.com/subject/pexwtqtx.html