Ориентация: что такое CV сегодня

Инструменты и окружение CV-инженера

Содержание курса

Когда своей видеокарты нет

Обучение — единственная часть курса, которой действительно нужна видеокарта. Если её нет или в ней меньше 8 ГБ, эти уроки проходятся в облаке, и платить за это не придётся: и Google Colab, и Kaggle раздают карты бесплатно, а учебные прогоны в их лимиты укладываются. Разберём оба, потому что они устроены по-разному и удобны в разных ситуациях.

Google Colab

Colab — это блокнот Jupyter, который выполняется на машине Google. Нужен обычный аккаунт Google, больше ничего: заходите на colab.research.google.com, нажимаете «Создать блокнот» — и через несколько секунд у вас рабочая среда с уже установленными Python, PyTorch и OpenCV.

Видеокарта по умолчанию не выдаётся, её надо попросить. Меню Среда выполнения → Сменить среду выполнения:

Меню «Среда выполнения» в Colab, пункт «Сменить среду выполнения» обведён

Под заголовком «Аппаратный ускоритель» выбираете Графический процессор T4 и сохраняете — сеанс перезапустится уже с картой. Заодно здесь видна граница бесплатного: H100, A100, L4, G4 и TPU шестого поколения в списке серые, они продаются за вычислительные единицы.

Диалог «Сменить среду выполнения»: выбран графический процессор T4, остальные карты недоступны

Проверяется карта той же командой, что и на своей машине — nvidia-smi в ячейке блокнота с восклицательным знаком в начале, или знакомый нам torch.cuda.is_available(). Вот наш check.py, запущенный в блокноте:

Блокнот Colab с выводом проверки: torch 2.11.0+cu128, CUDA 12.8, карта видна True, устройство Tesla T4, видеопамять 14,6 ГБ, opencv 4.13.0

Строку про ultralytics из проверки пришлось убрать: в Colab его нет, импорт упал бы. Библиотеки, которых там не хватает, ставятся прямо из ячейки:

!pip install ultralytics==8.4.115 supervision==0.29.1

А вот torch и opencv переставлять под наши версии не нужно, хотя они и не совпадают: в Colab это 2.11.0 против нашего 2.13.0 и 4.13.0 против 5.0.0.93. Замена torch тянет за собой пересборку половины окружения и ломает больше, чем чинит. Карта здесь — Tesla T4 с 14,6 ГБ видеопамяти, почти вдвое больше, чем на машине, где собирался курс; примеры влезают с запасом.

Теперь про то, из-за чего в Colab чаще всего теряют результат. Сеанс длится максимум 12 часов и отключается примерно через полтора часа бездействия, причём считается активность браузера, а не то, что у вас идёт обучение. Машина при отключении стирается целиком: файлы, веса, установленные пакеты. Поэтому веса сохраняются на Google Диск по ходу обучения, а не в конце:

from google.colab import drive
drive.mount("/content/drive")   # дальше папка доступна как обычная

И вторая особенность: бесплатная карта не гарантирована вовсе. На кадре с проверкой это написано прямым текстом в правой панели: «Доступ к бесплатным ресурсам не гарантирован», и там же — сколько при текущем уровне использования продержится сеанс, в тот раз 5 часов 30 минут. Недельной квоты Google не называет вовсе: лимиты плавают и зависят от общей нагрузки, так что в загруженный день можно получить отказ и ждать. Планировать по этому сложно.

Ровно за это Colab и берёт деньги — за предсказуемость. Платный уровень продаёт не часы, а вычислительные единицы: подписка Pro даёт 100 единиц в месяц, Pro+ — 500, плюс выполнение в фоне и сеанс до суток; те же пачки можно докупать разово, без подписки, и неизрасходованное действует около трёх месяцев. Стоит это порядка 10 и 50 долларов в месяц соответственно — проверено 8 августа 2026, но Google цены и лимиты не фиксирует и меняет без объявления. Расход зависит от карты: сотни единиц хватает на несколько десятков часов T4 или на десяток с небольшим часов A100 — этим и объясняются серые пункты в списке ускорителей. Важная деталь для тех, кто соберётся платить: единицы кончились — аккаунт возвращается к бесплатным правилам, даже пока подписка действует.

Kaggle Notebooks

Kaggle принадлежит той же Google, но лимиты там названы честным числом: 30 часов работы с видеокартой в неделю, счётчик виден прямо в блокноте. Одна сессия — те же 12 часов максимум. Платного уровня здесь нет: докупить часы нельзя, эти 30 в неделю — и потолок, и весь выбор. Вход — тем же аккаунтом Google, отдельный пароль заводить не нужно:

Экран входа Kaggle: вход через Google, почту, Facebook или Yahoo

А вот к видеокарте пускают только после подтверждения номера телефона — без этого пункты выбора ускорителя останутся недоступными. Настройки профиля, вкладка Account, раздел Phone verification:

Настройки аккаунта Kaggle: раздел Phone verification со статусом «Your account is not verified» и кнопкой Phone verify

Дальше обычная форма: страна, номер, капча, код в сообщении. Россия в списке стран есть. Рядом предупреждение, которое стоит прочитать: аккаунт на человека допускается один, так что завести второй ради ещё тридцати часов не выйдет — при подтверждении номера старый придётся удалить.

Форма подтверждения номера на Kaggle: выбрана страна RU +7, поле номера и капча

Блокнот создаётся кнопкой Create → Notebook:

Меню Create на Kaggle с пунктами Notebook, Dataset, Competition, Hackathon, Benchmark

Ускоритель выбирается справа, в разделе Session options. Список короче, чем в Colab, зато в нём нет серых пунктов — что предложено, то и доступно: GPU T4 ×2, две карты по 16 ГБ, и GPU P100, одна карта на 16 ГБ. Обе тратят одну и ту же недельную квоту.

Раскрытый список Accelerator в Session options: None, GPU T4 ×2, GPU P100

Тот же check.py, запущенный уже здесь:

Блокнот Kaggle с выводом проверки: torch 2.10.0+cu128, CUDA 12.8, Tesla T4, 14,6 ГБ, opencv 4.13.0; справа Session options со счётчиком квоты 00:00 / 30 hrs

Версии снова свои — torch здесь и вовсе 2.10.0, — и снова их не трогаем. Карт выбрано две, а проверка называет одну: она смотрит только устройство с номером 0, вторая видна как устройство 1. Правая панель тут интереснее вывода, и три пункта в ней стоит разобрать до первого прогона.

Quota: 00:00 / 30 hrs — израсходованное и потолок недели, ровно тот счётчик, которого нет у Colab. Ссылка рядом ведёт на Colab Pro: за платными часами Kaggle отправляет в соседний сервис, своих не продаёт.

Internet off — интернет в блокноте по умолчанию выключен, и это первое, обо что спотыкаются. Пока переключатель не включён, не сработают ни !pip install, ни автоматическое скачивание весов моделью — а весами в зрении начинается почти всё. Переключатель тоже открывается только после подтверждения номера.

No persistence — папка /kaggle/working сохраняется только до конца сессии. Соседний пункт, Pin to original environment, наоборот, полезен: он фиксирует состав пакетов на дату и не даёт обновлению библиотеки сломать блокнот, который месяц назад работал.

Данные Kaggle подключает иначе, и это его главное удобство: наборы не качаются вручную, а подключаются к блокноту кнопкой «Add Input» и появляются в /kaggle/input/ уже распакованными. Для курса это существенно — часть наборов, с которыми мы работаем, лежит именно там.

Что выбрать

Разница сводится к предсказуемости. В Colab быстрее начать и удобнее держать файлы на Google Диске, но нельзя рассчитывать, что карта будет доступна в нужный момент. На Kaggle квота названа числом и видна, наборы подключаются одним нажатием, зато сессия жёстко ограничена и привязана к их файловой системе.

Платить при этом ни там, ни там не нужно: курс целиком проходится на бесплатных уровнях. Подписка Colab окупается позже и по другой причине — когда прогоны станут вашими, а не учебными, и отвалившийся на четвёртом часу сеанс будет стоить рабочего дня.

Рабочий подход — пробовать в Colab, обучать на Kaggle. Короткие прогоны, где нужно посмотреть, что код вообще работает, удобнее в Colab; длинное обучение, которое обидно потерять на середине, лучше ставить туда, где вы знаете свой остаток часов.

И общее для обоих: первым делом в блокноте пишется сохранение весов, потом всё остальное. Обрыв сессии в бесплатном облаке — обычное дело.

Российские аналоги тоже есть, с оплатой рублями: Yandex DataSphere — тот же JupyterLab с почасовой картой, Cloud.ru Evolution (бывший SberCloud) с ML Space, плюс почасовая аренда карт у VK Cloud, Selectel и Timeweb. Бесплатной видеокарты нет ни у кого: свободные тарифы там процессорные, новичку дают приветственные бонусы, и уходят они быстро. Соревновательного аналога Kaggle тоже нет — ближе всего площадка хакатонов Data Secrets и сообщество ODS, но блокнота с картой и наборов в один клик там не будет.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.