Google Colaboratoryを使えば環境構築不要・無料でPythonの機械学習ができて最高

f:id:karaage:20180317160922p:plain:w640

2018/03/22 Google Colaboratory上でのChainerのチュートリアルに関して追記

Google Colaboratoryが便利

 最近、Google Colaboratoryがちょっと気になっていたのですが、タダケン (id:tadaken3)さんの以下記事に分かりやすく使い方が書いてあったのをきっかけに試して見ました。

 結論から言うと、これ良いですね。Google Colaboratoryには以下の特徴(利点)があります。

  • ローカルPCに必要なのはブラウザ(Google Chrome)のみ
  • クラウド上にPython環境がありPython2/3 両方使える
  • 機械学習に必要なライブラリは、ある程度プリインストールされている(numpy, matplotlib, TensorFlow等)
  • 必要なライブラリは !pip installでインストールできる
  • 日本語フォントも(ちょっと工夫すれば)使える
  • 無料で使える。なんとGPUも12時間分を無料で使える!

 これ死角無さすぎでは…Pythonって環境構築が面倒臭いなと感じることや、初心者には少しハードル高いなと思うことが多いですし、初心者にも上級者の方にも便利だと思います。

Google Colaboratoryを使って機械学習を試してみた

ツイート情報の可視化

 まずは、タダケンさんが、以下のような丁寧な記事も書いていたので、早速私も真似してみることにしました。

 ただ、そのまま真似するのも芸がないので、タダケンさんのツイート数の分析に加えて、以前試した「機械学習手法を用いてブログの文章を分析・可視化(テキストマイニング)」を試して見ることにしました。果たして、Google Colaboratory上で動くのか?

 結果的に書くと全部できてしまいました。

 以前やったことなので、詳細の分析は割愛します。

 ツイート数の可視化、右肩上がりですね
f:id:karaage:20180317160922p:plain:w640

 Wordcloudによる可視化。よく見るやつですね
f:id:karaage:20180317160832p:plain:w640

 Word2Vecによる可視化
f:id:karaage:20180317161547p:plain:w640

 ほとんど詰まらずに、簡単にGoogle Colaboratoryで実行することができました。

 データのアップロードやダウンロードに関しては、タダケンさんの記事に書いてある通りです(感謝)。

 wordcloudとか、インストールできるのだろうかと思ったら

!pip install wordcloud

で一発でした。

 日本語フォントも、調べたらなんとapt-getで入れられるとのこと、以下で入りました(リスタートが必要)。

!apt-get -y install fonts-ipafont-gothic

 探って見たら/etc/debian_versionがあったので、Debianみたいですね。

!cat /etc/debian_version
stretch/sid

 とうわけで、今回試してみたJupyter Notebook形式のファイルを共有してみました。こうやって簡単に共有できるのも、便利な点ですね。

 Google Chromeで上記にアクセスすれば、今回使用したコードが見れるはずです。ブラウザ上で、上記ファイルを上から順に実行していけば、誰でも自分のツイートを使った分析が簡単にできちゃいます(多分)。

機械学習の勉強にも最適かも

 Google Colaboratoryは、環境構築が不要なので、初学者の学習環境としても最適かもしれませんね。このブログでも、以下のような機械学習の実践的なチュートリアルを紹介しました。

 ただ、これらを実行するための環境構築で詰まっている人も正直多いのじゃないかと思います。Google Colaboratoryなら、ブラウザさえあれば、上記のチュートリアルも比較的楽に動かすことができるのではないかなと思います(もちろん、1部は追加でパッケージのインストールも必要ですが、0からよりは随分楽かと思います)。

 ここから追記です。ChainerのチュートリアルをGoogle Colaboratoryで動かす方法は、以下の記事が詳しかったです。Google Colaboratory上でChainerのGPUを使うためのTIPSなどあり有益です。

Colaboratoryで10秒で起動できる、ChainerのGitHubレポジトリ作ってみた

 そして、こういった学習環境を、完全にセットアップされた状態で提供してくれているのが、Aidemyさんです。初学者の教育には、本当に最適だと思いま。3月まで無料なので、試してない方は今のうちです(別にAidemyさんの回し者ではないので、無理しなくて試さなくても大丈夫ですw)

 といっても、Aidemyさんの環境は学習プログラムに沿ったこと以外はできないので、自分のやりたいことにステップアップする場合、Google Colaboratoryというのは、スムーズに移行するよい環境と言えるかもしれません。

まとめ

 Google Colaboratoryを使って、Pythonの機械学習をして見ました。ローカルでの環境構築不要で、簡単にPythonのプログラムを試せるので本当に良いですね。

 ちなみに、今回の記事を書いたきっかけですが、実は以下記事で id:jastaway03 私のブログ記事と同じことをしようとして環境構築に10時間かかったということを書かれていたからです。

 初心者で10時間で環境構築できたなら十分かなとも思うのですが、環境設定の部分はGoogle Colaboratory使えばかなり楽にできるので、最初はこういうものを使った方が、初学者の方には重要な部分に早くフォーカスできてよいのかなと思いました。多分、Google Colaboratory使えば、初心者の方でも1時間かからずに動かすことができるのじゃないかと思います(ある程度の知識は必要ですが)。

 そして、Google Colaboratory。TensorFlowもKerasもプリインストールされていますし、Chainerも(pip installすれば)使えるので、ディープラーニングにも活用できそうです。なんとGPUも12時間使用無料らしいですし。一体どうなっているのでしょう…

 GPUの使い方も含めた、Google Colaboratoryの使い方は、以下のid:ueponx さんの記事が詳しいので、興味湧いたけど使い方がわからないという人は、以下の記事も合わせて読むと良いと思います。

 ただ、逆のことを言うようですが、こういうクラウド環境に完全に囲い込まれたら怖い(クラウドが無いと何にもできないマンになってしまう)なという思いがあるので、個人的にはローカルでもちゃんと環境構築できるようになった上で、こういうサービスを活用していくのが良いのじゃ無いかなと思っています。賢くローカルとクラウドを使い分けて、快適な機械学習ライフを送りましょう!

Google Colaboratoryを使った機械学習のチュートリアル

 Google Colaboratoryは使えるようになったけど、具体的に何をすれば分からない!という人のために、機械学習のチュートリアルを有料noteで公開しています。手を動かしながら、実用的な機械学習モデルが作れますので、とりあえず機械学習・ディープラーニングで何かをやってみたいという人にはピッタリと思います。

 有料ですが、コピペで学習もしやすいですし、書店の本に比べれば比較的リーズナブルなお値段と思います。興味あれば以下参照下さい。

参考リンク

ドシロウトがGoogle Colaboratoryをさわってみた

DataFrameからリストやnumpy.ndarrayへの変換 - Pythonのメモ帳

pandas DataFrame内にNaNありますか?

Colaboratoryについて(まとめ) | 粉末@それは風のように (日記)

GitHub - chainer-community/chainer-colab-notebook: this repository is synchronized with [Chainer Colab Notebook](https://drive.google.com/drive/u/0/folders/1GdwW9HmKfKfo6E-K81YKuURh-XheCGDR) on Google Drive.

関連記事