ШІ
Керуйте ШІ-функціями Darktable: увімкніть або вимкніть їх, виберіть апаратний прискорювач для генерації (“інференсу”) моделей, вкажіть Darktable на бібліотеку ONNX Runtime та керуйте моделями ШІ, доступними на диску.
Функції ШІ працюють на базі ONNX Runtime. Що встановлюється “з коробки” та яке прискорення графічного процесора можна додати на кожній платформі:
| ОС | В комплекті | Опціональне прискорення GPU |
|---|---|---|
| Linux | тільки CPU | NVIDIA CUDA, AMD ROCm/MIGraphX, Intel OpenVINO |
| Windows | DirectML (бідь-який DirectX 12 GPU) | NVIDIA CUDA, Intel OpenVINO |
| macOS | CoreML (Apple Silicon, інтегрований GPU) | – |
Скрипти встановлення для рантаймів GPU описані нижче; повні інструкції див. у розділі Прискорення GPU.
Для глибшого пояснення того, як працюють функції ШІ – середовище виконання інференсу, постачальники виконання, макет моделі, прискорення GPU та усунення несправностей – див. спеціальну тему Функції ШІ.
🔗Загальні
- Активація функцій ШІ
- Головний перемикач для всіх функцій ШІ. Якщо вимкнено, середовище виконання ONNX не завантажується, каталоги моделей не скануються, а модулі, залежні від ШІ, приховуються. Вимкніть цю функцію, щоб уникнути витрат на пам’ять та запуск, пов’язаних зі ШІ, коли вони вам не потрібні (за замовчуванням вимкнено).
- Прискорення ШІ
- Апаратний прискорювач, який використовується для інференсу моделі. У списку відображаються лише доступні на даний момент постачальники, яких підтримує завантажений ONNX Runtime. Встановлення іншого ONNX Runtime оновлює список.
-
- Авто вибирає найкращого доступного постачальника для завантаженої бібліотеки, повертаючись до CPU, якщо жоден акселератор не ініціалізується.
- CPU виконує інференс на центральному процесорі. Завжди доступно.
- NVIDIA CUDA використовує графічні процесори NVIDIA через cuDNN (Linux, Windows; вимагає встановлення ONNX Runtime з підтримкою CUDA).
- AMD MIGraphX використовує графічні процесори AMD через ROCm (лише Linux; вимагає встановлення ONNX Runtime з підтримкою MIGraphX).
- Intel OpenVINO використовує графічні процесори та вбудовані графічні процесори Intel через OpenVINO (Linux, Windows; вимагає встановлення ONNX Runtime з підтримкою OpenVINO).
- Windows DirectML використовує будь-який графічний процесор з підтримкою DirectX 12 (Windows; входить до комплекту за замовчуванням).
- Apple CoreML використовує Apple Neural Engine та вбудований графічний процесор (macOS; входить до комплекту за замовчуванням).
-
Двічі клікніть на мітці, щоб скинути значення до налаштувань за замовчуванням. Якщо вибраного постачальника неможливо ініціалізувати за допомогою поточного завантаженого ONNX Runtime (наприклад, якщо бібліотека була зібрана без цього постачальника), поруч зі списком з’явиться повідомлення недоступно, буде використано CPU. Після заміни бібліотеки ONNX Runtime повідомлення стає потрібен перезапуск, доки Darktable не буде перезапущено.
- Бібліотека ONNX Runtime
- Шлях до динамічної бібліотеки (
libonnxruntime.so*у Linux,onnxruntime.dllу Windows), яку Darktable має завантажити замість бібліотеки в своєму комплекті. Залиште поле порожнім, щоб використовувати комплектну бібліотеку (див. таблицю вище, щоб дізнатися, що це таке для кожної ОС). Щоб використовувати середовище виконання GPU, встановіть його за допомогою описаних нижче скриптів і вкажіть на нього це поле. Двічі клікніть мітку, щоб скинути поле до порожнього стану. Зміни набудуть чинності після перезапуску Darktable. Приховано на macOS, де ONNX Runtime статично злінковано з підтримкою CoreML. -
Праворуч від поля шляху розташовані дві кнопки:
-
- Переглянути (значок папки) – відкрити селектор файлів для вибору власної бібліотеки ONNX Runtime. Вибір валідується шляхом завантаження бібліотеки та перевірки її версії та доступних постачальників виконання; якщо файл не є дійсною збіркою ONNX Runtime, він відхиляється, і відновлюється попередній шлях.
-
- Визначити – сканувати стандартні системні розташування на наявність бібліотеки ONNX Runtime (встановлення менеджера пакетів,
/usr/lib,/usr/local/lib,~/.local/lib). Якщо знайдено кілька кандидатів, вам буде запропоновано вибрати; якщо знайдено лише один, він застосовується автоматично. Корисно, якщо ви встановили ONNX Runtime через менеджер пакетів вашого дистрибутива або через скрипт встановлення, описаний нижче.
- Визначити – сканувати стандартні системні розташування на наявність бібліотеки ONNX Runtime (встановлення менеджера пакетів,
🔗Встановлення GPU ONNX Runtime
Для GPU-прискорення в Linux та Windows (NVIDIA CUDA, AMD MIGraphX, Intel OpenVINO) потрібна збірка ONNX Runtime з підтримкою GPU, яка від Darktable не постачається всередині програми. Скрипти встановлення обробляють це комплексно: виявляють ваш GPU, завантажують відповідне середовище виконання, перевіряють його та встановлюють від імені вашого облікового запису користувача.
Див. Прискорення GPU для отримання повних інструкцій: однорядкові інсталятори для Linux та Windows, попередні вимоги, вимоги до GPU та драйверів, альтернативне ручне встановлення, збірка AMD ONNX Runtime з джерельного коду та усунення несправностей.
Після встановлення перезапустіть Darktable, а потім скористайтеся кнопкою Визначити вище, щоб вказати Darktable на щойно встановлену бібліотеку (або виберіть файл вручну за допомогою кнопки перегляду).
🔗Моделі
У нижній частині вкладки перелічено моделі ШІ, відомі Darktable – як уже завантажені, так і доступні з репозиторію моделей darktable-ai.
- Список моделей
- Кожен рядок має такі стовпці:
-
- Вибір (крайній лівий прапорець) – включити модель до масових операцій (Завантажити вибране, Видалити вибране). Це не залежить від увімкненого стану. Прапорець у рядку заголовка перемикає всі рядки одночасно.
- Ім’я – ім’я моделі.
- Кнопка інформації (значок i) – натисніть, щоб відкрити картку моделі з повними метаданими: область застосування, автор, джерело, стаття, ліцензія, навчальні дані, ліцензія на дані, нотатки.
- Версія – рядок версії моделі з маніфесту репозиторію.
- Завдання – яке завдання виконує ця модель: mask, denoise, rawdenoise, upscale.
- Увімкнено – позначає модель як активну модель для свого завдання. Одночасно для кожного завдання може бути активною лише одна модель: встановлення позначки на другій моделі того ж завдання автоматично знімає позначку з попередньо активної, як радіокнопка. Зняття позначки з активної моделі залишає завдання без активної моделі, доки не буде вибрано іншу. Модулі, залежні від ШІ, використовують для свого завдання будь-яку модель, яка наразі активна.
- Статус – Завантажено, Не завантажено, Доступне оновлення або Потрібне оновлення.
- Замовчування – Так, якщо модель знаходиться в рекомендованому розробником наборі за замовчуванням (вибраному за допомогою Завантажити за замовчуванням), Ні інакше.
- Завантажити / оновити за замовчуванням
- Завантажити або оновити підмножину моделей, які розробники Darktable рекомендують як стандартні для кожного завдання. Корисно для швидкого початку роботи з новою інсталяцією та для отримання будь-яких новіших версій тих моделей, які репозиторій опублікував з того часу.
- Завантажити / оновити вибране
- Завантажити або оновити моделі, для яких встановлено прапорець вибору. Використовуйте це, коли ви позначили одну або кілька конкретних моделей у списку та хочете працювати лише з ними.
- Імпортувати з файлу…
- Встановити модель з локального архіву
.dtmodel. Вибір файлів фільтрується за типом*.dtmodel; після імпорту модель одразу стає доступною. Використовуйте це для моделей, які ви отримали вручну, моделей, які ви створили самостійно, або додаткових альтернатив для кожного завдання з репозиторію darktable-ai –- список у програмі показує лише одну або дві моделі для кожного завдання, але репозиторій може публікувати додаткові альтернативи для того самого завдання (різні моделі знешумлення, навчені на іншому наборі даних, альтернативна основа сегментації тощо). Завантажте.dtmodelз релізів GitHub репозиторію та імпортуйте його тут. - Видалити вибране
- Видалити з диска моделі, для яких встановлено прапорець вибору. Моделі, що були в комплекті з Darktable, видалити неможливо.
Завантаження виконуються у фоновому режимі з діалоговим вікном перебігу та можуть бути скасовані. Про невдалі завантаження повідомляється, а відповідні моделі залишаються у своєму попередньому стані.