Google Colaboratory:環境構築無しでPythonを始めよう!
1.概要
「Pythonを学んでみたい!」けど、どうやって始めてよいかわからない時は「Google Colaboratory」がオススメです。
参考までにローカルでPythonを使うのであれば下記記事をご参照ください(IDEはVS Code推しです)。
2.Google Colabの特徴・留意事項
Google Colabの特徴は下記の通りです。
2-1.メリット
なお課金(Colab Pro)すれば比較的長い時間GPUが使用できていたのですが、2022年10月以降では今まで通りに課金しても長い時間GPUは使用できなくなりました。
2-2.デメリット
3.Google Colabファイルの作成
Google Colabの使用方法・参考資料は下記の通りです。
1.Googleのアカウントを作成
2.Google chromeをDLしてログイン
3.Google chromeのホーム画面右上のボタンから「ドライブ」を選択
4.左上の「+新規」から「その他」->「Google Colaboratory」を選択
別タブで下記の画面が出てきたら準備完了です。
もし「Google Colaboratory」の選択が出ない場合は「Welcome To Colaboratory - Google Research」のサイトを一度開いてみて再実行してみてください。
4.Google Colabの使用
Google colabを実際に使用してみます。コードは下記記事を参照しました。
4-1.操作方法
細かい操作方法は下記を推奨します。
4-2.設定変更
「ツール」->「設定」より背景モードやインデントの設定が可能です。
4-3.簡単なコードの実行
下記のようにコードボックス内にコピペして「Ctrl+Enter」を実行すると結果が出ました。事前に「pip install pandas_datareader」がなくても環境構築がされているためエラーなく結果が出ました。
4-4.ライブラリーの追加
下記コードを実行すると「ライブラリがない」とのエラーが出ました。
環境構築はされていますが初期に入っていないものもあるため、必要な物は自分でインストールする必要があります。本コードより上のコードセルで「!pip install japanize_matplotlib」とするとライブラリがインストールされます。
その後に同じコードを実行するとエラーなく処理できます。
5.Linuxコマンドの使用
コードブロックに"!"や"%"をつけるとLinuxのコマンドを使用できます。
参考までに良く使用するコマンド一覧は下記の通りです。
cd <path>:"change directory"の略で作業ディレクトリを変更
cp <コピーするpath> <コピーされたfileのpath>: ファイルをCopy
dir:作業ディレクトリ内のフォルダとファイル一覧取得
pwd:作業ディレクトリのパス確認
rm <file path>:ファイルを削除
zip -r <zip file name>:Zipファイルを作成
unzip <zip file path>:Zipファイルを解凍
6.マジックコマンド
マジックコマンド:pd.DataFrameなどを適当にフィルタリングなどしながらブラウズしたい場合「%load_ext http://google.colab.data_table」を使用
7.コードスニペット/Colabでよく使うコード
コードスニペットとは「用途に合わせて事前に用意されたコード」です。colabでよく使うコードも含めて紹介します。
7-1.Driveマウント:drive.mount('/content/drive')
ColabからGoogle Driveへ直接接続(マウント)できるようにします。
[IN]
from google.colab import drive
drive.mount('/content/drive')
[OUT]
マウント完了するとファイル欄に”drive”が出現する
7-2.Sessionの削除:runtime.unassign()
Colabは無料枠で使用するとGPUやSessoin数の制限があるため、使用していないnotebookはsessionを解除した方がよく、下記コードで実施できます。
[IN]
from google.colab import runtime
runtime.unassign()
[OUT]
7-3.ファイルのアップロード:files.upload()
Google ColabはローカルPCのファイルを直接処理できない(クラウド環境が自分のPC環境に簡単に接続できない)ため、処理したいファイルなどがあればアップロードする必要があります。処理方法は下記の通りです。
[IN]
from google.colab import files
uploaded = files.upload()
[OUT]
7ー4.OpenCVの画像を出力
OpenCVでの画像を変換せずに直接読み取ることが出来ます。
※curlコマンドはColabの画像を取得するコマンドのため出力には関係なし
[IN]
from google.colab.patches import cv2_imshow
!curl -o logo.png https://colab.research.google.com/img/colab_favicon_256px.png
import cv2
img = cv2.imread('logo.png', cv2.IMREAD_UNCHANGED)
cv2_imshow(img)
[OUT]
8.参考:Colab用関数まとめ
すぐに忘れるので6章のスニペット+αから自分が使いやすいようにまとめました。
機能をGoogle Drive内にモジュール化する(colab_utils/colab_utils.py)
Colab用だけでなく他に欲しい機能も追加(dfの並列表示など)
実際にColab内で使用する場合はimportできるようにsysでパスを通す
[colab_utils/colab_utils.py]
from google.colab import files, drive, runtime
class Colabutils:
def __init__(self, setmount=True):
if setmount:
self.mount() #インスタンス化時にGoogle Driveをマウント
def upload(self):
uploaded = files.upload() #ファイルのアップロードした
def download(self, path):
files.download(path) #ファイルのダウンロード
def delsession(self):
runtime.unassign() #セッションの削除
def mount(self):
drive.mount('/content/drive') #Google Driveのマウント
class HorizontalDisplay:
def __init__(self, *args):
self.args = args
def _repr_html_(self):
template = '<div style="float: left; padding: 10px;">{0}</div>'
return "\n".join(template.format(arg._repr_html_())
for arg in self.args)
[IN ※Google Colab内]
import sys
def sys_path_append(path):
if not path in sys.path:sys.path.append(path)
sys_path_append('/content/drive/MyDrive/colab_utils')
from colab_utils import Colabutils, HorizontalDisplay
colabutils = Colabutils(False) #TrueでDriveマウント
print([i for i in dir(colabutils) if not i.startswith('__')])
[OUT]
['delsession', 'download', 'mount', 'upload']
あとがき
1-3は初学者向けですが、4.拡張機能は自分用で更新予定です。
なお初めのころはGoogle Colabを使用してPC内にある写真を処理させようとしたら全然だめで、クラウド環境と自宅PCは切り離されていることに気付いたというレベルの低さです。
この記事が気に入ったらサポートをしてみませんか?