Запуск ComfyUI на Google Colab

ComfyUI Wiki

В этой статье рассказывается, как запускать ComfyUI в облачных платформах, включая методы использования Google Colab и других онлайн-платформ.

ℹ️ Примечание об обновлениях: Эта страница может не всегда содержать самую актуальную информацию. Обращайтесь к официальной документации для получения актуальных инструкций.

Запуск ComfyUI на Google Colab

ComfyUI можно не только установить локально, но и запускать в облачных платформах. В этой статье мы расскажем, как запустить ComfyUI на Google Colab — удобном облачном решении.

Особенности и преимущества Google Colab

Google Colab (Colaboratory) — это бесплатная облачная среда Jupyter Notebook от Google. Она обладает следующими особенностями и преимуществами:

  1. Бесплатное использование: Google Colab предоставляет бесплатные ресурсы GPU и TPU, позволяя запускать модели глубокого обучения без необходимости в локальном оборудовании.

  2. Предустановленная среда: Colab уже включает множество популярных библиотек для машинного обучения и анализа данных, таких как TensorFlow, PyTorch, OpenCV и другие, что избавляет от необходимости настройки окружения.

  3. Возможности совместной работы: Легко делиться и совместно редактировать блокноты с другими пользователями, что идеально подходит для командных проектов и обучения.

  4. Интеграция с Google Диском: Можно напрямую загружать данные из Google Диска и сохранять результаты туда же, упрощая управление данными.

  5. Онлайн-выполнение: Для запуска кода нужен только браузер, без привязки к устройству или операционной системе.

  6. Постоянное хранение: Хотя среда выполнения временная, вы можете сохранять код и данные на Google Диск для постоянного хранения.

  7. Поддержка сообщества: Доступно множество примеров блокнотов и поддержка сообщества, что позволяет быстро учиться и решать проблемы.

Для пользователей ComfyUI использование Google Colab позволяет избежать сложностей локальной установки, одновременно используя мощные облачные вычислительные ресурсы. Это особенно подходит для пользователей без высокопроизводительных GPU или новичков, желающих быстро попробовать ComfyUI.

Если вы только пробуете ComfyUI, Google предоставляет определённый объём бесплатного использования. Если вы планируете пользоваться долгое время, рекомендуется оформить подписку Colab Pro или Pro+. Ссылка для регистрации и подписки: https://colab.research.google.com/signup

Запуск ComfyUI на Google Colab

Google Colab — это бесплатная облачная среда Jupyter Notebook, отлично подходящая для запуска ComfyUI, хотя и имеет некоторые ограничения по времени использования. Официально ComfyUI предоставляет соответствующие скрипты, которые можно найти в comfyui_colab.ipynb

Файл .ipynb — это формат файла Jupyter Notebook. Используя этот файл, вы можете запустить и создать виртуальную среду для работы различных приложений на Google Colab.

Редактирование и изменение .ipynb (необязательно)

Эта часть необязательна. Если вам не нужны дополнительные модели и установка дополнительных плагинов, этот раздел может быть пропущен. Вы можете сразу перейти к следующей части и начать с официальной конфигурации по умолчанию. При необходимости изменить конфигурацию самостоятельно вы можете вернуться к этому разделу позже.

В конфигурации по умолчанию скрипт, предоставленный официальным источником, загружает мало моделей и файлов. Если вам нужно использовать дополнительные модели, вы можете отредактировать файл comfyui_colab.ipynb. Рекомендуется скачать и установить VSCode для редактирования .ipynb-файлов. Официальный код в основном включает следующие шаги:

  1. Настройка окружения Настройка рабочей среды и параметров, включая использование Google Диска и обновление ComfyUI. Этот шаг обеспечивает правильную настройку необходимых зависимостей и файлов.

  2. Загрузка моделей и контрольных точек Загрузка необходимых моделей и контрольных точек из внешних источников для последующего использования. Пользователи могут выбрать загрузку конкретных моделей по мере необходимости.

  3. Запуск ComfyUI Эта часть разделена на три подраздела, предоставляющих разные способы доступа к ComfyUI:

    • 3.1 Использование Cloudflared Создаёт туннель через Cloudflared, позволяя внешним пользователям получить доступ к запущенному ComfyUI.

    • 3.2 Использование Localtunnel Использует Localtunnel для создания внешне доступной ссылки для доступа к ComfyUI.

    • 3.3 Использование Iframe в Colab Отображает интерфейс ComfyUI через iframe внутри блокнота Colab, что удобно для работы в той же среде.

  • Для первого шага настройки окружения обычно запускаем его по умолчанию
  • Второй шаг требует загрузки дополнительных моделей и файлов, а также предоставляет загрузку часто используемых моделей. На этом шаге нужно добавить и скорректировать изменения по необходимости
  • Третий шаг — о том, как запустить ComfyUI после завершения установки и настройки. Выбираем один из методов по необходимости

Изменение файлов моделей на втором шаге по необходимости

Откройте код для редактирования в VSCode, как показано ниже comfyui_colab_preview

Как показано на изображении ниже, можно заметить, что официальный источник написал подсказку:

Оригинал: Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want) Китайский: 下载一些模型/检查点/vae或自定义comfyui节点(取消注释您想要的命令) Вы можете видеть, что разные части содержат аннотированные модели, например, модели Checkpoints в разделе ниже.

  • Для первого шага настройки окружения обычно запускаем его по умолчанию
  • Второй шаг требует загрузки дополнительных моделей и файлов, а также предоставляет загрузку часто используемых моделей. На этом шаге нужно добавить и скорректировать изменения по необходимости
  • Третий шаг — о том, как запустить ComfyUI после завершения установки и настройки. Выбираем один из методов по необходимости

Изменение файлов моделей на втором шаге по необходимости

Откройте код для редактирования в VSCode, как показано ниже comfyui_colab_preview

Как показано на изображении ниже, можно заметить, что официальный источник написал подсказку:

Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)

Вы можете видеть, что разные части содержат аннотированные модели, например, модели Checkpoints в разделе ниже. comfyui_colab_preview

# Checkpoints

### SDXL
### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/

#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/

# SDXL ReVision
#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/

# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/

# SD2
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/

Если вы хотите загрузить дополнительные модели, просто удалите # перед соответствующей командой #!wget, чтобы раскомментировать её. Это позволит загрузить соответствующую модель в указанный путь при фактическом выполнении. Например, если мы хотим загрузить модель SDXL, мы раскомментируем соответствующие строки:

# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/

Если вы хотите загрузить дополнительные модели, просто удалите # перед соответствующей командой #!wget, чтобы раскомментировать её. Это позволит загрузить соответствующую модель в указанный путь при фактическом выполнении. Например, если мы хотим загрузить модель SDXL, мы раскомментируем соответствующие строки:

!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/

Если вы хотите добавить пользовательские модели, вы можете добавить соответствующий код в разделе source

!wget -c file_address -P .model_path

Как в примере загрузки sd_xl_refiner_1.0.safetensors в папку ./models/checkpoints/:

"!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
",

Если вы не уверены, в какую папку конкретно поместить файлы, обратитесь к разделу Структура файлов ComfyUI для инструкций.

Добавление скриптов для загрузки пользовательских плагинов по необходимости

В официальном примере приведён следующий пример кода для установки пользовательских плагинов:

#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py

Этот код состоит из нескольких шагов:

  1. !cd custom_nodes — переход в папку custom_nodes, которая является папкой установки плагинов ComfyUI.
  2. git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; — клонирование соответствующего кода в эту папку; будет создана папка comfy_controlnet_preprocessors внутри custom_nodes для хранения кода плагина.
  3. cd comfy_controlnet_preprocessors — переход в только что клонированную папку плагина.
  4. python install.py — запуск скрипта для установки зависимостей плагина через Python. Необходимо проверить, как устанавливает зависимости конкретный плагин. Некоторые плагины могут не содержать файла install.py, а только файл requirements.txt; в этом случае последнюю команду нужно изменить на pip install -r requirements.txt.

Например, если нужно установить плагин ComfyUI-Manager, нужно составить команду, подобную следующей:

!cd custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Manager; cd pip install -r requirements.txt

Это позволит установить плагин ComfyUI-Manager по отдельности и установить связанные зависимости.

После редактирования сохраните соответствующий .ipynb-файл для дальнейших действий.

Инструкция по использованию официальной версии конфигурации .ipynb:

1. Подготовка

  1. Сначала вам понадобится учётная запись Google. Если у вас её нет, зарегистрируйтесь на официальном сайте Google.

  2. После входа в учётную запись Google перейдите на Google Colab.

  3. Подготовьте (необязательно) изменённый вами файл .ipynb.

2. Откройте блокнот ComfyUI Colab

Colab позволяет изменить язык в меню «Справка».
  1. На странице Colab нажмите «Файл» > «Открыть блокнот» в верхнем меню.
open-notebook
  1. В появившемся окне выберите вкладку «GitHub» или, если вы редактировали файл, выберите «Загрузить».

  2. Введите следующий URL в поле поиска:

https://github.com/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb
open-notebook
  1. Нажмите на файл comfyui_colab.ipynb в результатах поиска.

3. Запустите блокнот для завершения установки среды выполнения, файлов моделей и плагинов

  1. После открытия блокнота вы увидите серию ячеек с кодом.

  2. Начиная сверху, нажмите кнопку воспроизведения слева от каждой ячейки или используйте сочетание клавиш Shift+Enter для выполнения кода.

open-notebook

Необходимо дождаться завершения выполнения соответствующего кода и появления надписи «done», прежде чем запускать следующую ячейку. Сначала запустите первые две ячейки для установки соответствующей среды и зависимостей; последующие ячейки предназначены для выбора метода запуска.

4. Выберите способ запуска ComfyUI

В предоставленном файле конфигурации предлагаются три метода запуска. Вам нужно выбрать только один из них для выполнения:

  1. Запуск ComfyUI с cloudflared (рекомендуется)
  2. Запуск ComfyUI с localtunnel
  3. Запуск ComfyUI с colab iframe (если второй метод недоступен)

1. Запуск ComfyUI с cloudflared После запуска вы увидите:

ComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)

This is the URL to access ComfyUI: https://xxxxxx.trycloudflare.com

Нажмите на последний URL для доступа к ComfyUI.

2. Запуск ComfyUI с localtunnel После запуска вы увидите что-то вроде:

ComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)

The password/enpoint ip for localtunnel is: 34.125.230.29
your url is: https://xxxx.loca.lt

Нажмите на последний URL, затем на открывшейся странице введите пароль туннеля (Tunnel Password), указанный выше (например, в моём случае это 34.125.230.29). Таким образом вы сможете запустить.

3. Запуск ComfyUI с colab iframe

Этот метод не требует открытия URL. После запуска интерфейс отобразится под блоком кода.

Не забудьте своевременно остановить соответствующий запущенный экземпляр после использования, иначе будет списываться время работы.

Turn off Google Colab

Как использовать созданный файл блокнота в будущем?

Использованный вами файл блокнота будет автоматически сохранён на Google Диск. Вы можете открыть соответствующий файл блокнота в любое время, затем нажать кнопку «Выполнить» в правом верхнем углу, чтобы запустить его снова.

  • После входа в учётную запись Google перейдите по ссылке https://drive.google.com/drive/my-drive
  • Нажмите на папку Colab Notebooks
  • Найдите файл .ipynb, который вы запускали ранее, и он откроется в Colab.

Примечания

  • Бесплатная версия Google Colab имеет ограничение по времени использования, обычно несколько часов. Если вам нужно использовать его длительное время, рассмотрите возможность перехода на платную версию.
  • После каждого использования не забывайте сохранять свою работу и закрывать блокнот Colab для освобождения ресурсов.
  • Поскольку работа происходит в облаке, загрузка и скачивание файлов могут быть немного медленнее, чем при локальном запуске.

Запуск ComfyUI на других онлайн-платформах

Помимо Google Colab, существуют и другие онлайн-платформы, предоставляющие среду для запуска ComfyUI:

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…