さまざまなプラットフォームで、深層学習を行うための「環境構築方法」について簡単に触れたいと思います。ここで言う「環境」とは、「人工知能の学習ができる環境」のことを言います。最低でも「Python によるプログラミングが可能」なことを指します。
対象プラットフォーム
1 Windows10 Pro[Note-PC](標準的な学習環境)
2 M1 Macbook Pro[Note-PC](強力な学習環境)
3 iPhone/iPad(携帯できる学習環境)
4 Google Colaboratory[Cloud Computing](無料でハイパフォーマンス)
5 GK41(Linux)[Mini-PC](低コストでそれなりの学習環境)
6 Xavier NX(Linux)[AI-Computer](即実務で使える実行環境)
環境構築に必要な関連用語です。ページの最後に簡単な説明を書いておきます。
・プログラム開発用ライブラリ等
・人工知能用フレームワーク
1 Windows10 Pro[Note-PC](標準的な学習環境)
私は、kino-codeさんの動画を参考に、パソコンでの学習環境を整備しました。こちらの「Python入門講座」は、Python の学習環境構築の様々な方法について、Windows、Mac に分けて丁寧に動画と文章で教えてくれます。
以下が私のパソコンのスペックです。3年前に中古で、5万円で購入しました。見て分かるように、高スペックなパソコンは必要ないと思います。
Note-PC: CPU Core i5-3320M MEM 8GB SSD 240GB Windows 10 Pro
Python を使って人工知能を勉強するためには、その環境を作る必要があります。以下に、必要になる可能性があるシステムやライブラリを紹介します。パソコンに詳しくない人には少し敷居が高いですが、kino-codeさんの動画で最低限の環境は構築できると思います。
2 M1 Macbook Pro[Note-PC] (強力な学習環境)
人工知能の学習が進むにつれて、少し欲がでてきました。もう少し性能の高いパソコンが欲しくなりました。当初は、高価なWindowsのデスクトップPC(高性能グラフィックカード搭載)を考えていました。
グラフィックカードは、ゲームのためではなく、機械学習(人工知能の学習)の計算のためです。カードの種類は(NVIDIAに)限定されますが、機械学習にグラフィックカードのGPUが使えるからです。CPUに比べて、5~10倍の性能アップが期待できるそうです。
実際には、以下のノートパソコンを購入しました。
Note-PC: MacBookPro 13inch M1chip MEM 16GB SSD 256GB BigSur
上記のノートPCを、2021/1/1に注文しました。価格は、税込みで141,800円で、到着までに2週間程かかるそうです。(到着は、2021/1/19)
購入理由は、このパソコンに搭載されたM1チップです。このチップには、
CPU 8uint GPU 8unit Neural Engine 16unit etc.
が搭載されています。つまり、CPUだけでなく、GPUが搭載され、更に、機械学習専用の Neural Engine が搭載されているのです。実際は、機械学習用のソフトウェアが、まだ対応していないので、難しい部分もありますが、非常に強力なことが予想されて楽しみです。これらの取り組みの記録のために、新しいブログを立ち上げました。
<投稿記事>
・MacBookPro 購入、M1チップを用いた機械学習のブログを開始
<サブブログ:Macbook Pro のメニュー>
・M1/ARMで始める機械学習の記録:Macbook Pro
3 iPhone/iPad(携帯できる学習環境)
みなさんよくご存じの iPhone や iPad のアプリに、Python を実行できるものがあります。そのインストール方法などについて書いた記事を紹介します。
<投稿記事>
・iPhone/iPadでPythonを実行するアプリのインストール
4 Google Colaboratory(無料でハイパフォーマンス)
ご存じの方もいると思いますが、Google Colaboratory という無料のクラウドサービスがあります。このサービスは、Jupyter Notebook で作成したファイル(プログラム)を、クラウド上で実行してくれるものです。
ファイルは、Google Drive 上において実行できます。最大の魅力は無料であることと、GPUオプションが使用できることです。私が試したところ、GPUオプションをONにしたことで、20倍近いパフォーマンスを出すことができました。
いつまで無料なのか、大量のファイルを扱うためには、Google Drive への課金が必要かなど、いくつかの懸念材料はありますが、非常に有効なツールであると思います。
<投稿記事>
・Google Colaboratry の GPU による学習の高速化
5 GK41(Linux)[Mini-PC] (低コストな学習環境)
最近、耳にすることが増えた Mini-PC(低価格で必要最低限の機能を持ったPC)を使って、人工知能の学習環境を構築してみました。購入した Mini-PC には、Windows10 Pro がインストールされていましたが、今後の発展性を考えて、Ubuntsu 20.4(Linux)をインストールしました。
このパソコンの「紹介記事」と、「Ubuntsu のインストール方法」の記事、そして、「バックアップ機能付きのファイルサーバの構築」についての記事を紹介します。
<投稿記事>
・Linux 学習環境構築のための GK41(Mini PC)の購入
・GK41(Mini PC)への、Ubuntu(Linux)のインストール作業
・GK41(Ubuntu)を使った、ファイルサーバの(仮)構築
6 Xavier NX(Linux)[AI-Computer] (実務に使用可能)
初めて名前を聞く人も多いと思いますが、人工知能研究、特に機械学習のプラットフォームとして注目を浴びている「AIコンピュータ」を購入しました。購入したコンピュータは、グラフィックカード(GPU)で有名な NVIDIA製の 、Jetsonシリーズの「Xavier NX」です。
このコンピュータを普通の人が購入することは、ほとんどありません。なぜならば、機械学習専用コンピュータだからです。コンピュータを起動するまで一つ取っても、非常に敷居が高い(私個人の感想)です。
内容があまりにも膨大すぎて、単体の記事で紹介するのは不可能なので、M1 Macbook Pro のブログに同居させてもらうことにしました。
<サブブログ:Xavier NX のメニュー>
・M1/ARMで始める機械学習の記録:Xavier NX
プログラム開発環境用ライブラリ等
① Anaconda(推奨システム):Python本体を含む、よく使われるライブラリがインストールされます。これだけで基本的な環境構築ができます。
② Visual Studio Code(エディタ):Microsoft のエディタです。Python のコーディングのときに非常に便利です。
③ Jupyter Notebook(システム):Anaconda をインストールすると、一緒にインストールされます。プログラムを対話的に実行することができ、また、コードと一緒に実行結果も印刷できます。
④ Pandas(必須ライブラリ):データ分析の前処理用ライブラリです。データの読み込みや統計量の表示やグラフ化ができます。
⑤ Numpy(必須ライブラリ):データ解析や線形代数を扱う際の数値計算を効率的に行うライブラリです。
⑥ Matplotlib(必須ライブラリ):計算結果をグラフなどの図表で分かりやすく表示できます。
⑦ SciPy(ライブラリ):科学技術計算のライブラリです。Numpy で配列や行列の演算ができます。
⑧ PyQuery(ライブラリ):ネットからデータを引き出す「スクレイピング」用のライブラリです。ネットから情報を取得します。
⑨ BeautifulSoup(ライブラリ):「スクレイピング」用のライブラリです。データの整形に使用されます。
⑩ OpenCV(ライブラリ):画像や動画を処理するためのライブラリです。
人工知能用フレームワーク
① TensorFlow(フレームワーク):Google が開発している、有名なオープンソースライブラリです。ある程度ディープランニングの知識が必要です。
② Keras(フレームワーク):機械学習のアルゴリズムを多く実装し、初心者でも学びやすいライブラリです。
③ Chainer(フレームワーク):自然言語処理や音声処理などによく使われるライブラリです。日本企業が開発し、ニューラルネットワークをシンプルに記述できます。
④ Scikit-learn(フレームワーク):多くの機械学習アルゴリズムが実装されています。Anaconda と一緒にインストールされます。
⑤ DeZero(自作フレームワーク):書籍「ゼロから作る Deep Learning③」~フレームワーク編~、で制作するフレームワークです。