tensorflow.orgのチュートリアルページを参考に,まずは実行できるかどうかのテスト.
ここではJupyter Notebook をダウンロードして実行する方法を実施.gitでもよい.
VSCodeを使用する場合は,Jupyter noebook 関連の Extension をインストールしておく.
Jupyter notebook(.ipynb) ファイルには,Pythonのソースコード+説明と,実行結果例が格納されており,VSCodeで開くことができる.
これが便利なのは,書かれているPythonコードがそのままマウスクリックで逐次実行または全体を順番に実行できることである.
さらに,各コード区間の実行時間と,その結果がソースの直後に一緒に表示される.
参考:Jupyter notebook のRun Allで,import tensorflow as tf の行でエラーが出る場合は,パスに追加してみると良い.
#pip show tensorflowで出てくるパスを追加 import sys sys.path.append('/Users/tatsuya/venv/lib/python3.11/site-packages')
Tensorflow MNISTデータセットを使った学習. 機械学習における HelloWorld 的サンプル.
Jupyter Notebook をダウンロードするのがおすすめ.
以下はソースコード部分のみを抜き取ったもの.
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10)
])
predictions = model(x_train[:1]).numpy()
tf.nn.softmax(predictions).numpy()
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
loss_fn(y_train[:1], predictions).numpy()
model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
probability_model = tf.keras.Sequential([model, tf.keras.layers.Softmax()])
probability_model(x_test[:5])
1epochあたり6sec程度.
1epochあたり8sec程度.
同じくTensorflowの Kerasを用いた分類問題
靴や洋服などの画像の識別
1 epoch あたり 6 sec程度.
1 epoch あたり 7 sec程度.