今回は、DockerでTensorFlowが実行できる環境を構築し、簡単な計算を実行しました。
(TensorFlowを使った機械学習(深層学習)は次回以降に実践していきたいと思います。)
TensorFlowは、機械学習の一分野である深層学習を実施するにあたり、大規模な数値計算を実施しやすくするライブラリです。
TensorFlowを導入することで、多次元の行列計算が容易・高速になります。
また、NumpyでできなかったGPUの利用も可能です。
今回も Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]の第4章を参考にさせていただきながら、取り組んでいます。
今回の環境構築では、Dockerを使いました。
Dockerのインストールについては、以下の記事をご参照ください。
また、Dockerの詳細を勉強したい方は、かめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」が非常にわかりやすいので、おすすめです。
では、振り返っていきたいと思います。
まず、DockerHubにログインします。 以下のコマンドを実行するとUsernameとPasswordを聞かれるので、DockerHubで登録したアカウントのUsernameとPasswordを入力します。 (なお、DockerHubのアカウント登録は、こちら→Docker Hub) docker login 次に、以下のコマンドを実行して、TensorFlowのDocker imageをダウンロード(pull)します。 docker pull tensorflow/tensorflow ダウンロードが完了したら、以下のコマンドを実行して、コンテナを起動します。 (AAロゴがかっこいい!) docker run -it tensorflow/tensorflow TensorFlowのコンテナが起動出来たら、簡単な計算を実行してみます。 TensorFlowのコンテ上で、python3を実行します。 python3 プロンプトが表示されたらTensorFlowをインポートします。 import tensorflow as tf 次に、add()メソッドを使って足し算を実行します。 数値同士の足し算はもちろん、リスト同士の足し算もできます。 また、square()メソッドを使って2乗を算出したり、reduce_sum()メソッドを使って合計を求めたりもできます。 1点注意事項としては、出力はTensor(Numpyのndarrayのような多次元配列)となり、形状(shape)と、データ型(dtype)を属性情報として持っています。 print(tf.add(1,2)) print(tf.add([1,2], [3,4])) print(tf.square(5)) print(tf.reduce_sum([1,2,3])) 今回は、機械学習自体には触れませんでしたが、これから実施する深層学習を 実践する上で、避けて通れないTensorFlowの環境を構築しました。 これまで、環境構築は、PCの構成やOSのバージョン、設定、入っているミドルウェアなど、環境依存で悩まされ続けていましたが、Dockerを使うことで、ほんの数行のコマンドで環境構築できてしまうのは、感動です。 今後も、Pythonによるスクレイピング&機械学習開発テクニック増補改訂 Scrapy、BeautifulSoup、scik [ クジラ飛行机 ]で、スクレイピングと機械学習開発に取り組んでいきたいと思います。 【過去記事】 2019年8月31日(土)にE資格を受験して、合格しました! E資格対策として勉強の進め方や、参考書などをまとめました。 これから受験される方がいらっしゃいましたらご参考まで。 2019年3月9日(土)にG検定を受験し、見事合格できました! 受験の体験記や勉強法などを別のブログにまとめました。 これから受験される方がいらっしゃいましたらご参考まで。 【E資格対策に使った参考書】 TensorFlowで簡単な計算を実行する
1.TensorFlowの環境を構築する
2.TensorFlowで簡単な計算を実行する