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

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

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レポジトリ作ってみた - Qiita

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

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

GitHub上のJupyterNotebookをGoogle Colaboratoryを開くことができる

 以下記事で知ったのですが、実はGitHubとGoogle Colaboratoryの組み合わせはめちゃめちゃ便利です。

 上記に書いてある通り、GitHubリポジトリ内のjupyter notebookを開き、URLのhttps://github.comhttps://colab.research.google.com/githubに変換するだけです。素晴らしい…

その他便利なTIPSのまとめ

 Google Colabで使える便利なTIPSなどをまとめました。以下記事参照下さい。

Google Colaboratoryの記事を書こうと思ったきっかけ

 余談になりますが、今回の記事を書いたきっかけ、実は以下記事で 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を使って、Pythonの機械学習をして見ました。ローカルでの環境構築不要で、簡単にPythonのプログラムを試せるので本当に良いですね。初心者から上級者まで、是非活用してみてください。

書籍の宣伝

 AIの初心者向け本「からあげ先生のとにかく楽しいAI自作教室」を執筆しました。Google Colaboratoryを使って、実際に動かしながらAIを学べる本になっています。

 文系でAI素人の私の妻も、実践できて理解を深められるような、初学者向けの内容になっています。以下に紹介記事を書いていますので、興味ある方は是非ごらんください。

参考リンク

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

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

pandas DataFrame内にNaNありますか? - Qiita

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

GitHub - chainer-community/chainer-colab-notebook: this repository is synchronized with ReadTheDocs.

関連記事

変更履歴

  • 2020/12/20 書籍の執筆に関して追記
  • 2019/04/08 関連記事追記
  • 2019/03/22 記事の修正
  • 2019/02/02 関連記事追記
  • 2018/12/19 便利なTIPSまとめへのリンク追記
  • 2018/03/22 Google Colaboratory上でのChainerのチュートリアルに関して追記