tf.squeeze删除维度

介绍

删除是1的维度

例子:
形状是(1,9,9,1)的矩阵,执行此函数后,形状是(9,9)

语法

tf.squeeze(
    input,
    axis=None,
    name=None
)
参数
  • input:tensor或numpy
  • axis:设置指定的轴,如果该轴的元素数量是1,那么移除该轴,其他轴不受影响。默认为[],即:所有轴

例子

构建矩阵

import numpy as np
import tensorflow as tf

np.random.seed(1)
arr=np.random.randint(1,9,(1,4,1,2,1))
print(arr.shape)

执行结果:

(1, 4, 1, 2, 1)

0轴、2轴、4轴的元素数量是1

全部删除是1的维度

res=tf.squeeze(arr)
print(res)

执行结果:

tf.Tensor(
[[6 4]
 [5 1]
 [8 2]
 [4 6]], shape=(4, 2), dtype=int64)

删除2轴的维度

res=tf.squeeze(arr,2)
print(res.shape)

执行结果:

(1, 4, 2, 1)

删除2轴、4轴的维度

res=tf.squeeze(arr,[2,4])
print(res.shape)

原文出处:/show_1EF5LMbQ5BGe.html