TensorFlow-基本
この章では、TensorFlowの基本について学習します。テンソルのデータ構造を理解することから始めます。
テンソルデータ構造
テンソルは、TensorFlow言語の基本的なデータ構造として使用されます。テンソルは、データフローグラフと呼ばれるフロー図の接続エッジを表します。テンソルは、多次元配列またはリストとして定義されます。
テンソルは、次の3つのパラメーターによって識別されます-
ランク
テンソル内で記述される次元の単位はランクと呼ばれます。テンソルの次元数を識別します。テンソルのランクは、定義されたテンソルの次数またはn次元として説明できます。
形状
行と列の数を合わせて、Tensorの形状を定義します。
タイプ
Typeは、Tensorの要素に割り当てられたデータ型を表します。
ユーザーは、テンソルを構築するために次のアクティビティを考慮する必要があります-
- n次元配列を作成する
- n次元配列を変換します。
TensorFlowのさまざまな次元
TensorFlowにはさまざまなディメンションが含まれています。寸法は以下に簡単に説明されています-
一次元テンソル
1次元テンソルは、同じデータ型の値の1つのセットを含む通常の配列構造です。
Declaration
>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d
出力を使用した実装を以下のスクリーンショットに示します-
要素のインデックス付けはPythonリストと同じです。最初の要素はインデックス0で始まります。インデックスを介して値を出力するには、インデックス番号を指定するだけです。
>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0
二次元テンソル
配列のシーケンスは、「2次元テンソル」を作成するために使用されます。
2次元テンソルの作成について以下に説明します-
以下は、2次元配列を作成するための完全な構文です-
>>> import numpy as np
>>> tensor_2d = np.array([(1,2,3,4),(4,5,6,7),(8,9,10,11),(12,13,14,15)])
>>> print(tensor_2d)
[[ 1 2 3 4]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
>>>
2次元テンソルの特定の要素は、インデックス番号として指定された行番号と列番号を使用して追跡できます。
>>> tensor_2d[3][2]
14
テンソルの処理と操作
このセクションでは、テンソルの処理と操作について学習します。
まず、次のコードを考えてみましょう-
import tensorflow as tf
import numpy as np
matrix1 = np.array([(2,2,2),(2,2,2),(2,2,2)],dtype = 'int32')
matrix2 = np.array([(1,1,1),(1,1,1),(1,1,1)],dtype = 'int32')
print (matrix1)
print (matrix2)
matrix1 = tf.constant(matrix1)
matrix2 = tf.constant(matrix2)
matrix_product = tf.matmul(matrix1, matrix2)
matrix_sum = tf.add(matrix1,matrix2)
matrix_3 = np.array([(2,7,2),(1,4,2),(9,0,2)],dtype = 'float32')
print (matrix_3)
matrix_det = tf.matrix_determinant(matrix_3)
with tf.Session() as sess:
result1 = sess.run(matrix_product)
result2 = sess.run(matrix_sum)
result3 = sess.run(matrix_det)
print (result1)
print (result2)
print (result3)
Output
上記のコードは次の出力を生成します-
説明
上記のソースコードで多次元配列を作成しました。ここで、テンソルを管理し、適切な出力を生成するグラフとセッションを作成したことを理解することが重要です。グラフの助けを借りて、テンソル間の数学的計算を指定する出力が得られます。