Inserts a dimension of 1 into a tensor's shape.
Aliases:
tf.compat.v2.expand_dims
tf.expand_dims(
input,
axis,
name=None
)
Used in the guide:
M
as
ki
ng
a
nd
p
ad
di
ng
w
it
hK
e
ra
s``R
ec
ur
re
nt
N
eu
ra
lN
e
tw
or
ks
(
RN
N)
w
it
hK
e
ra
s``
Used in the tutorials:
D
ee
pD
re
am
I
ma
ge
c
ap
ti
on
in
gw
i
th
v
is
ua
la
t
te
nt
io
n``N
eu
ra
lm
a
ch
in
et
r
an
sl
at
io
nw
i
th
a
tt
en
ti
on
P
ix
2P
ix
T
ex
tc
l
as
si
fi
ca
ti
on
w
it
ha
n
R
NN
T
ex
tg
e
ne
ra
ti
on
w
it
ha
n
R
NN
T
ra
ns
fo
rm
er
m
od
el
f
or
l
an
gu
ag
eu
n
de
rs
ta
nd
in
gGiven 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. 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
.
Other examples:
# '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]
This operation requires that:
-1-input.dims() <= dim <= input.dims()
This operation is related to squeeze
(), which removes dimensions of size 1.
Args:
input
: ATensor
.axis
: 0-D (scalar). Specifies the dimension index at which to expand the shape ofinput
. Must be in the range [-rank(input
) - 1, rank(input
)].: The
of the outputTensor
(optional).
Returns:
A Tensor
with the same data as input
, but its shape has an additional dimension of size 1 added.