PythonとTensorFlowを使って2つの行列を加算する方法
TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く利用されています。研究用途から本番環境まで幅広い場面で活用されており、複雑な数値計算を高速に実行するための最適化技術が多数搭載されています。
この高い処理性能は、NumPyおよび多次元配列の仕組みによって支えられています。これらの多次元配列は「テンソル(tensor)」と呼ばれます。TensorFlowは深層ニューラルネットワークの構築を強力にサポートしており、高い拡張性を持つほか、代表的なデータセットも豊富に同梱されています。GPUによる演算を活用でき、リソース管理も自動化されます。さらに、多数の機械学習ライブラリが用意され、ドキュメントやコミュニティによるサポートも充実しています。深層ニューラルネットワークモデルの構築・学習を行い、データセットの特徴を予測するアプリケーションを作成することも可能です。
TensorFlowのインストール
Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。
pip install tensorflow
テンソルとは
テンソルはTensorFlowで使われる基本的なデータ構造であり、データフローグラフ(Data Flow Graph)と呼ばれるフロー図のエッジ(辺)をつなぐ役割を担います。テンソルの正体は多次元配列またはリストであり、以下の3つの主要な属性で識別されます。
ランク(Rank)
テンソルの次元数を表します。テンソルの階数、すなわち定義されたテンソルが持つ次元の数と考えることができます。
型(Type)
テンソルの各要素に関連付けられたデータ型を表します。1次元、2次元、あるいはn次元のテンソルを扱えます。
形状(Shape)
行数と列数の組み合わせを表します。
本記事ではJupyter Notebookを使ってコードを実行します。Jupyter Notebookにも「pip install tensorflow」コマンドでTensorFlowをインストールできます。
サンプルコード
それでは、実際に2つの行列を加算する例を見てみましょう。
import tensorflow as tf
import numpy as np
matrix_1 = np.array([(1,2,3),(3,2,1),(1,1,1)],dtype = 'int32')
matrix_2 = np.array([(0,0,0),(-1,0,1),(3,3,4)],dtype = 'int32')
print("最初の行列:")
print (matrix_1)
print("2番目の行列:")
print (matrix_2)
print("加算結果:")
matrix_1 = tf.constant(matrix_1)
matrix_2 = tf.constant(matrix_2)
matrix_sum = tf.add(matrix_1, matrix_2)
print((matrix_sum))実行結果
最初の行列: [[1 2 3] [3 2 1] [1 1 1]] 2番目の行列: [[ 0 0 0] [-1 0 1] [ 3 3 4]] 加算結果: tf.Tensor( [[1 2 3] [2 2 2] [4 4 5]], shape=(3, 3), dtype=int32)
コードの解説
必要なパッケージをインポートし、扱いやすいようにエイリアス(別名)を設定します。
NumPyパッケージを使って2つの行列を作成します。
作成したNumPy配列を、tf.constant()を使ってTensorFlowの定数テンソルに変換します。
TensorFlowの「add」関数を使って、2つの行列の要素を加算します。
加算結果のテンソルをコンソールに出力します。出力には形状(shape=(3, 3))とデータ型(dtype=int32)も含まれています。
-
PythonとTensorFlowで2つの行列を乗算する方法を解説
TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために利用されています。研究用途から本番運用まで幅広く使われており、複雑な数学的演算を高速に処理できる最適化技術を備えているのが特長です。 その理由の一つは、NumPyと多次元配列を基盤としている点にあります。この多次元配列は「テンソル」と呼ばれます。TensorFlowは深層ニューラルネットワークの構築をサポートし、高いスケーラビリティを持ち、人気のデータセットが多数付属しています。また、GPUに
-
【入門】PythonとTensorFlowでテンソルを作成し、メッセージを表示する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術も備えています。TensorFlowの特徴TensorFlowはNumPyおよび多次元配列を基盤としています。この多次元配列は「テンソル(tensor)」とも呼ばれます。主な特徴は以下の通りです。ディープニューラルネットワークの構築・学習をサポート高いスケーラビリテ