Chrome拡張機能でGoogle Colabを定期実行
Chromeの拡張機能でGoogle Colabを定期実行したい人向けの記事になります。
ほぼ環境構築なしで、GPUが利用できるGoogle Colaboratoryは本当にすごいですよね。
そこで、このすごいツールを最大限活かすために自動で定期実行する方法をご紹介します。
Chromeの拡張機能を3つ使用します。
「Selenium+python」での自動実行も検討しましたが、ロボットブラウザとして開かれたChromeではGoogleアカウントにログインできなかったため別の手法を考えました。
Google Colabで実行時刻一覧を表示
定期実行するプログラムは何でも良いですが、定期実行した時刻が分かるようGoogle Colaboratoryで実行時刻の一覧を表示するコードをご紹介します。
- Google Colabにアクセスします。
- 「新規作成」を選択します。
- pythonコードを記入します。
import datetime as dt
# 現在時刻の取得
now = dt.datetime.now()
# 現在時刻をファイルに出力
with open("./result.txt","a") as f:
f.write(str(now)+"\n")
# 実行時刻一覧を出力
with open("./result.txt","r") as f:
print(f.read())
4. 「▶️」を押して実行します。
複数回実行すると実行時間の一覧が表示されていきます。このプログラムを定期実行していきます。
UI. Vision RPAで自動化
UI. Vision RPAを使用して、自動でChromeを操作します。手順は以下になります。
1. UI. Vision RPAをインストールします。
2. UI. Vision RPA を開きます。
3. 「+Macro」をクリックします。
4. 「Record」をクリックします。
5. chromeでGoogle Colabの「▶️」ボタンをクリックして、マクロを記録します。
実行すると、自動で操作が記録されていることが確認できます。
6. 「Stop Record」をクリックします。
7. 「Play Macro」をクリックして、自動で実行されることを確認します。
8. 作成したMacroをhtmlとして保存します。
この保存したHTMLを開くだけで実行されることが確認できます。この機能はSeleniumではなかったので、優秀な機能ですね。
cronTabで定期実行
ここまでで保存したHTMLファイルを開くだけでGoogle Colabを実行することができるようになっていると思います。あとは指定時刻にHTMLファイルを開くことができれば、定期実行が可能となります。そこで利用する拡張機能はcronTabです。この機能を使うことで定期的に特定のpath(URL等)を開くことができます。手順は以下になります。
1. cronTabをインストールします。
2. cronTabを開きます。
3. 先程のHTMLファイルを定期的に開く設定をします。URLにはファイルがある場所(path)を記入します。ここで末尾に「?direct=1」と追記することで、HTMLファイルを開いたあとに「OK」を押す必要がなくなり自動化できます。逆に、この追記が無い場合、「OK」ボタンを押す必要があり、自動実行することできません。また、下の例では2分おきに自動実行している例です。
Tab Wranglerで自動でTabを閉じる
cronTabでは自動で新しいTabが開いてしまいます。そのため、自動でTabを閉じないとTabがどんどん生成されてしまいます。そこで、Tab Wranglerで自動でタブを閉じる方法をご紹介します。
1. Tab Wranglerをインストールします。
2. Tab Wranglerを開き、設定します。設定は個人の好みによると思います。
以上で、Google ColabをChromeの拡張機能だけで定期的に実行することができます。これでDeep Learningの学習を定期的に行うことができ、研究が捗りますね。もちろん、定期的に時系列データの予測も可能です。AlgoAIでは、定期的に時系列データを予測し、Tweetしていました。もしよろしければTwitterをフォローしてくださいね。
Google Colabで仮想通貨のデータ取得やFXのデータ取得のプログラムも公開しています。