スカラー(ODテンソル)
アレイは、ベクター(ベクター)またはテンソルの一次元数(1 Dテンソル)と呼ばれます。一次元テンソルのみの一つの軸。ここでnumpyのベクトルです。
(tensorflowcv) turing@localhost ~ % python
Python 3.7.5 (v3.7.5:5c02a39a0b, Oct 14 2019, 18:49:57)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> x = np.array(23)
>>> x
array(23)
ベクトル(1つのDテンソル)
数字の配列(ベクター)または一次元(1Dテンソル)ベクターと呼ばれる。のみ一次元テンソル軸。
>>> y = np.array([12,24,36,48])
>>> y
array([12, 24, 36, 48])
>>> y.ndim
1
このベクターは、4つの要素、それは4Dおよび4Dベクトルは、Iテンソルベクトルだけ軸混乱が、4次元を示すべきではない。4Dベクトルと呼ばれ、4Dは、4つのテンソル軸寸法(次元を有するを有します))は、4次元ベクトルとして要素(の数の軸に沿って表現することができ、それはまた、時々、非常に混乱することができる数(例えば4 Dテンソル)テンソル軸を意味することができます。後者の場合には、より技術的に正確その四次テンソル(すなわちテンソル注文番号軸)と言うが、このようなシートの量4 Dあいまいな表現は、より一般的にします。
行列(2 Dテンソル)
ベクトル(行列)または二次元テンソル(2Dテンソル)からなるマトリックスアレイと呼ばれる。マトリックスは、2つの軸を有しています。
>>> z = np.array([[5,78,24,1],
... [1,2,3,4],
... [4,6,7,8]])
>>> z
array([[ 5, 78, 24, 1],
[ 1, 2, 3, 4],
[ 4, 6, 7, 8]])
>>> z.ndim
2
3次元テンソルとテンソル高次元キー属性
複数のマトリックスは、3Dダブル量を得ることができ、新たなマトリックスに結合されています
>>> q = np.random.randn(3,4,2)
>>> q
array([[[-0.01620116, -0.17436912],
[ 0.4581523 , -1.52342501],
[-0.8196764 , -1.56960572],
[-0.14080388, -1.08867946]],
[[ 0.22365678, 0.80081233],
[ 0.44461579, -0.10655642],
[ 1.04337676, 0.57167161],
[-0.45150608, 0.2777626 ]],
[[-0.39876745, 0.21239111],
[-1.91937848, -0.56022366],
[ 0.20022585, 1.96652715],
[-1.4904011 , 0.27641009]]])
>>> q.ndim
3
したがって、3次元配列に複数枚のシートの組合せの量は、4Dテンソルとなるであろう。後で使用する内部異議検出。4Dテンソル計算されます。
numpyのの動作中テンソル
MNIST例では、第一の軸に沿って特定のデジタルを選択する構文train_画像]を使用。テンソルテンソルスライス(テンソルスライシング)と呼ばれる特定の要素を選択します。私たちは、アレイ上のテンソルnumpyのスライス操作を見て。
(100を含まない)10〜100の数字の選択、及び形状(90,28 28)アレイ上の次の例。
my_slice=train_images [10: 100]
print (my_slice shape)
> (90,28,28)
インデックスの開始インデックスを終了各軸に沿った次のより複雑な、所与テンソルスライスの文言と等価です。なお:シャフト全体を選択するのと同じです。
my_slice =train_images [10: 100]
これは、前の例と同等です
my_slice=train_images [10: 100, 0: 28, 0: 281
あなたは、任意の2つのインデックス間のテンソルの各軸に沿って選択することができます。たとえば、あなたは、すべての画像の右下隅に選択した領域14個のX14ピクセルをピクセル・することができます
my_slice=train_images [: 14]
また、負のインデックスを使用することができます。Pythonとカットアウト領域14の端部に軸相対の現在位置を示す負の屈折率同様のリストには、画像ピクセルの中心の画素をX14ができます。
my slice=train images [: 7: -7, 7: -7 ]
データボリュームのコンセプト
一般的に、(インデックスは0から始まるので、0軸)すべてのデータテンソル第一軸の学習の深さは、試料軸(サンプルは時々試料寸法と呼ばれる、軸)されています。例えばMINISTでは、サンプルは、デジタル画像です。
さらに、一方で深い学習モデルは、データセット全体を処理しますが、より小さなバッチにデータを分割しません。具体的には、次のバッチMINSTデータセット、128のバッチサイズです。
batch train images [: 128]
そして、次のバッチ。
batch =train images [128: 256)
そして、n番目のバッチ。
batch train _images [128*n: 128 * (n +1)]
このバッチテンソルのために、第一の軸(0軸)の軸は、バッチ(バッチ軸)の寸法又はバッチ(バッチ寸法)と呼ばれています。Kerasおよびその他のディープラーニングライブラリを使用するときは、多くの場合、この用語が発生します。
現実世界でのデータテンソル
ベクトルデータ:2 Dテンソル形状(SAMP1のES、機能)。
時系列データ又はデータシーケンス:3 Dテンソル形状(サンプル、タイムステップは、特徴画像 4 Dテンソル形状(サンプル、高さ、幅、channells: )または(サンプル、チャンネル高さ、幅
ビデオ:5 Dテンソル形状(サンプル、フレーム、高さ、幅 、channe1 S) または(サンプルフレーム、チャネル、高さ、幅)
ベクトルデータ
二次元ベクトルと同一の概念の高い数のうち、それらの間の関係は、yは、Xで表されます
時系列データやデータ系列
時間(または配列順序が)データのために重要である場合、データは、タイムラインを有する3次元テンソルに格納されるべきです。データのバッチが3次元テンソルに符号化されるように、各サンプルは、ベクトルの配列(すなわちテンソル2 D)として符号化することができる(下記参照)。
画像データ
高さ、幅、色深度:画像は、典型的には、3つの次元を有します。グレースケール画像(デジタル画像ようMINSTT)だけ一つの色チャネルが、2次元テンソルに格納することができるが、慣例により、画像は3次元テンソルテンソルカラーチャンネルのみの一次元のグレースケール画像である常に。画像サイズが256×256である場合したがって、バッチ組成物は、テンソル(128,256,256,1)の形で格納することができる次いで、バルク128及びカラー画像が組成物中に保存することができる128グレースケール画像の形状である(128256256 、テンソルの3)(下記参照)。
画像の形状テンソル2つの規則:(Tensorelowで)チャネルの(チャンネル-最後)の後に条約及びフロントチャンネル(Theanoで使用)(チャンネル-最初の)大会。(サンプル、高さ、幅、CO1 or_深さ):Googleの機械学習フレームワークTensorelow色深度は、端部に配置され軸。(サンプル、CO1 or_深さ、高さ、幅):逆後、Thean画像の深さは軸バッチに軸 Theano大会場合は、前の2つの例(128,1,256,256)及び(128,3,256,256)となります。Kerasフレームワークは、両方のフォーマットをサポートしています。
ビデオデータ
データ5 Dテンソルのいくつかのタイプのいずれかを使用するには、実際の生活の必要としているビデオデータ。ビデオは、一連のフレームとして表示することができ、
各フレームは、カラー画像です。各フレームは、3次元テンソルの形状(高さ、幅、色深度)に保存することができ、したがって、一連のフレームは形状4 Dテンソルの(フレーム、高さ、幅、color_深さ)に格納することができるのでバッチ組成物は、異なるビデオテンソル5 Dに格納することができるAの形状であります
(サンプル、フレーム、高さ、幅、色深度
例えば、ビデオクリップYouTubeの60秒間は毎秒4つのフレーム、144×x256、240ビデオの合計のビデオサイズでサンプリング。バッチ形状テンソル(4,240,144,256,3)に格納され、ビデオの4つの断片がありました。106 168 320値の合計!テンソルデータタイプ(DTYPE)がF1 oat32であれば、各値は、405メガバイトの32は、テンソルの合計です。ビッグ!実際の生活の中で遭遇したあなたのビデオは、彼らがF1 oat32形式を格納していない、と多くの場合、大幅なMPEG形式として、圧縮されているので、はるかに小さいです。