Pythonで作ったツールを配布・共有するなら「Google Colaboratory」を使うべきか

Pythonをゴリゴリ書いていると、ふと誰かに共有したくなる時がある。

ツールでも、分析結果でも共有するということが重要。

ただPythonの場合exeファイル化するのが非常に難しい。

できたとしても動作が遅かったり、問題点は多い。

それでもPythonが便利なのは周知の事実。

さてどうしたものかと考えていた時に見つけたのが「Google Colaboratory」

発音はコラボラトリィ?でいいのか。

どうやらオンラインで動くjupyter notebookということだった。

pipも動くし、なんとseleniumでブラウザ操作もできるらしい。

これならわざわざpython環境を他人のPCにセットアップしなくてもいいし、即座に共有が行える。

早速どうやって使うのか、何ができるかを調べてみた。

Google Colaboratoryの概要

Google Colaboratoryとはブラウザ上で動くjupyter notebook環境です。

Colaboratoryと書かれたりColabと書かれたりしていますが、どちらも同じものです。

Google Colabの説明動画

jupyter notebook(ジュピターノートブック)とはなんぞやという話ですが、Anaconda環境をインストールすると付いてくるPythonの開発環境のようなものです。

プログラムを編集し、即座に実行することができ、主にデータ分析の分野で使われます。

グラフなどをファイルに出力しなくてもjupyter notebook上に表示ができ、コードの修正や追加が簡単にできるようになっています。要するに効率化ツールですね。

jupyter notebookの環境は、Pythonがインストールされている端末がなければ動きません。

なのでjupyter notebookのファイル(ipynb)は共有するのが困難です。

Google Colabはそれがブラウザ上で動かせるということでした。

マジ?と思われる方がいると思いますが、マジです。

開発用の高性能PCを貸してもらえるようなものです。そしてそれを複数人で共有可能・・・。

なんだただの神か・・・。

これがGoogleの力ですね。頭が上がりません。

ということで使い方を調べてみます。

Google Colabの使い方

Google Colabページ

https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja

上記のURLにアクセスするだけでColabを使い始めることができます。

Googleアカウントを持っていない人は作ってログインしておきましょう。

ファイル > Python3の新しいノートブックをクリックします。

この時点で、自分のGoogle Driveにjupyter notebookのファイルが自動で保存されています。

いやいや、どんだけ簡単なんですか。

これだけでもうpythonを使う準備が整いました。

早速試しにサンプルコードを動かしてみます。

以下のコードを入力してCtrl+Enterを押して実行。

出ました。ちゃんとpythonが動いています。

そのまんまjupyter notebookです。

ではこのファイルを共有してみます。

Google Colabのファイルを共有する

これもめちゃくちゃ簡単です。

画面右上の共有を押す。

出てきた小窓の右上の、「共有可能なリンクを取得」を押しましょう。

そうするとurlが発行されますので、それを共有したい相手に送って終わりです。

共有の種類があるようです。

  • リンクを知っている全員が編集可
  • リンクを知っている全員がコメント可
  • リンクを知っている全員が閲覧可

3種類あります。この辺りは文字通りですね。

デフォルトでは「リンクを知っている全員が閲覧可」になっています。

スプレッドシートなどですでに共有をしている人には馴染みのある操作でしょう。

ツールなども共有可能

Pythonでツールを作って作業を効率化されている方は多いと思います。

例えばスクレイピングしてきたデータを加工し、データベースに保存。グラフを定期的に出力。なんていう作業です。

調べてみるとrequestも使えますし、pandasはもちろん、seleniumも使えるようでした。

requestなどはまぁ使えるだろうと思いました、まさかseleniumまで使えるとは・・・。

ColaboratoryでSeleniumが使えた:javascriptで生成されるページも簡単スクレイピング

JSを使ったサイトをスクレイピングしたいと思ったら、ブラウザでのレンダリング処理が必須です。

そこもできるとなると、もうローカルでPython環境を構築する必要もあまりないなと思いました。

(Djangoなどでウェブサービスを作りたいという場合は、もちろん別ですが)

一応制限もあるようで、長時間の運用はできないようになっているとのことでした。

90分だったり、12時間だったりで止められるようです。

Google Colabratoryで12時間連続稼働させるときの進捗ログ

Google Colaboratoryの90分セッション切れ対策【自動接続】

とにかくこれで端末を気にせずにPythonも書けますし、共有もできそうです。

Colabを使って色々試してみようと思いました。

以上です。

番外編:Colabで機械学習入門

このまま終わるとColabの本当の素晴らしさが伝わらないまま終わりそうなので、追記しておきます。

Colabratoryの素晴らしさはなんと言ってもGPUが使えることにあります。

そしてGPUは機械学習(ディープラーニング)に欠かせないものです。

【図解】なぜGPUはディープラーニング・AI開発に向いているの?選び方は?NVIDIAさんに聞いてきました

ちなみにGPUはそれなりに高いです。

数万円から数十万円とピンキリですが、やはり高いGPUは計算が速いというメリットがあります。

昨今流行りのディープラーニングですが、AIは大量のデータが用意できてやっと使えるようになります。

そして大量のデータを学習してやっと動かせるようになります。

なのでAI開発はスペックの高いコンピュータがあればあるほど有利になるんですね。

個人が良いGPUを購入するのはやはりハードルが高いです。

そこで役に立つのがColabです。

ColabはGPUをなんと使うことができます。

やはり神ですね。

GPUのスペックですが、コマンドを打ち込むことで確認することができるようです。

初期設定のままでは、GPUを使わない設定になっているので、使う設定にまずはします。



		

上記のコードを入力してGPUのスペックを確認すると。

「Tesla K80」これがcolabで使われているGPUのようです。

早速お値段を検索すると・・・。

27万!!

これを無料で使わせてくれるなんて・・・。

Googleは本当に偉大だなと思いました。

The following two tabs change content below.
sensiki

sensiki

名前:sensiki 職業:サラリーマン。いわゆる理系男子で大学からプログラミングを学び仕事でも活用中。好きな言語はPython。流行に疎いこともあり最近の話題を独自の視点でまとめていこうと思いブログ開始。スクレイピングや統計を用いたエントリを書きたいと思いまながらツールを作成中。

広告

技術

Posted by sensiki