LoginSignup
1
8

More than 3 years have passed since last update.

TensorFlow2の動作確認用のコードサンプル(非チュートリアル)

Last updated at Posted at 2020-06-23

インストール直後にやるべき動作確認

TensorFlowをインストールしたあと、動作確認に使うコードのサンプルを紹介します。

  • バージョン確認だけだと、学習させたときにエラーが出ないか、GPUを使っているかなどの確認ができない。
  • チュートリアルだと長過ぎる(というかコピペできるように紹介してない)ことが多い。

ので、簡単な動作確認として、バージョンとGPU確認、最低限の学習をするコードを書いています。

import numpy as np
import tensorflow as tf

print(tf.__version__)

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print("Physical GPUs: {}, Logical GPUs: {}".format(len(gpus), len(logical_gpus)))
else:
    print("CPU only")

x = np.arange(-1, 1, 0.0001)
y = 0.8 * x + 0.2

model = tf.keras.Sequential([tf.keras.layers.Dense(1, activation=None)])
model.compile("sgd", "mse")
model.build(input_shape=(0,1))
model.summary()
model.fit(x, y, epochs=5)

print("ground truth: 0.8, 0.2")
print("estimated: ", model.variables[0][0,0].numpy(), model.variables[1][0].numpy())

バージョンやGPUの情報がTensorFlowのログに紛れて見にくいので、必要に応じて改行とかを入れてください。

dockerを使っていたりすると、GPUの設定を間違えやすいので、GPUが認識されているかはしっかり確認しましょう。
学習中にnvidia-smiでGPUが使われているかの確認もしておきましょう。
学習が始まるとGPU-UtilとMemory-Usageが増えて、学習が終わるとGPU-Utilだけ下がり、Memory-Usageはそのままになるはずです。

学習については、$y = ax + b$の$a(=0.8)$, $b=(0.2)$を線形回帰していて、estimatedとして近い値を求められていればOKです。

1
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
8