1. Вибрати відправну точку, що відповідає проєкту
База Ubuntu підходить, коли ви вмієте організувати свій програмний стек і описати його системні залежності. Підготовка PyTorch дає змогу позначити центральний фреймворк проєкту. Blender указує на потребу у створенні чи рендерингу. Власна підготовка потрібна, коли ваш застосунок уже має специфічні умови, які ці позначки описують недостатньо.
Ці вибори не охоплюють автоматично ваш код, ваші ваги, ваші дані чи ваші ліцензії. Напишіть, що має бути доступним, що ви надаєте і що перевірите під час запуску. Назва підготовки не повинна звільняти вас від перевірки фактично виконуваної версії.
Хороший запит — це не перелік усіх відомих інструментів. Опишіть корисний шлях: зчитати вхідні дані, завантажити ресурс, обчислити й записати результат. Це допомагає відрізнити обов’язкову залежність від інструменту для зручності та діагностувати етап, якого бракує.
Прокрутіть таблицю, щоб побачити всі стовпці.| Підготовка | Потреба для опису | Перевірка, властива проєкту |
|---|---|---|
| Ubuntu | Очікувана версія та необхідні системні залежності | Ваша програма запускається з потрібними бібліотеками. |
| PyTorch | Python, варіант фреймворку та розширення | Імпорт, обчислення на бекенді, потім репрезентативне завдання. |
| Blender | Версія, розширення, пов’язані ресурси та формат експорту | Проєкт відкрито та етап обробки перевірено. |
| Власна | Процедура, версії та референсні файли | Кожен критерій з опису підготовки перевірено. |
2. Написати компактний опис підготовки
Для проєкту на Python розмежуйте систему, інтерпретатор, пакунки та ресурси застосунку. Зберігайте точні версії, коли цього вимагає залежність. Якщо ви приймаєте діапазон, поясніть перевірку, яка дозволить його підтвердити. «Встановити останні версії» важко узгодити з еталонним середовищем.
Навчальний приклад: ваш проєкт класифікує зображення за допомогою нативного розширення. У вашому запиті вказано версію Python, обраний варіант PyTorch, ревізію проєкту та передумови для розширення. Він надає три дозволені контрольні зображення й описує очікувану форму виводу. Він не обіцяє пропускної здатності чи достатньої пам'яті без випробування.
Опис підготовки може залишатися коротким: README, файл залежностей і посилання на код достатні, якщо кроки та доступи зрозумілі. Зберігайте змінні параметри в окремому файлі, щоб новий розмір batch не перетворював запит на інше встановлення.
Мета: класифікувати невелику вибірку зображень
Код: репозиторій і ревізія проєкту
Python: версія, потрібна застосунку
PyTorch: обрана версія та варіант CUDA або ROCm
Розширення: версії, походження та передумови компіляції
Вхідні дані: дозволена вибірка та очікувані ідентифікатори
Контроль: вивід за ідентифікатором, коректний формат, результат, який можна перечитати
Надання доступів: окрема процедура, без секретів у цій картці3. Перевірити залежності, властиві PyTorch
Перевірте ланцюг обчислень, перш ніж множити пакунки. Офіційний селектор PyTorch дозволяє обрати встановлення залежно від платформи. CUDA і ROCm — це не дві взаємозамінні назви одного бінарника. Основний фреймворк може працювати, тоді як спеціалізований оператор або розширення проєкту залишається несумісним.
Якщо розширення потрібно скомпілювати, його збирання може вимагати додаткових інструментів і бібліотек. Документація PyTorch зазначає, що встановлення пакунка torch не надає автоматично ланцюгів компіляції, потрібних для всіх розширень. Укажіть ці передумови в процедурі; команда встановлення, яка намагається компілювати, — це не аномалія, яку слід приховувати.
Заплануйте три окремі перевірки: імпорт фреймворку, невелике обчислення на пристрої та операцію з використанням розширення. Якщо перші дві проходять, а третя зазнає невдачі, ви маєте точнішу діагностику, ніж просте «PyTorch не працює». Занотуйте першу повну помилку та версії, які її спричинили.
4. Обрати, як описати середовище
Для пакунків Python процедура відтворення з віртуальним середовищем часто є простою основою. Вона націлена на один інтерпретатор і відокремлює залежності проєкту. Вона не описує всю машину: зберігайте системні потреби в README і не подавайте копію встановленої теки як портативну процедуру.
Якщо ваш проєкт уже використовує контейнер, надайте його рецепт, посилання та параметри, необхідні для запуску. Тег може змінюватися; посилання за відбитком точніше ідентифікує конкретний образ. Водночас потрібно впорядкувати оновлення та повторно перевірити проєкт. Контейнер сам собою не доводить ані доступу до GPU, ані наявності ваших даних.
Оберіть механізм, який ви вмієте підтримувати. Дуже повний образ може приховувати непотрібні залежності; надто мінімальний рецепт може залишити ручні встановлення поза описом. В обох випадках контроль застосунку залишається точкою порівняння. Ці вказівки описують вашу підготовку, не припускаючи способів надання образу сервісом.
5. Підготувати notebooks і графічні проєкти
Ноутбук допомагає досліджувати дані та візуалізувати результат. Проте його файл і процес, який виконує його комірки, є різними речами: змінні з попереднього сеансу не є задокументованою залежністю. Перед передаванням перезапустіть ядро та виконайте комірки по порядку; зафіксуйте використану версію Python.
Коли пробний запуск перетворюється на регулярне опрацювання, підготуйте точку входу, яка не вимагає роботи з комірками по одній. Перетворення ноутбука на скрипт детально описано в окремому посібнику. У вашому запиті на підготовку потрібно вказати потребу в ноутбуці, не плутаючи робочий інтерфейс із успішним контролем програми.
Для Blender або іншого графічного програмного забезпечення додайте пов’язані ресурси, розширення та процедуру експорту. Проєкт, який відкривається на вашій машині, може залежати від файлів, розташованих в іншому місці. Запитайте себе, як інша машина знайде кожен із них і який невеликий результат дозволить перевірити весь ланцюжок до повної роботи.
6. Приймання за критеріями та перевіреним результатом
Під час надання порівняйте фактичні версії зі своєю специфікацією. Запустіть діагностику, а потім передбачений прикладний випадок. Для трьох образів із прикладу перевірте, що кожен ідентифікатор має вихідні дані, що категорії коректні й що створені файли можна прочитати. Екран без помилок не замінює цього підсумку.
Зберігайте корисні розбіжності: інша версія, відсутнє розширення, недоступні вхідні дані, вихідні дані записані в інше місце. Відрізняйте те, що заважає почати, від того, що лише вимагає оновлення документації. Щоб попросити допомоги, додайте номер замовлення та мінімальний фрагмент; передавати весь ваш корпус не потрібно.
Перевірена підготовка для вибірки не гарантує ні обсягу пам’яті, ні поведінки всіх майбутніх навантажень. Згодом збільшуйте обсяг із визначеною метою та дослідіть перше досягнуте обмеження. Насамкінець збережіть виправлену процедуру: вона стане вашим орієнтиром для наступної оренди.