1. ホーム
  2. Machine Learning

tf.expand_dims および tf.squeeze 関数

2022-02-16 16:14:59

tf.expand_dims()

機能

tf.expand_dims(input, axis=None, name=None, dim=None)

テンソルの形状に1次元を挿入する。 
軸位置に次元を追加する

テンソル input が与えられたとき、input の形状の次元インデックス軸に 1 の次元を挿入する。次元インデックス軸は 0 から始まり、軸に負数を指定すると末尾から逆算される。

テンソル入力を与えると、その入力の形状の次元インデックス軸に 1 の次元を挿入する。次元インデックス軸は 0 から始まり、axis に負数を指定すると、端から数えて逆方向となる。

この操作は、1つの要素に一括してディメンションを追加したい場合に便利です。例えば、[height, width, channels]という形状の画像が1つある場合、expand_dims(image, 0)で1画像分まとめて、[1, height, width, channels]という形状にすることが可能です。

これは、一つの要素に一括して寸法を追加したい場合に便利です。例えば、[height, width, channels]という一つの図形がある場合、expand_dims(image, 0)を使って1画像にすることで、[1, height, width, channels]という図形にすることが可能です。

例えば、こんな感じです。

# '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:

を入力します。テンソル。 
axis: 0-D (スカラー)。入力された形状を展開する次元インデックスを指定する。 
name: 出力されるTensorの名前。 
dim: 0-D(スカラー)。axisと同等,非推奨。

入力:テンソル
軸: 0-D (スカラー)。展開された入力形状の次元インデックスを指定する。
Name: 出力名 Tensor。
dim: 0-D(スカラー)。axisと同等。推奨しない。

リターン

入力と同じデータを持つテンソルであるが、その形状にはサイズ1の次元が追加されている。

tf.squeeze()

機能

tf.squeeze(input, squeeze_dims=None, name=None)

テンソルの形状からサイズ1の次元を削除する。 
テンソルからサイズ1のすべての次元を削除する

テンソルを入力とし、サイズ1の次元をすべて取り除いた同じ型のテンソルを返す。すべてのサイズ1の次元を除去したくない場合は、squeeze_dims を指定することで特定のサイズ1の次元を除去することができる。 

テンソル入力を与えると、同じ型のテンソルを返し、サイズ1の次元をすべて削除する。すべてのサイズ1の次元を削除したくない場合は、squeeze_dims を指定することで特定のサイズ1の次元を削除することができます。
サイズ 1 のすべての寸法を削除したくない場合は、squeeze_dims で指定します。

例えば

# '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:

入力です。絞り込むための入力。 
squeeze_dims: オプションの int のリスト。デフォルトは [] です。指定された場合、リストされた次元のみを圧縮する。次元のインデックスは 0 から始まり、1 以外の次元を圧縮するとエラーになります。 
name: 操作の名前(オプション)。

input: テンソル。入力すると絞られます。
squeeze_dims: int のオプションリスト。デフォルトは [] です。指定された場合、指定された次元のみが圧縮される。次元のインデックスは 0 から始まり、1 でない次元の圧縮はエラーとなる。
名前:操作の名前(オプション)。

リターン

入力と同じデータを含むが、サイズ 1 の寸法が 1 つ以上削除されている。

テンソル。入力と同じ型。入力と同じデータを含むが、サイズ1の次元が1つ以上削除されている。