Продуктивність та усунення несправностей
🔗Нотатки щодо продуктивності
-
Генерація (“інференс”) на CPU прийнятна для масок об’єктів (невеликі одноразові обчислення), але набагато повільніша для знешумлення та масштабування. Наполегливо рекомендується використовувати середовище виконання CUDA / MIGraphX / OpenVINO / DirectML / CoreML, якщо ви використовуєте знешумлення та/чи масштабування регулярно.
-
Збільшення масштабу в 4 рази на великому зображенні вимагає багато пам’яті незалежно від постачальника. Тайлінг вмикається автоматично для зменшення використання пам’яті, але це призводить до деякого додаткового часу обробки.
-
Ліниве завантаження ONNX Runtime під час першого використання означає, що перша операція ШІ після запуску займає додатковий час. Це нормально.
-
Під час перемикання між постачальниками виконання (наприклад, Авто → CUDA), перший інференс нового постачальника спричиняє затримку для компіляції графа. Після цього час виконання стабільний протягом решти сеансу.
-
AMD (MIGraphX) має багатохвилинну вартість першого запуску для кожної моделі. ROCm/MIGraphX компілює граф моделі для вашого конкретного GPU, що може зайняти 1–3 хвилини для великих моделей (знешумлення, масштабування); моделі масок менші та компілюються швидше. Скомпільований граф кешується на диску в
~/.cache/darktable/ai_v*_migraphx_*та повторно використовується при наступних запусках Darktable, тому наступні запуски тієї ж моделі є швидкими. -
Виявлення моделей кешується під час запуску. Якщо ви вручну додасте новий файл
.dtmodelдо каталогу моделей під час роботи Darktable, відкрийте налаштування ШІ та перемкніть будь-який елемент керування, щоб примусово виконати повторне сканування.
🔗Вирішення проблем
Більшість проблем з ШІ належать до однієї з трьох категорій.
🔗Функція взагалі не відображається
Перевірте, чи ввімкнено функції ШІ в налаштуваннях ШІ – головний перемикач за замовчуванням вимкнено.
Якщо сама вкладка ШІ відсутня в налаштуваннях, значить, Darktable було зібрано без підтримки ШІ. Офіційні збірки Darktable (Linux AppImage, інсталятор Windows, macOS dmg) містять підтримку ШІ, але сторонні пакувальники можуть постачати збірку без неї. Попросіть супровідника пакетів вашого дистрибутива ввімкнути підтримку ШІ або перейдіть на офіційну збірку.
Якщо функцію ввімкнено, але вона все ще відсутня, можливо, потрібна модель не встановлена або неактивна. Відкрийте налаштування ШІ та переконайтеся, що модель позначена у стовпці Увімкнено для відповідного завдання. Одночасно може бути активною лише одна модель для кожного завдання.
🔗Генерація не вдається або несподівано повертається до CPU
Запустіть Darktable з терміналу за допомогою darktable -d ai, щоб переглянути повідомлення про завантаження ONNX Runtime та результати зондування постачальника. Типові причини:
-
ort_library_pathвказує на відсутній або пошкоджений файл. Скиньте шлях у налаштуваннях (двічі клікніть на назві налаштування), щоб повернутися до наданого Darktable середовища виконання, або повторно запустіть Визначити після перевстановлення за допомогою скриптів встановлення для GPU. -
Відсутня системна залежність для вибраного постачальника виконання. cuDNN для CUDA; MIGraphX та rocm-smi-lib для AMD; відповідність ROCm .so-імен на дистрибутивах у стилі Fedora, які перебудовують ROCm з власними soname. Скрипти встановлення позначають їх перед завантаженням; журнал
darktable -d aiвідображатиме точну помилкуdlopenпід час виконання. -
Провайдера було ініціалізовано, але не вдалося скомпілювати граф моделі. Іноді це трапляється на GPU першого покоління із застарілими драйверами. Оновіть драйвер або скористайтеся послугами іншого провайдера (наприклад, DirectML замість CUDA у Windows).
🔗Результати виглядають дивно
Знешумлення та масштабування за допомогою ШІ є завданнями відновлення – модель генерує правдоподібний результат з попереднього навчання. Можливі незначні зміни кольору або контрастності, особливо для зображень поза параметрами навчальних даних (екстремальні значення ISO, синтетичні знімки, сцени з дуже широким охопленням кольорів).
Якщо точність зображення важливіша за агресивне очищення, у випадку, наприклад, усунення шуму на зображенні, використовуйте класичний модуль Знешумлення (профільоване).
🔗Подальше читання
-
Налаштування ШІ – кожен елемент керування на вкладці налаштувань ШІ.
-
Прискорення GPU – встановлення ONNX Runtime з підтримкою GPU (скрипти, інструкція, рецепти для кожного вендора).
-
darktable-ai – репозиторій моделей, скрипти конвертації та нотатки щодо розробки.
-
Документація ONNX Runtime – довідник з питань постачальників виконання, усунення несправностей та налаштування продуктивності.