Help us understand the problem. What is going on with this article?

Google Colaboratory事始め

More than 1 year has passed since last update.

はじめに

Googleが機械学習の教育や研究用に提供しているツールである、Google Colaboratoryを試してみました。
Jupyter Notebook環境が無償で!使うことができるようです。
詳しくは以下を参照。

Google Colaboratoryよくある質問

Google Colaboratoryの起動

Google Colaboratoryにブラウザでアクセスするだけです。

ブラウザはGoogle Chromeを使用するとのこと。
アクセスすると、「最近のノートブック」と表示され、最近使ったファイルを参照することができます。

新規作成

ノートブックを新規作成 > PYTHON 2の新しいノートブック または, PYTHON 3の新しいノートブック を選択します。

リソースの確認

"!"をつけることで、Linuxのコマンドを実行することができます。
コードセルを追加し

!cat /proc/cpuinfo

実行結果は以下の通りとなりました。

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping    : 0
microcode   : 0x1
cpu MHz     : 2200.000
cache size  : 56320 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms rtm rdseed adx xsaveopt
bugs        :
bogomips    : 4400.00
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping    : 0
microcode   : 0x1
cpu MHz     : 2200.000
cache size  : 56320 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 1
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms rtm rdseed adx xsaveopt
bugs        :
bogomips    : 4400.00
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

GPUの使用

ノートブック作成時には、GPUの割当がされていません。以下でGPUの割当を行います。

上部メニューの ランタイム > ランタイムのタイプを変更
 を選択。
ハードウェアアクセラレータNone から GPU に変更して保存。

PyTorchのインストール

PyTorchなどのライブラリを使用する場合、ノートブックのはじめにインストールを行う必要があります。

以下でPyTorchをインストールします。

# http://pytorch.org/
from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())

accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'

!pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.3.0.post4-{platform}-linux_x86_64.whl torchvision

# GPUの確認
import torch
use_gpu = torch.cuda.is_available()
print(use_gpu)

True が返ってくれば、先程のGPU割当が正しくできています。

ファイルアップロード、ダウンロード

ローカルで作成したファイルをColaboratoryにアップロードし、Colaboratory上で作成したファイルをダウンロードしてみます。
テストデータをアップロードして、処理結果をダウンロードようなときに使うと思います。

実験用のサンプルプログラム

まず、実験(アップロード用)のため、以下のスクリプトをローカルに保存(ファイル名:sample.py)しておきます。

sample.py
def helloworld():
    print("hello world")

def writefile(fn):
    with open(fn, "w") as f:
        f.write("google Colaboratory file download sample")

hello worldとテキスト表示する関数と、テキストファイルを作成する関数が記載されています。

google Colaboratoryへのアップロード

Colaboratoryへのアップロードにはまず以下をインポートします。

from google.colab import files

以下のコードでファイルを選択し、アップロードができます。

f=files.upload()

files.upload()を実行した例
スクリーンショット 2018-03-25 17.46.36.png
ファイル選択からアップロードしたいファイル(今回は先程作成した、sample.py)を選択してください。

アップロードしたスクリプトの実行

では、先程アップロードしたスクリプトを実行してみましょう。

import sample #アップロードしたファイル名
sample.helloworld()

正しく実行されれば、結果にhello worldが表示されます。

補足

同名のファイルを複数回アップロードした場合、上書きではなく別名保存(例:sample (2).py)されるので注意してください。その場合、!rm ファイル名で削除することができます。

作成したファイルのダウンロード

ファイルのダウンロードは、files.download()で行います(要from google.colab import files)。

先程と同じく、アップロードしているスクリプトを実行します。

import sample #すでにimportしていれば不要
sample.writefile("download.txt") # download.txtというファイルを作成

files.download("download.txt") # 作成したファイルをダウンロード

実行すると、ブラウザのダウンロードに、download.txtがダウンロードされます。
ファイルを開いてスクリプトの通り、google Colaboratory file download sampleと書き込まれていればOKです。

以上がファイルアップロード、ダウンロードの方法です。これで一通りの作業ができるかと思います。

リンク

Google ColaboratoryでOpenCVを使う

kouki_outstand
画像処理、音響処理、機械学習など
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした