GoogleColab-無料のGPUを使用

Googleは、Colabノートブックに無料のGPUの使用を提供しています。

GPUの有効化

ノートブックでGPUを有効にするには、次のメニューオプションを選択します-

Runtime / Change runtime type

次の画面が出力として表示されます-

選択する GPUノートブックは、処理中にクラウドで提供される無料のGPUを使用します。GPU処理の感触をつかむには、からサンプルアプリケーションを実行してみてくださいMNIST 以前に複製したチュートリアル。

!python3 "/content/drive/My Drive/app/mnist_cnn.py"

GPUを有効にせずに同じPythonファイルを実行してみてください。実行速度の違いに気づきましたか?

GPUのテスト

次のコードを実行することで、GPUが有効になっているかどうかを簡単に確認できます-

import tensorflow as tf
tf.test.gpu_device_name()

GPUが有効になっている場合、次の出力が得られます-

'/device:GPU:0'

デバイスの一覧表示

クラウドでのノートブックの実行中に使用されるデバイスを知りたい場合は、次のコードを試してください-

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

次のような出力が表示されます-

[name: "/device:CPU:0"
   device_type: "CPU"
   memory_limit: 268435456
   locality { }
   incarnation: 1734904979049303143, name: "/device:XLA_CPU:0"
   device_type: "XLA_CPU" memory_limit: 17179869184
   locality { } 
   incarnation: 16069148927281628039
   physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
   device_type: "XLA_GPU"
   memory_limit: 17179869184
   locality { }
   incarnation: 16623465188569787091
   physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
   device_type: "GPU"
   memory_limit: 14062547764
   locality {
      bus_id: 1
      links { } 
   }
   incarnation: 6674128802944374158
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"]

RAMの確認

プロセスで使用可能なメモリリソースを確認するには、次のコマンドを入力します-

!cat /proc/meminfo

次の出力が表示されます-

MemTotal: 13335276 kB
MemFree: 7322964 kB
MemAvailable: 10519168 kB
Buffers: 95732 kB
Cached: 2787632 kB
SwapCached: 0 kB
Active: 2433984 kB
Inactive: 3060124 kB
Active(anon): 2101704 kB
Inactive(anon): 22880 kB
Active(file): 332280 kB
Inactive(file): 3037244 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 412 kB
Writeback: 0 kB
AnonPages: 2610780 kB
Mapped: 838200 kB
Shmem: 23436 kB
Slab: 183240 kB
SReclaimable: 135324 kB
SUnreclaim: 47916
kBKernelStack: 4992 kB
PageTables: 13600 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6667636 kB
Committed_AS: 4801380 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 303092 kB
DirectMap2M: 5988352 kB
DirectMap1G: 9437184 kB

これで、GoogleColabを使用してPythonで機械学習モデルを開発する準備が整いました。