Google Colab - Utilizzo della GPU gratuita

Google fornisce l'uso della GPU gratuita per i tuoi notebook Colab.

Abilitazione della GPU

Per abilitare la GPU nel tuo notebook, seleziona le seguenti opzioni di menu:

Runtime / Change runtime type

Vedrai la seguente schermata come output:

Selezionare GPUe il tuo notebook utilizzerà la GPU gratuita fornita nel cloud durante l'elaborazione. Per avere un'idea dell'elaborazione della GPU, prova a eseguire l'applicazione di esempio daMNIST tutorial che hai clonato in precedenza.

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

Prova a eseguire lo stesso file Python senza la GPU abilitata. Hai notato la differenza nella velocità di esecuzione?

Test per GPU

Puoi facilmente verificare se la GPU è abilitata eseguendo il seguente codice:

import tensorflow as tf
tf.test.gpu_device_name()

Se la GPU è abilitata, darà il seguente output:

'/device:GPU:0'

Elenco dei dispositivi

Se sei curioso di conoscere i dispositivi utilizzati durante l'esecuzione del tuo notebook in cloud, prova il seguente codice:

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

Vedrai l'output come segue:

[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"]

Controllo della RAM

Per vedere le risorse di memoria disponibili per il tuo processo, digita il seguente comando:

!cat /proc/meminfo

Vedrai il seguente output:

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

Ora sei pronto per lo sviluppo di modelli di machine learning in Python utilizzando Google Colab.