環境構築せずに機械学習がした~い ~Google Colaboratoryの紹介~

1.はじめに

新卒ラスト一か月、三木拓海です。
皆さんは、旅先とか、長距離移動中とか、喫茶店とか、焚き火を眺めたりとか、そんなリラックスした環境で、ふと機械学習を回したくなる時ってありませんか? 僕は無いです。
ただ、まぁ最近、ちょくちょくデータを処理しなきゃいけない時は増えましたし、データ処理ってなるとちょいちょい簡単な機械学習は回すことも増えました。
その時に便利なのが、Google Drive上に保存したコードとデータにブラウザからアクセスしてすぐにpythonコードを回せるGoogle Colaboratoryです。

2.Google Colaboratory

Jupyter Notebook環境をブラウザで使えるツールです。必要なものはGoogleアカウントのみ。Google Drive上に保存したノートブックをブラウザで編集、実行できます。
google driveの新規ボタンから

アプリを追加を押す

Colaboratoryで検索すると

ほらあったー

インストールすれば

追加したアプリの所から

使えるようになります!

3.何がいいってGPUがタダで使える

Colab上では学習をする際、GPU付きVMに繋げる事が可能です。繋がる先のGPUは選べないのですが、最低の場合でTesla K80なので、自分が使う範囲では全く問題ないです。もっといい性能が欲しい場合の人は、Pro版に課金しましょう

4.pipも問題なく使える

大体のパッケージやモジュールは入っているので、基本numpyやpandasは最初のセルでインポートしてあげればオーケーです。それでも足りないパッケージがある場合は、!pip install hogehogeと書いたセルを実行してインストールしてあげましょう。最初のコードセルで打ってあげれば大丈夫です。
ただ、このやり方だとブラウザで立ち上げ直すごとにインストールしなおしになります。
一回一回やるのは手間だなという人は、以下の記事を参考にしてみてください。
https://ggcs.io/2020/06/22/google-colab-pip-install/

5.学習回してブラウザ閉じちゃって後で確認したりも

ブラウザベースなので、同一googleアカウントから開き直せます。自分は職場のpcからちょっと時間がかかるコードを実行し、電車に乗って帰宅し、風呂に入りハイボールを飲みながらゲームしつつ寝落ちて朝起きてから家のPCブラウザで結果を確認した所、エラーを吐いて止まっていた事がありました。
皆さんは実行結果は細かく確認しましょう
(どうやらスマホでモニタリングする方法もあるらしい?)

6.ノートブック形式なので、出力グラフをコードと一緒に保存

ノートブックの利点といえば、文書とコードと出力グラフを一緒にまとめられる事ですよね。
試しに簡単な決定木をグラフに出力してみた結果は以下のような感じになります。

7.おわりに

社内でも、学生時代に機械学習していた人たちが結構いる事が分かったのですが、Colabを知っている人は割とまちまちだったので、いい機会と思い簡単な紹介記事を書きました。
社内で知見とコードをストックして、クラウドとAIに興味ある人にもっともっと入社してもらえればなと思います。