【 Colaboratory】使い方を徹底解説 pythonを学習しよう
Colab とは
Colab(正式名称「Colaboratory」)では、ブラウザ上で Python を記述、実行できます。以下の機能を使用できます。Googleのアカウントさえ持っていれば、ブラウザとインターネットを利用してすぐにでも機械学習プロジェクトを実施することができるサービスです。プログラム学習をする上で問題となる環境構築も不要で、すぐにpythonの学習を始めることができる利点があります。下記の4点が主なメリットだと思います。
・環境構築が不要
・GPU に料金なしでアクセス
・簡単に共有
・Googleアカウントがあれば無料
Colaboratoryを使ってみよう
事前に用意するものは、Googleアカウントになります。環境構築が不要ですが、一番初めだけアカウントに少し設定する必要があります。
手順1 Googleドライブへの設定
Colaboratoryを利用したことがない場合は、この手順1が重要です。手順は、言葉の説明より画像で説明したほうがわかりやすいため、画像多めの説明です。では、始めましょう。Googleアプリを新規に追加する手順ですので、
Googleドライブ → 新規 → その他 → アプリを追加
の順番で追加してきます。この辺りは、2023年1月に作成している記事になりますので、アイコンや配置等が若干変更する恐れがありますのでご注意ください。
手順2 ColaboratoryのGPUを設定しよう
ファイル名とGPUを設定しよう。Colaboratoryでは、無料で高機能なGPUを利用することができます。
ランタイム → ランタイムのタイプを変更 → GPU
ファイル名を変更したら忘れずにGPUも変更を忘れずにしておくと良いと思います
手順3 helloWorldを表示しましょう
下記のソースコードを記載し、実行ボタンを押すと「helloWorld」が表示されます。pythonは、C言語のような#inculeをしないとprintfが利用できないわけではありません。この1行で完成します。
print("Hello World")
手順4 input文を使ってみよう
出力だけでは面白くないため入力も行いましょう。入力は、inputで行います。文字と変数を組み合わせたものを出力してみます。気を付ける点は、文字をシングルコーテーションで囲むことです。文字と変数を組み合わせるために必要なことは「+」でつなげていくということですね。
a = input('名前 ')
b = 'こんにちは' + a + 'さん'
print(b)
手順5 randomとif文を使ってみよう
randomは、標準で利用できないため「import」を使ってランダム文を利用できるようにします。
import random
x = random.randint(0,99)
if x < 50:
print(x, 'は50未満です')
else:
print(x, 'は50以上です')
様々なプログラミングの例を紹介
pythonに関しては、別の記事でまとめているため、そちらもお願いします。(リンク先はこちら)
ここからは、3つほど事例を紹介していきますので、そちらの事例を参考にColaboratoryで使い方を試してみてください。
注意点としては、GUIに関するプログラムができないということでしょうか。簡単に言うと「import tkinter as tk」を実行しようとするとエラーがでます。現状、Colaboratoryで実行ができません。それ以外は、問題なくできるのかなと思います。全て確認しているわけではないため、あくまで主観です。
事例1 配列とfor文を利用した例
randomは、0から1までの乱数を呼び出しますが、今回は少しアレンジしrandintメソッドを利用したプログラムとしました。今回は、0から100までの数字を適当に選ぶようなプログラムのため、読みやすいかなと思います。
<randintとは> ーーー>公式の説明ページ
random.randint(a, b)
a <= N <= b であるようなランダムな整数 N を返します。
import random
x = random.randint(0,100)
if x < 50:
print(x, 'は50未満です')
else:
print(x, 'は50以上です')
事例2 交換法による並び替え
並び替えは、プログラミングの入門卒業の登竜門だと言われています。並び替えの部分は、C言語だろうが同じです。基本構文であるfor文や配列の記載方法がわかると記載可能です。このプログラムでは、いったん「input('Enterを押すと整列を開始')」を入れることで、今から並び替えしますというメリハリをつけています。
a= [33, 88, 7, 65]
data = len(a)
print('整列前')
print('番号',' ','データ')
for i in range(0, data, 1):
print(i,' ',a[i])
print('')
input('Enterを押すと整列を開始')
print('')
for i in range(0, data-1, 1):
for j in range(data-2, i-1, -1):
if a[j] > a[j+1]:
temp = a[j]
a[j] = a[j + 1]
a[j + 1] = temp
print('整列後')
print('番号',' ','データ')
for i in range(0, data, 1):
print(i,' ', a[i])
print('')
print("整列は終了しました")
事例3 オープンデータの活用(csvファイルを読み込んでプログラム処理)
オープンデータを利用したプログラミング例です。ここで利用するオープンデータは、気象庁で公開している各種デーを利用します。リンク先からcsvデータをダウンロードするには、下記の画像を参考にしてください。(ここから気象庁のHPへ)
csvファイルを取得するには、気象庁のダウンロード方法がわからないと手に入らないため、細かく設定を掲載しておきました。例は、東京で実施しました。csvファイルを読み込む前に加工が必要です。ダウンロードしたデータは、東京や年や月など数字以外のデータが多く含まれています。この事例のプログラムは、数字を読み込んで指定した温度より高いものを表示するプログラムのため、文字列を全て削除する必要があります。また、年も2010でなく、2010/1のように修正します。一つずつでは面倒なので、こちらの記事を参考にしてください
データの加工まで進んだら
from google.colab import files
uploaded = files.upload()
を実行してください。さきほど加工したcsvファイルをUPロードします。数秒時間がかかりますが100%と表示されるので終了したかどうかの判断はわかりやすいです。続いて、下のプログラムを実行し、適当な温度を入力してください。ただし、数字が高いとヒットしないため???となりますので注意ください。
<注意>
・csvファイルの拡張子は、大文字はNGです
・1回ごとにUPロードしないとエラーとなります。
#先にこちらを実行してCSVファイルを読み込みます
from google.colab import files
uploaded = files.upload()
t1 = input('温度の入力')
fp = open('data.csv','rt')
print(fp)
for b in fp:
a = b.split(',')
date = a[0]
t2 = a[1]
if float(t2) >= float(t1):
print(date + ' : ' + t2)
fp.close()
まとめ
Colaboratoryを使って様々なことが簡単にできるようになるため、是非チャレンジしてみてください。Googleでは、JavaScriptベースのGASが使いやすいので、こちらもチャレンジしてみてください。面白いプログラムライフを!!