ホーム » TensorFlow スニペット » TensorFlow: snippet: 基本的な使い方

TensorFlow: snippet: 基本的な使い方

import tensorflow as tf

matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])

product = tf.matmul(matrix1, matrix2)

sess = tf.Session()

result = sess.run(product)
print(result)

sess.close()

3 行目: 1×2 行列を生成する constant(定数) OP を作成します。OP はノードとしてデフォルトグラフに追加されます。

4 行目: 2×1 行列を生成するもう一つの constant を作成します。

6 行目: ‘matrix1’ と ‘matrix2’ を入力として取る Matmul OP を作成します。戻り値 ‘product’ は行列の乗算の結果を表します。

8 行目: デフォルト・グラフを launch します。

10 行目: matmal OP を動作させるために、matmal OP の出力を表す ‘product’ を渡して sessioin ‘run()’ メソッドを呼び出します。
これは呼び出しに対して matmul OP の出力を返してもらうことを望むことを指示しています。OP に必要な全ての入力はセッションにより自動的に動作します。これらは典型的には並行して動作します。
OP の出力は ‘result’ に numpy `ndarray` オブジェクトとして返されます。=> [[ 12.]]

13 行目: 終了したらセッションを閉じます。

 

“with” ブロックでセッションに入ることもできます。セッションは with ブロックの最後に自動的に閉じます。

import tensorflow as tf

matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])

product = tf.matmul(matrix1, matrix2)

with tf.Session() as sess:
    result = sess.run([product])
    print(result)
 

TensorFlow の実装はグラフ定義を例えば CPU や GPU カードの一つのような、利用可能な計算資源に渡り分散された実行可能な処理に翻訳します。一般には CPU あるいは GPU を明示的に指定しなくてもかまいません。もし一つを有する場合、TensorFlow は最初の GPU をできる限り多くの処理で使用します。

もし貴方のマシン上で利用可能な1つ以上の GPU を持つ場合、最初のものを超えて GPU を利用するためには、それに OPs を明示的に割り当てなければなりません。どの CPU あるいは GPU を処理のために使用するかを指定するためには with…Device ステートメントを使用します :

import tensorflow as tf

with tf.Session() as sess:
  with tf.device("/gpu:1"):
    matrix1 = tf.constant([[3., 3.]])
    matrix2 = tf.constant([[2.],[2.]])
    product = tf.matmul(matrix1, matrix2)
    result = sess.run([product])
    print(result)

デバイスは文字列で指定されます。現在サポートされるデバイスは :

    "/cpu:0": 貴方のマシンの CPU。
    "/gpu:0": 貴方のマシンの GPU、もし一つを持つのであれば。
    "/gpu:1": 貴方のマシンの2つ目の GPU, etc.

GPU と TensorFlow についての詳細は Using GPUs を参照してください。

 

【参考】
(翻訳/解説)TensorFlow : GET STARTED : 基本的な使い方

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com