reload_flag=""
if [[ -n "${DEBUG}" ]]; then
reload_flag="--reload"
fi
if [[ -n "${WORKER_COUNT}" ]]; then
workers=${WORKER_COUNT}
else
workers=2
fi
gunicorn --workers ${workers} \
--bind 0.0.0.0:8000 \
${reload_flag} main.wsgi
Писали такие конструкции чтобы проверить наличие флага и сформировать команду правильно?
На самом деле можно сделать тоже самое проще. Для этого используются операторы условной подстановки, доступные в оболочках семейства POSIX.
:- для установки значений по умолчанию
${WORKER_COUNT:-2}
Если переменная не объявлена, то будет дефолтное значение 2.
:+ подставляет указанный текст, если переменная не пуста
${DEBUG:+--reload}
Если что-то есть в переменной то распечатается текст после символа +, в противном случае - ничего. Удобно для опциональных флагов, как в нашем примере.
Итого наш скрипт может выглядеть так:
gunicorn --workers ${WORKER_COUNT:-2} \
--bind 0.0.0.0:8000 \
${DEBUG:+--reload} main.wsgi
Есть еще два оператора.
:= не только подставить дефолтное значение, но и присвоить его переменной, если она пуста
# никаких переменных еще нет
VAL1=${VAL2:=hello}
# теперь доступны обе
echo $VAL1 $VAL2
# hello hello
:? остановить выполнение с ошибкой, если переменной нет.
echo ${MISS:?is required}
bash: MISS: is required
Код выхода будет 1.
#tricks#linux
Вы наверняка слышали про Instruct pix2pix. Это модель, которая позволяет менять картинку на основе текстового запроса типа "make his hair blue" или "turn it into a wood carving".
Так вот, изначальный вариант pix2pix, который был реализован в Автоматике, уже устарел. Теперь гораздо удобнее пользоваться pix2pix моделью КонтролНета. Она позволяет работать с хайрезными изображениями и в ней не нужно париться с двойной настройкой Denoising strength.
Работает прямо в text2image. Добавьте исходную картинку в ControlNet, оставьте препроцессор в "none", выберите модель "Control_v11e_sd15_ip2p", поставьте правильное разрешение картинки, наберите вашу инструкцию в поле промпта и жмите Generate.
Например я взял исходную картинку с древним городом, превратил ее в схематичный рисунок, в зимнюю сцену и в ночную с огнём.
#совет#A1111#stablehoudini
Всем привет!
Добро пожаловать в 👾 Нейро-Софт!
Для навигации по каналу используйте карту тегов
⤵️:
#txt2img - Нейросети для генерации изображений по текстовому описанию.
#img2img - Нейросети для изменения или стилизации изображений на основе других изображений.
#txt2video - Нейросети для генерации видео по текстовому описанию.
#img2video - Нейросети для создания видео на основе изображений.
#deepfake - Нейросети для создания дипфейков и замены лиц в видео.
#music - Нейросети для генерации музыки.
#voicecloning - Нейросети для клонирования голоса.
#tts - Нейросети для синтеза речи из текста.
#stt - Нейросети для распознавания речи и перевода её в текст.
#txt2txt - Нейросети для генерации текста, анализа текста и перевода.
#multimodal - Нейросети, комбинирующие текст с изображениями или видео.
#style - Нейросети для стилизации и переноса стиля.
#creative - Инструменты для создания визуальных эффектов и художественного творчества.
#stablediffusion - Нейросети для генерации изображений на базе модели Stable Diffusion.
#controlnet - Нейросети использующие принципы или модели ControlNet, например Instant ID.
#fooocus - Репаки и форки Fooocus.
#forge - Репаки и форки Forge.
#a1111 - Репаки и форки Automatic 1111.
#llm - Большие языковые модели для генерации и анализа текста.
💬Обсудить в чате | ⭐️Поддержать канал
👾НЕЙРО-СОФТ — Делаем нейросети доступнее.