Deep Learning

Google Colab チートシート

 今回はDeep Learning界で大人気の「Google Collab(グーグル・コラボ)」の環境周りのコマンドチート集です。


Google Collabo

 グーグル・コラボはいくつかの制限はありますが、無料かつ安定したPython実行仮想環境です。TensorFlow実行に関係するパッケージは一通り予めインストールされているように見受けます。ランタイムをGPUに指定した場合は「nVIDIA Tesla K80」か「nVIDIA Tesla T4」のどちらかが割り当てられます(自分では選べない)。

1. Google Colabで使わせてもらっている仮想マシンのスペック表示

 Google Collaboで下記のコマンド(先頭に「!」を付けることでコマンドシェルやUnixコマンドを実行)すると使わせてもらっている仮想マシンの各スペックを表示させることができる。

  • OS

    !cat /etc/issue

    Ubuntu 18.04.3 LTS \n \l
    

  • CPU

    !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 cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
    bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
    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 cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
    bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
    bogomips	: 4400.00
    clflush size	: 64
    cache_alignment	: 64
    address sizes	: 46 bits physical, 48 bits virtual
    power management:
    

  • HDD構成と容量

    !df -h

    Filesystem      Size  Used Avail Use% Mounted on
    overlay         359G   30G  311G   9% /
    tmpfs            64M     0   64M   0% /dev
    tmpfs           6.4G     0  6.4G   0% /sys/fs/cgroup
    /dev/sda1       365G   41G  325G  12% /opt/bin
    tmpfs           6.4G   12K  6.4G   1% /var/colab
    shm             5.9G  4.0K  5.9G   1% /dev/shm
    tmpfs           6.4G     0  6.4G   0% /proc/acpi
    tmpfs           6.4G     0  6.4G   0% /proc/scsi
    tmpfs           6.4G     0  6.4G   0% /sys/firmware
    

  • メモリー

    !free -h

                  total        used        free      shared  buff/cache   available
    Mem:            12G        632M         10G        892K        2.0G         11G
    Swap:            0B          0B          0B
    

  • GPU

    !nvidia-smi

    Tue Oct 29 05:15:39 2019       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 430.50       Driver Version: 418.67       CUDA Version: 10.1     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla K80           Off  | 00000000:00:04.0 Off |                    0 |
    | N/A   47C    P0    62W / 149W |     69MiB / 11441MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+
    

    2. TensorFlow関連フレームワークの情報の確認

  • Pythonのバージョン

    import platform
    print("python " + platform.python_version())

    python 3.6.8
    

  • TensorFlowとその関連フレームワークのバージョン

    !pip show tensorflow
    !echo '--'
    !pip show tensorboard
    !echo '--'
    !pip show tensorflow-hub

    Name: tensorflow
    Version: 1.14.0
    Summary: TensorFlow is an open source machine learning framework for everyone.
    Home-page: https://www.tensorflow.org/
    Author: Google Inc.
    Author-email: packages@tensorflow.org
    License: Apache 2.0
    Location: /usr/local/lib/python3.6/dist-packages
    Requires: google-pasta, keras-applications, six, grpcio, astor, tensorboard, termcolor, protobuf, wrapt, keras-preprocessing, gast, absl-py, numpy, tensorflow-estimator, wheel
    Required-by: stable-baselines, magenta, fancyimpute
    --
    Name: tensorboard
    Version: 1.14.0
    Summary: TensorBoard lets you watch Tensors Flow
    Home-page: https://github.com/tensorflow/tensorboard
    Author: Google Inc.
    Author-email: packages@tensorflow.org
    License: Apache 2.0
    Location: /usr/local/lib/python3.6/dist-packages
    Requires: grpcio, markdown, protobuf, absl-py, werkzeug, wheel, setuptools, six, numpy
    Required-by: tensorflow
    --
    Name: tensorflow-hub
    Version: 0.5.0
    Summary: TensorFlow Hub is a library to foster the publication, discovery, and consumption of reusable parts of machine learning models.
    Home-page: https://github.com/tensorflow/hub
    Author: Google LLC
    Author-email: packages@tensorflow.org
    License: Apache 2.0
    Location: /usr/local/lib/python3.6/dist-packages
    Requires: numpy, protobuf, six
    Required-by: 
    

    3. ファイル関連の扱い

  • Google Driveのマウント

     Google Driveのルートディレクトリが「./gdrive/’My Drive’」としてマウントされる

    from google.colab import drive
    drive.mount('/content/gdrive')

  • 画像の表示

    from IPython.display import Image
    Image('パスを含む画像ファイル名')

  • ファイルのダウンロード

    from google.colab import files
    files.download("パスを含むファイル名")

  • ファイルのアップロード

     実行するとファイルセレクタが表示されるのでGUIでファイルを選択

    from google.colab import files
    uploaded = files.upload()

  • URLを指定してファイルを取得

    !wget "ファイルのURL"

    4. Google Collaboの使用経過時間を表示する

     Google Collaboには「セッションは12時間で切れる」と「90分間操作をしないとセッションが切れる」という利用上の制約があるので、前者の12時間タイマーであとどれくらいの時間が経過したかを表示する

    !cat /proc/uptime | awk '{print $1 /60 /60.0f "hours (" $1 "sec) have passed"}'

    1.8936hours (6816.97sec) have passed
    
  • Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments