Tensorflowで機械学習

Tensorflow と Keras を使って機械学習の実験環境を試します。サンプルプログラムが正常に動作することを確認するのが目的です。機械学習の内容については、この記事では深く入ることはしません。

Tensorflowのインストール

事前準備として、Mac の場合は Macの環境設定 を見て基本的な設定を済ませておいてください。Intel Mac と Apple Silicon Mac の違いについてもこのページに説明があります。

Windows または Intel Mac の場合は Anacondaをインストール して、Tensorflowをインストール(Anaconda編)してください。Apple Silicon Mac の場合は miniforgeをインストール して、Tensorflowをインストール(miniforge編)してください。

Keras は以前は独立したライブラリでしたが、現在では Tensorflow の一部として取り込まれています。改めてインストールする必要はありません。

以下の説明は、condaコマンドで “tensorflow” という名前の仮想環境を作り、Tensorflowがインストールされている前提で進めます。

インストールの確認

Tensotflow が正しくインストールされたこと確認するため、バージョンを表示するだけの小さなプログラムを走らせてみます。この後で実際に機械学習のサンプルを動作させますが、操作手順は全く同じです。

ターミナルを使う場合

Windows の場合は Anaconda Powershell Prompt (anaconda3) を、Mac の場合はターミナルを起動して仮想環境に入ります。

下に示したのは仮想環境において Python の対話モードに入り、Python のバージョンと Tensorflow のバージョンを確認したところです。Pythonのコマンド名は環境によって異なります。”python3″ で起動できないときは “python” コマンドを使ってください。

テキストエディタで Python のプログラムを書いてターミナルから実行することもできます。もしテキストエディタを持っていなければ Visual Studio Code (VSCode) をお勧めします。次にプログラムの例を示します。必ずエンコーディングを “UTF-8” に設定して保存してください。ファイル名は tftest.py としました。

プログラムの実行はこのようにします。

Jupyter Notebook の場合

Anaconda をインストールしている場合(Windows または Intel Mac)はメイン画面の上部で仮想環境を選択して、Jupyter Notebookの “Launch” を押します。ボタンが “Install” になっている場合は Jupyter Notebook がインストールされますので、その後 “Launch” を押します。

miniforge をインストールしている場合(Apple Silicon Mac)はターミナルで仮想環境に入り、まだ Jupyter Notebook をインストールしてない場合はインストールしてください。

そして Jupyter Notebook を起動してください。

Jupyter Notebook がブラウザ上で起動しますので、[New/新規] のメニューから [Python3] または [Python3 (ipykernel)] を選びます。ドライブの最上位の階層だとエラーになるかもしれません。その場合は適当な作業フォルダに移動してから実行してください。

Pythonプログラムを1行または数行ずつ実行することができます。プログラムを打ち込んだら Shift+Enter または上部の Runアイコン(▶)で実行できます。Tensorflowがインポートできることを確認してください。

Kerasのサンプルコードを試す

Kerasのサンプルコードにアクセスします。これはmnistと呼ばれる手書き文字のデータセットを認識するサンプルです。いくつかに別れていますが、すべてのコードをコピペしてプログラムを作成します。ファイル名は適当で構いませんが、ここでは tensorflow_sample.py としました。下に作ったものを示します。55行目で、処理時間を短縮するために epochs = 3 と変更してあります。ソースコードをコピペする場合は下スクロールして最後までコピーしてください。

実際に動作させます。ここではターミナルで実行しています。コマンド名は python3 ではなく python かもしれません。環境に合わせて実行してください。

Jupyter Notebook で動作させる場合も同じソースコードで動きます。ソースコード全体をひとつのセル内にコピペして、そのセルを実行してください。

上の実行例では97.3%の精度で学習できていることがわかります。

コメント