tf.expand_dims
Stay organized with collections
Save and categorize content based on your preferences.
Inserts a dimension of 1 into a tensor's shape.
tf.expand_dims(
input, axis, name=None
)
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.
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]
.
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
|
A Tensor .
|
axis
|
0-D (scalar). Specifies the dimension index at which to expand the
shape of input . Must be in the range [-rank(input) - 1, rank(input)] .
|
name
|
The name of the output Tensor (optional).
|
Returns |
A Tensor with the same data as input , but its shape has an additional
dimension of size 1 added.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-10-01 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2020-10-01 UTC."],[],[],null,["# tf.expand_dims\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 1 version](/versions/r1.15/api_docs/python/tf/expand_dims) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/ops/array_ops.py#L279-L325) |\n\nInserts a dimension of 1 into a tensor's shape. \n\n tf.expand_dims(\n input, axis, name=None\n )\n\nGiven a tensor `input`, this operation inserts a dimension of 1 at the\ndimension index `axis` of `input`'s shape. The dimension index `axis` starts\nat zero; if you specify a negative number for `axis` it is counted backward\nfrom the end.\n\nThis operation is useful if you want to add a batch dimension to a single\nelement. For example, if you have a single image of shape `[height, width,\nchannels]`, you can make it a batch of 1 image with `expand_dims(image, 0)`,\nwhich will make the shape `[1, height, width, channels]`.\n\n#### Other examples:\n\n # 't' is a tensor of shape [2]\n tf.shape(tf.expand_dims(t, 0)) # [1, 2]\n tf.shape(tf.expand_dims(t, 1)) # [2, 1]\n tf.shape(tf.expand_dims(t, -1)) # [2, 1]\n\n # 't2' is a tensor of shape [2, 3, 5]\n tf.shape(tf.expand_dims(t2, 0)) # [1, 2, 3, 5]\n tf.shape(tf.expand_dims(t2, 2)) # [2, 3, 1, 5]\n tf.shape(tf.expand_dims(t2, 3)) # [2, 3, 5, 1]\n\nThis operation requires that:\n\n`-1-input.dims() \u003c= dim \u003c= input.dims()`\n\nThis operation is related to `squeeze()`, which removes dimensions of\nsize 1.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| `input` | A `Tensor`. |\n| `axis` | 0-D (scalar). Specifies the dimension index at which to expand the shape of `input`. Must be in the range `[-rank(input) - 1, rank(input)]`. |\n| `name` | The name of the output `Tensor` (optional). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A `Tensor` with the same data as `input`, but its shape has an additional dimension of size 1 added. ||\n\n\u003cbr /\u003e"]]