оновлення: це питання пов'язане з "Налаштування ноутбука: Прискорювач обладнання: GPU" Google Colab. Це запитання було написане ще до того, як було додано варіант "ТПУ".
Читаючи декілька схвильованих оголошень про Google Colaboratory, що надають безкоштовний графічний процесор Tesla K80, я спробував провести на ньому fast.ai урок, щоб він ніколи не завершився - швидко не вистачає пам'яті. Я почав розслідувати, чому.
Суть полягає в тому, що "безкоштовний Tesla K80" не є "безкоштовним" для всіх - для деяких лише невеликий його фрагмент є "безкоштовним".
Я підключаюсь до Google Colab із Західного узбережжя Канади, і я отримую лише 0,5 ГБ того, що повинно бути 24 ГБ оперативної пам'яті GPU. Інші користувачі отримують доступ до 11 ГБ оперативної пам’яті GPU.
Очевидно, що 0,5 ГБ оперативної пам’яті GPU недостатньо для більшості робіт з ML / DL.
Якщо ви не впевнені, що отримаєте, ось невелику функцію налагодження я скребив разом (працює лише з налаштуваннями графічного процесора ноутбука):
# memory footprint support libraries/code
!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi
!pip install gputil
!pip install psutil
!pip install humanize
import psutil
import humanize
import os
import GPUtil as GPU
GPUs = GPU.getGPUs()
# XXX: only one GPU on Colab and isn’t guaranteed
gpu = GPUs[0]
def printm():
process = psutil.Process(os.getpid())
print("Gen RAM Free: " + humanize.naturalsize( psutil.virtual_memory().available ), " | Proc size: " + humanize.naturalsize( process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
printm()
Виконання його в зошиті з юпітером перед запуском будь-якого іншого коду дає мені:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 566MB | Used: 10873MB | Util 95% | Total 11439MB
Щасливі користувачі, які отримають доступ до повної картки, побачать:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 11439MB | Used: 0MB | Util 0% | Total 11439MB
Ви бачите якісь недоліки в моєму обчисленні наявності оперативної пам’яті GPU, запозиченої у GPUtil?
Чи можете ви підтвердити, що ви отримуєте подібні результати, якщо ви запускаєте цей код у ноутбуці Google Colab?
Якщо мої підрахунки є правильними, чи є можливість отримати більше тієї оперативної пам’яті GPU у вільній коробці?
оновлення: я не впевнений, чому деякі з нас отримують 1/20 того, що отримують інші користувачі. наприклад, людина, яка допомогла мені налагодити це з Індії, і він отримує все це!
Примітка . Будь ласка, не надсилайте більше пропозицій щодо вбивства потенційно застряглих / втеклих / паралельних ноутбуків, які можуть зайняти частину графічного процесора. Незалежно від того, як ви його нарізаєте, якщо ви знаходитесь в тому ж човні, що і я, і я мав би запустити код налагодження, ви побачите, що ви все одно отримуєте загальну суму 5% оперативної пам'яті GPU (станом на це оновлення досі).