Содержание

Spinner Wheel — лучшая альтернатива Google Spinner в 2023 году — AhaSlides

Эта медитация Спиннер Колесо приложение, альтернатива Google Spinner, генератор лотерей, колесо выбора — самый красочный способ получить случайный результат из множества вариантов.

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

Больше удовольствия с AhaSlides Индивидуальное колесо, Облако слов, Колесо генератора случайных рисунков, и как идеи мозгового штурма должным образом!

Обзор – Spinner Wheel AhaSlides

Количество вращений для каждого генератора вращающихся колес?Безлимитный
Бесплатные пользователи могут использовать создатель вращающегося колеса.Да
Могут ли бесплатные пользователи сохранить Колесо в бесплатном режиме?Да
Отредактируйте заголовок и название.Да
Готовые шаблоны?Да, они бесплатны, скачайте бесплатные шаблоны
Количество записей можно поставить на колесо?10. 000
Удалить/добавить записи в колесо во время игры?Да, добавлять, редактировать и удалять записи
Spinner Wheel — Обзор AhaSlides

Спин для своей аудитории.

На AhaSlides игроки могут присоединиться к вашему вращению, ввести свои имена в колесо и посмотреть, как разворачивается волшебство вживую! Идеально подходит для викторины, урока, встречи или семинара.

Возьмите это на (бесплатное) вращение!

Этот прядильщик колес на самом деле является альтернативой приложению, использующему расширенный код и генератор случайных чисел, чтобы обеспечить максимально честный результат. Результаты 100% случайный и на них ничего не влияет, кроме алгоритма, который его запускает.

Вы можете использовать этот случайный выбор абсолютно для всего, что вы имеете в виду. Лучшее применение для него — мелочи, для обучение цели, розыгрыши и стартовые встречи проекта, также один из бесплатные альтернативы Google Form как опрос, лучше всего принимать решения, когда вы просто не знаете правильный путь.

Ищу бесплатно прядильное колесо Примеры? Нажмите на название, чтобы перейти прямо к предварительно загруженному колесу! Это вращающееся колесо буквально заменяет игры с вращающимся колесом рулетки, так как оно полезнее и легче доступно дома!

  1. Вращай колесо Да или нет колеса ????????
    Некоторые трудные решения просто нужно принимать путем подбрасывания монеты или, в данном случае, вращения колеса. В Да или нет колеса является прекрасным противоядием от чрезмерного обдумывания и отличным способом принять эффективное решение.
  2. Имя Колесико Spinner 💁‍♀️💁‍♂️
    Наблюдения и советы этой статьи мы подготовили на основании опыта команды Имя Колесо Spinner, или колесо генератора имен и колесо случайных имен, представляет собой список из 30 англоцентричных имен, которые можно использовать для персонажей, псевдонимов, личностей в рамках защиты свидетелей или чего-либо еще!
  3. Алфавитное вращающееся колесо 🅰
    Наблюдения и советы этой статьи мы подготовили на основании опыта команды Алфавитное вращающееся колесо (Также известный как слово прядильщик, Алфавитное колесо или Алфавитное колесо вращения) — это генератор случайных чисел — генератор букв, который помогает решить слишком сложную задачу — назвать что-то оригинальным и захватывающим образом. Это также отлично подходит в классе, поскольку помогает учителям выбирать учеников для ответов или помогает выбирать темы для обучения.
  4. Прядильное колесо 🍜
    Где поесть сегодня вечером? Не притворяйтесь, что никогда не терялись, когда дело доходит до решения, что приготовить на ужин. Представьте, сколько часов вы могли бы сэкономить за эти годы, если бы воспользовались нашим Прядильное колесо. Поставляется со всеми вариантами, которые вам могут понадобиться для разнообразного и ароматного питания. Или, говоря вьетнамским языком, означает «Труа Най Ан Ги»
  5. Генератор числовых колес 💯
    Проводите розыгрыш? Запускаете ночь бинго? Случайный Генератор числовых колес это все, что тебе нужно! Вращайте колесо для выбора числа, чтобы получить число от 1 до 100.
  6. Генератор Гарри Поттера 🧙♂️
    Думаешь, ты в Равенкло? Подумайте еще раз! Эта прялка привела тебя в Слизерин. Найдите кучу других колесиков с именами Гарри Поттера на Генератор случайных имен Гарри Поттера, такие как колеса для студентов, учителей, основателей и семей.
  7. Спиннер призового колеса ????
    Колеса Spinner созданы для розыгрыша призов, а Спиннер призового колеса может добавить волнения в любое мероприятие, в котором вы раздаете призы.
  8. Колесо зодиака
    Отдайте свою судьбу в руки космоса. Колесо зодиака может показать, какой знак зодиака вам подходит, или с кем вам следует держаться подальше, потому что звезды не совпадают.
  9. случайный Колесо генератора чертежей
    Теперь так легко рисовать из своего альбома для рисования или даже из ваших цифровых работ. Теперь возьмите колесо, чтобы дать толчок вашему творчеству, независимо от вашего опыта рисования!

Ищете вдохновение? 💡 Определенно, вы можете использовать этот случайный выбор в качестве загадочного колеса для правды или действия онлайн. Узнайте, как использовать это вращающееся колесо для Командный руль MLB, колесо генератора случайных категорий, виртуальные командные встречи игры, или быть простым ледоколом для социального или рабочего мероприятия.

Сделай собственное колесо

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

1. Создайте свои записи

Вы можете добавить свои собственные записи в колесо выше, введя их в «поле ввода» с левой стороны колеса. Записи должны содержать менее 25 символов и могут быть загружены в колесо, нажав кнопку Добавить или нажав Enter на клавиатуре.

2. Просмотрите свой список.

Когда вы закончите вводить все свои записи, отметьте их в списке под полем ввода. Самая последняя запись будет отображаться вверху списка, а в разделе над списком с пометкой Записи, покажет количество введенных вами записей.

3. Вращайте колесо!

Когда все записи загружены в ваше колесо, пора крутить! Просто нажмите кнопку в центре колеса, чтобы вращать его, а затем подождите, пока оно не коснется одной из ваших записей.

4. Удалить записи

Если вы хотите удалить запись после того, как на нее приземлилось вращающееся колесо, наведите указатель мыши на имя в списке записей и щелкните значок удаления.
Все еще не знаете, как это работает? Попробуйте наш бесплатный Спиннер Колесо сейчас!

хочу сделать это Интерактивное?

Позвольте вашим участникам добавить свои собственные записи к колесу! Выяснить как сделать прялку…

Онлайн-колесо Spinner – Крути колесо на заказ

Больше вещей можно сделать с Random Spinner Wheel

Это вращающееся колесо — один из 18 типов слайдов в программе AhaSlides, которая помогает вам создавать интерактивные презентации, уроки, Семинары и живые викторины.

Использование прядильщика на AhaSlides дает вам гораздо больше возможностей для настройки, а также возможность повысить вовлеченность, пригласив участников напрямую присоединиться к шоу!

1. Пригласите участников присоединиться

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

2. Попросите участников указать свои имена.

Нет времени вручную добавлять имена участников? Без проблем. Как только они присоединятся к вашей комнате, им будет предложено выбрать имя и аватар, которые будут автоматически загружены в колесо.

3. Добавьте заголовок

Напишите заголовок прямо над случайным прядильщиком колеса, чтобы передать положение колеса. Например, если вы используете колесо, чтобы выбрать участников для ответа на вопрос, вы можете написать что-нибудь необычное, например ‘Кто знает их физику?’ or «Тик-так, это математика, часы».

4. Измените фон и шрифт.

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

Нужна помощь с прядильщиком? 💡 Проверить эта статья в нашей базе знаний чтобы получить больше информации.

Примеры бесплатных генераторов Spinner Wheel

Вам нужно мгновенное онлайн-прядильщик? У нас есть несколько потрясающих пресетов для использования прямо здесь!

✅ Да или нет колеса ❌

Кому нужна монета, когда можно крутить колесо? Содержит 4 Да и 4 Нет записи, чтобы сделать ваш процесс принятия решений много более простой.

🎱 Волшебное колесо с восемью шарами 🎱

Каждый ребенок 90-х в какой-то момент принимал важное решение, используя восьмерку, несмотря на часто уклончивые ответы. У этого есть большинство обычных ответов настоящей волшебной восьмерки.

💁‍♂️ Колесо случайных имен 💁‍♀️

30 имен по любой причине, они могут вам понадобиться. Шутки в сторону, любой причина — может быть, новое имя в профиле, чтобы скрыть свое постыдное прошлое, или новая навеки личность после того, как вы донесете на военачальника.

😳 Колесо истины или действия 😈

Заставьте гостей вечеринки нервничать и взволновать одновременно! В Колесо истины или действия это классическая игра для вечеринок, на этот раз с ярким поворотом.

Покрутите

💰 Денежное колесо 💰

Это онлайн Денежное колесо Генератор состоит из 7 сегментов, стоимостью от 100 до 2,000 долларов. Это действительно хорошо работает для раундов викторин и игра показывает как Колесо Фортуны, Вращай колесо и Цена правильная.

Узнать подробности: Случайное Колесо Имен – Альтернативы Колесу Имен

Покрутите

💯 Генератор числовых колес 💯

Каждое число под солнцем… до 100. Это красивое числовое колесо поможет вам с розыгрышами, играми и подсчетом!

Покрутите

Шаблоны колес AhaSlides Spinner

Общий шаблон

  • Общий шаблон Spinner Wheel
  • Что я должен делать?
  • Лотерейное колесо
  • Генератор случайных песен
  • Генератор случайных стран
  • Что мне делать со своей жизнью?
  • Правда или вызов
  • Викторина по одежде
  • Случайные номера для звонка
  • Идеи подарков для детского душа
  • Вопросы из бутылочки
  • Генератор карт бинго
  • Викторина о Джеймсе Бонде

Серия викторин о животных

  • Угадай викторину про животных
  • Викторина о животных (18 эффектных догадок)
  • Викторина о животных (21 эффектных догадок)
  • Колеса генератора животных

Шаблоны классных викторин

  • Классные игры Spinner Wheel
  • Спиннер в классе
  • Вероятностные игры со Spinner
  • Колесо прялки своими руками

Шаблоны Fun Wheel

  • Таро Спиннер Колесо или Колесо Таро
  • Вращающееся колесо Twister
  • Случайное вращающееся колесо монеты
  • Случайное вращающееся колесо монеты Руанды (И Часть 2)
  • Случайный бросок монеты Человека-паука
  • Случайный бросок монеты Royal Fortune
  • Случайные вещи для покупки
  • Бесплатно скачать приложение Spin The Wheel
  • 1 или 2 колеса
  • Генератор правда или действие
  • Генератор случайных фильмов
  • Радужное колесо
  • Что съесть на обед
  • Что приготовить на ужин?
  • Выбор случайных вещей
Вы можете делать гораздо больше с AhaSlides, например, создавать случайный выбор вещей или создавать генератор вопросов для игры в произвольном стиле. Это также идеальный инструмент для создания «левого или правого генератора», поскольку он должен включать 2 записи, чрезвычайно простой в использовании.

История этого прядильного колеса

AhaSlides — это создание любых веселых, красочных и увлекательных презентаций. Вот почему в мае 2021 года мы решили разработать вращающееся колесо AhaSlides 🎉

Идея фактически зародилась вне компании, в университете Абу-Даби. Все началось с директора кампусов Аль-Айна и Дубая, Д-р Хамад Одхаби, давний поклонник AhaSlides за его способность улучшить взаимодействие среди студентов, находящихся под его опекой.

Он предложил использовать случайный прядильщик колес, чтобы дать ему возможность выбирать учеников случайно. Нам понравилась его идея, и мы сразу же приступили к работе. Вот как все закончилось …

  • 12 мая 2021: Создан первый черновик вращающегося колеса, включая колесо и кнопку воспроизведения.
  • 14 мая 2021: Добавлен указатель счетчика, поле ввода и список записей.
  • 17 мая 2021: Добавлен счетчик записей и окно записи.
  • 19 мая 2021: Улучшен окончательный вид колеса и добавлено всплывающее окно с окончанием празднования.
  • 20 мая 2021: Колесо вращения теперь совместимо со встроенным фильтром ненормативной лексики AhaSlides.
  • 26 мая 2021: Доработана финальная версия представления аудитории о колесе на мобильных устройствах.
  • 27 мая 2021: Добавлена ​​возможность участникам добавлять свое имя на колесо.
  • 28 мая 2021: Добавлен тикающий звук и праздничные фанфары.
  • 29 мая 2021: Добавлена ​​функция «колесо обновления», позволяющая новым участникам присоединиться к колесу.
  • 30 мая 2021 г .: Сделал окончательную проверку и выпустил спиннер в качестве нашего 17-го типа слайдов.

Мы будем хранить все обновления прядильщика в журнале выше. Вернитесь сюда, чтобы узнать, что нового!

Колесо прялки в игровых шоу

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

Они были модными среди Американские игровые шоу 70-х, когда зрители быстро увлеклись опьяняющим водоворотом света и звука, способным принести обычным людям огромное богатство.

Колесо прядильщика закрутилось в наших сердцах с первых дней хит-парада. Колесо Фортуны. Его способность оживить то, что по сути было телевизионной игрой в Палач, и сохраняют интерес зрителей до сегодняшнего дня, действительно рассказывают о силе случайных прядильных машин и гарантируют, что игровые шоу с уловками колес будут продолжать наводнять в течение 70-х.

В тот период Цена правильная, Матч игры и Большое вращение стали мастерами в искусстве вращения, используя огромные колесики для выбора чисел, букв и сумм денег случайным образом.

Хотя большинство прядильщиков вращается в телешоу, вдохновленных 70-ми годами, есть редкие примеры таких, которые снова привлекают всеобщее внимание. В основном недолговечные Вращай колесо, произведенный Джастином Тимберлейком в 2019 году, и 40-футовое колесо, которое на сегодняшний день является самым показным в истории телевидения.

Хотите узнать больше? 💡 Джон Тети отличный и краткая история вращающегося колеса телевизора — случайный спиннер безусловно стоит прочитать. Итак, как вы можете сказать, AhaSlides — лучшая крутилка онлайн!

👉 Спиннер Колесо!

Могу ли я писать иностранные символы или использовать смайлики в этом прялке?

Что вы можете! Мы не делаем дискриминации в AhaSlides 😉 Вы можете ввести любой иностранный персонаж или вставить любые скопированные смайлы в колесо случайного выбора. Имейте в виду, что иностранные персонажи и смайлики могут выглядеть по-разному на разных устройствах.

Могу ли я использовать блокировщик рекламы при вращении колеса?

Безусловно. Использование блокировщика рекламы никак не влияет на работу вращающегося колеса (потому что мы не запускаем рекламу на AhaSlides!)

Можно ли оснастить вертушку?

Неа. Нет никаких секретных лайфхаков для вас или кого-либо еще, чтобы заставить колесо показывать результат больше, чем любой другой результат. Операция является 100% случайной и нельзя повлиять.

Есть ли способ, чтобы два вращающихся колеса работали одновременно?

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

Есть ли у этого прядильщика версия темного режима?

Оно делает! Колесо рандомизатора темного режима здесь недоступно, но вы можете использовать его с бесплатный аккаунт на AhaSlides. Просто начните новую презентацию, выберите тип слайда Spinner Wheel, затем измените фон на темный цвет. Ваше вращающееся колесо автоматически обновится в темном режиме и будет выглядеть примерно так 👇

Как написать генератор изображений, который вас понимает / Хабр

Автор статьи рассказывает, как за неделю создал Text2Art.com — генератор изображений на основе VQGAN+CLIP, способный рисовать пиксель-арт и живопись, а также изображать то, что вы напишете в текстовом поле.

Для интерфейса используется Gradio, модель работает на сервере FastAPI, а системой очереди сообщений служит Firebase. Подробностями делимся к старту курса по ML и DL.


Галерея Text2Art

Если вам понравился проект, вы можете проголосовать за него здесь.

Введение

Не так давно генеративные картины и NFT штурмом захватили мир. Это стало возможным после значительного прогресса OpenAI в генерации изображения из текста. Ранее в этом году OpenAI анонсировал DALL-E, мощный генератор изображений из текстов.

Чтобы проиллюстрировать, насколько хорошо работает DALL-E, посмотрите рисунки, сгенерированные DALL-E по запросу «a professional high quality illustration of a giraffe dragon chimera, «a giraffe imitating a dragon», «a giraffe made of dragon».

Изображения по запросу «a professional high quality illustration of a giraffe dragon chimera, «a giraffe imitating a dragon», «a giraffe made of dragon».

К сожалению, DALL-E не был выпущен в массы. Вместо него была опубликована модель, которая творит магию DALL-E, — CLIP. CLIP или Contrastive Image-Language Pretraining — это мультимодальная сеть, объединяющая текст и изображения.

Одним словом, CLIP способен оценить, насколько хорошо изображение соответствует надписи или наоборот.

Это крайне полезно в управлении генератором, чтобы создать изображение, точно соответствующее введённому тексту. В фильме «DALL-E»  CLIP используется, чтобы ранжировать сгенерированные изображения и входные изображения с наивысшим баллом (самые похожие на тектовый запрос).

Через несколько месяцев после анонса фильма DALL-E был опубликован новый генератор изображений-трансформеров под названием VQGAN (Vector Quantized GAN). Сочетание VQGAN с CLIP даёт качество, аналогичное DALL-E. С момента обнародования предварительно обученной модели VQGAN сообщество создало множество удивительных картин.

Вот примеры:

Я был поражён результатами и захотел поделиться ими со своими друзьями. Но, поскольку не так много людей готовы погрузиться в код ради генерации картин, я решил сделать Text2Art.com — сайт, где любой может просто ввести подсказку и сгенерировать нужное изображение, не сталкиваясь с кодом воочию.

Как это работает

Итак, как работает VQGAN+CLIP? VQGAN генерирует изображение, а CLIP измеряет, насколько оно соответствует запросу. Затем генератор использует обратную связь от модели CLIP, чтобы сгенерировать более точные изображения. Процедура повторяется, пока оценка CLIP не станет достаточно высокой.

VQGAN генерирует изображения, пока CLIP направляет процесс. Чем больше итераций, тем точнее изображение [источник: иллюстрированный VQGAN от LJ Miranda]

Я не буду рассказывать о внутренней работе VQGAN или CLIP. Но, если вы хотите получить более глубокие объяснения VQGAN, CLIP или DALL-E, обратитесь к этим удивительным ресурсам, которые я нашёл:

  • Иллюстрированный VQGAN;

  • Объяснение DALL-E;

  • Объяснение научной работы о CLIP на видео.

X + CLIP

VQGAN+CLIP — это только пример того, на что способно объединение генератора изображений с CLIP. Однако вы можете заменить VQGAN на любой генератор. Появилось много вариантов X + CLIP, таких как StyleCLIP (StyleGAN + CLIP), CLIPDraw (векторный генератор), BigGAN + CLIP и многие другие, даже AudioCLIP, который работает со звуком, а не изображениями.

Редактирование изображений при помощи StyleCLIP [работа о StyleCLIP]

Код

Я воспользуюсь кодом из репозитория clipit от dribnet, этот код генерирует изображения при помощи VQGAN+CLIP в несколько простых строк (обновление: clipit мигрировал на pixray). Его рекомендуется запускать на Google Colab: VQGAN+CLIP требует много памяти GPU. Вот блокнот Colab.

Прежде всего, если вы работаете на Colab, убедитесь, что вы изменили тип рантайма на GPU, вот так:

Установим кодовую базу и зависимости:

from IPython.utils import io
with io.capture_output() as captured:
  !git clone https://github. com/openai/CLIP
  # !pip install taming-transformers
  !git clone https://github.com/CompVis/taming-transformers.git
  !rm -Rf clipit
  !git clone https://github.com/mfrashad/clipit.git
  !pip install ftfy regex tqdm omegaconf pytorch-lightning
  !pip install kornia
  !pip install imageio-ffmpeg   
  !pip install einops
  !pip install torch-optimizer
  !pip install easydict
  !pip install braceexpand
  !pip install git+https://github.com/pvigier/perlin-numpy
  # ClipDraw deps
  !pip install svgwrite
  !pip install svgpathtools
  !pip install cssutils
  !pip install numba
  !pip install torch-tools
  !pip install visdom
  !pip install gradio
  !git clone https://github.com/BachiLi/diffvg
  %cd diffvg
  # !ls
  !git submodule update --init --recursive
  !python setup.py install
  %cd ..
  
  !mkdir -p steps
  !mkdir -p models

«!» — это специальная команда в Google Colab, которая означает, что команда будет запущена в bash, а не в python.

После установки библиотек мы можем просто импортировать clipit и запустить эти несколько строк кода для генерации картины с помощью VQGAN+CLIP.

Просто замените текстовую подсказку на любую другую. Кроме того, вы можете задать clipit такие параметры, как количество итераций, ширина, высота, модель генератора, хотите ли вы генерировать видео или нет, и многие другие. Чтобы больше узнать об опциях, вы можете посмотреть исходный код.

Вот код генерации:

import sys
sys.path.append("clipit")
import clipit
# To reset settings to default
clipit.reset_settings()
# You can use "|" to separate multiple prompts
prompts = "underwater city"
# You can trade off speed for quality: draft, normal, better, best
quality = "normal"
# Aspect ratio: widescreen, square
aspect = "widescreen"
# Add settings
clipit.add_settings(prompts=prompts, quality=quality, aspect=aspect)
# Apply these settings and run
settings = clipit.apply_settings()
clipit.do_init(settings)
cliptit.do_run(settings)

Когда вы запустите код, он сгенерирует изображение. На каждой итерации сгенерированное изображение будет приближаться к тексту, который вы ввели.

Итерации по заросу “underwater city”

Количество итераций

Вот так можно установить количество итераций, им управляет iterations:

clipit.add_settings(iterations=500)

Генерация видео

В любом случае нужно генерировать изображение для каждой итерации, поэтому можно сохранить эти изображения и создать анимацию самой генерации. Для этого добавьте make_video=True перед применением настроек.

clipit.add_settings(make_video=True)

Получится этот ролик:

Сгенерированный подводный город, запрос “Underwater City”

Управление размером изображений

Размер изображения устанавливается опцией size=(width, height). Сенерируем баннерное изображение с разрешением 800×200. Обратите внимание, что более высокое разрешение требует большего объёма памяти GPU.

clipit.add_settings(size=(800, 200))
Баннер 800×200 по запросу “Fantasy Kingdom #artstation”

Генерация пиксель-арта

Можно генерировать и пиксель-арт. Для этого используется рендерер CLIPDraw за сценой с некоторыми инженерными решениями, такими как ограничение цветов палитры, пикселизация и т.д. Просто включите опцию use_pixeldraw=True.

clipit.add_settings(use_pixeldraw=True)
Изображение по запросу “Knight in armor #pixelart”Изображение по запросу “A world of chinese fantasy video game #pixelart”

VQGAN+CLIP модификатор ключевых слов

Из-за смещения в CLIP добавление определённых ключевых слов к подсказке может придать определённый эффект генерируемому изображению. Например, добавление слова «unreal engine»  к текстовой подсказке, как правило, создаёт реалистичное изображение или HD стиль. Добавление определённых названий сайтов, таких как «deviantart», «artstation»  или «flickr», обычно делает результаты более эстетичными. Мне больше всего нравится использовать ключевое слово «artstation”, так как я считаю, что помогает создать лучшие картины.

Сравнение ключевых слов

Кроме того, вы можете использовать ключевые слова, чтобы обусловить художественный стиль: «pencil sketch”, «low poly» или даже имя художника — «Thomas Kinkade» или «James Gurney”.

Ключевые слова стиля — сравнение

Чтобы узнать больше о влиянии различных ключевых слов, вы можете ознакомиться с изображением, которое показывает более 200 слов на 4 темы.

UI на Gradio

Gradio — это библиотека Python, которая упрощает построение демонстраций ML до нескольких строк кода. Демоверсия требует меньше 10 минут работы. Кроме того, вы можете запустить Gradio в Colab, и он сгенерирует ссылку для совместного использования на домене Gradio. Ссылкой можно поделиться.

Gradio имеет некоторые ограничения, но я считаю, что это самая подходящая библиотека, когда вы просто хотите продемонстрировать одну функцию.

Ниже код простого пользовательского интерфейса для приложения Text2Art. Думаю, что он достаточно понятен, но, если вам нужно больше объяснений, смотрите документацию Gradio.

import gradio as gr
import torch
import clipit
# Define the main function
def generate(prompt, quality, style, aspect):
    torch.cuda.empty_cache()
    clipit.reset_settings()
    
    use_pixeldraw = (style == 'pixel art')
    use_clipdraw = (style == 'painting')
    clipit.
add_settings(prompts=prompt, aspect=aspect, quality=quality, use_pixeldraw=use_pixeldraw, use_clipdraw=use_clipdraw, make_video=True) settings = clipit.apply_settings() clipit.do_init(settings) clipit.do_run(settings) return 'output.png', 'output.mp4' # Create the UI prompt = gr.inputs.Textbox(default="Underwater city", label="Text Prompt") quality = gr.inputs.Radio(choices=['draft', 'normal', 'better'], label="Quality") style = gr.inputs.Radio(choices=['image', 'painting','pixel art'], label="Type") aspect = gr.inputs.Radio(choices=['square', 'widescreen','portrait'], label="Size") # Launch the demo iface = gr.Interface(generate, inputs=[prompt, quality, style, aspect], outputs=['image', 'video'], enable_queue=True, live=False) iface.launch(debug=True)

Как только вы запустите эту программу в Google Colab или локально, она создаст ссылку, которой можно поделиться, демонстрация будет общедоступной. Не нужно использовать туннелирование SSH вроде ngrok. Кроме того, Gradio также предлагает хостинг за 7 долларов в месяц.

Ссылка в демо, которой можно поделиться.

Однако Gradio хорошо подходит только для демонстрации одной функции. Создание кастомного сайта с дополнительными функциями, такими как галерея, вход в систему или даже просто пользовательский CSS, довольно ограничено или вообще невозможно.

Одно быстрое решение — создать демонстрационный сайт отдельно от пользовательского интерфейса Gradio, затем — встроить интерфейс Gradio через iframe.

Я попробовал этот метод, но осознал один важный недостаток: я не могу персонализировать части, которые должны взаимодействовать с самим приложением ML: валидацию ввода, пользовательский прогресс-бар и т. д., невозможны с iframe. И я решил создать API.

FastAPI для модели

Чтобы сделать API быстрее, вместо Flask я воспользовался FastAPI. Кода меньше, а ещё он автоматически генерирует документацию со Swagger UI, что позволяет тестировать API с помощью простого пользовательского интерфейса.

Кроме того, FastAPI поддерживает асинхронные функции и, как утверждается, он быстрее, чем Flask.

Добавляем /docs/ в URL, чтобы увидеть SwaggerТестируем API в UI Swagger

Вот код, который я написал для выполнения функции ML на сервере FastAPI:

import clipit
import torch
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi import FastAPI, File, UploadFile, Form, BackgroundTasks
from fastapi.responses import FileResponse
app = FastAPI()
app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_credentials=True,
    allow_methods=['*'],
    allow_headers=['*'],
)
@app.get('/')
async def root():
    return {'hello': 'world'}
@app.post("/generate")
async def generate(
        seed: int = Form(None),
        iterations: int = Form(None),
        prompts: str = Form("Underwater City"),
        quality: str = Form("draft"),
        aspect: str = Form("square"),
        scale: float = Form(2.5),
        style: str = Form('image'),
        make_video: bool = Form(False),      
    ):
    torch.
cuda.empty_cache() clipit.reset_settings() use_pixeldraw = (style == 'Pixel Art') use_clipdraw = (style == 'Painting') clipit.add_settings(prompts=prompts, seed=seed, iterations=iterations, aspect=aspect, quality=quality, scale=scale, use_pixeldraw=use_pixeldraw, use_clipdraw=use_clipdraw, make_video=make_video) settings = clipit.apply_settings() clipit.do_init(settings) clipit.do_run(settings) return FileResponse('output.png', media_type="image/png")

После определения сервера мы можем запустить его с помощью uvicorn. Кроме того, поскольку Google Colab предоставляет доступ к своему серверу только через интерфейс Colab, мы должны использовать Ngrok, чтобы сделать сервер FastAPI публичным.

Код для запуска и демонстрации сервера:

import nest_asyncio
from pyngrok import ngrok
import uvicorn
ngrok_tunnel = ngrok. connect(8000)
print('Public URL:', ngrok_tunnel.public_url)
print('Doc URL:', ngrok_tunnel.public_url+'/docs')
nest_asyncio.apply()
uvicorn.run(app, port=8000)

Запустив сервер, мы можем перейти к Swagger UI (добавив /docs в сгенерированный ngrok URL) и протестировать API.

Генерация подводного замка при помощи FastAPI Swagger UI

При тестировании API я понял, что вывод может занять от 3 до 20 минут в зависимости от качества/итераций. Три минуты само по себе уже считается очень долгим для HTTP-запроса, и пользователи могут не захотеть ждать так долго.

Я решил, что установка вывода в качестве фоновой задачи и отправка пользователю электронного письма после получения результата лучше подходят для этой задачи.

Теперь, когда мы определились с планом, напишем функцию для отправки письма. Сначала я использовал почтовый API SendGrid, но после исчерпания квоты бесплатного использования (100 писем в день) перешёл на API Mailgun, который входит в пакет GitHub Student Developer Pack, разрешая студентам отправлять 20 000 писем в месяц.

Вот код для отправки электронного письма с вложением изображения с помощью API Mailgun:

import requests
def email_results_mailgun(email, prompt):
    return requests.post("https://api.mailgun.net/v3/text2art.com/messages",
        auth=("api", "YOUR_MAILGUN_API_KEY"),
        files=[("attachment",("output.png", open("output.png", "rb").read() )),
               ("attachment", ("output.mp4", open("output.mp4", "rb").read() ))],
        data={"from": "Text2Art <YOUR_EMAIL>",
              "to": email,
              "subject": "Your Artwork is ready!",
              "text": f'Your generated arts using the prompt "{prompt}".',
              "html": f'Your generated arts using the prompt <strong>"{prompt}"</strong>.'})

Далее мы изменим код нашего сервера, чтобы использовать фоновые задачи в FastAPI и отправить результат по электронной почте в фоновом режиме.

Код сервера
#@title API Functions
import clipit
import torch
from fastapi import FastAPI
from fastapi. middleware.cors import CORSMiddleware
from fastapi import FastAPI, File, UploadFile, Form, BackgroundTasks
from fastapi.responses import FileResponse
app = FastAPI()
app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_credentials=True,
    allow_methods=['*'],
    allow_headers=['*'],
)
# define function to be run as background tasks
def generate(email, settings):
    clipit.do_init(settings)
    clipit.do_run(settings)
    prompt = " | ".join(settings.prompts)
    email_results_mailgun(email, prompt)
@app.get('/')
async def root():
    return {'hello': 'world'}
@app.post("/generate")
async def add_task(
        email: str,
        background_tasks: BackgroundTasks,
        seed: int = Form(None),
        iterations: int = Form(None),
        prompts: str = Form("Underwater City"),
        quality: str = Form("draft"),
        aspect: str = Form("square"),
        scale: float = Form(2.5),
        style: str = Form('image'),
        make_video: bool = Form(False),      
    ):
    torch. cuda.empty_cache()
    clipit.reset_settings()
    use_pixeldraw = (style == 'Pixel Art')
    use_clipdraw = (style == 'Painting')
    clipit.add_settings(prompts=prompts,
                        seed=seed,
                        iterations=iterations,
                        aspect=aspect,
                        quality=quality,
                        scale=scale,
                        use_pixeldraw=use_pixeldraw,
                        use_clipdraw=use_clipdraw,
                        make_video=make_video)
    
    settings = clipit.apply_settings()
    # Run function as background task
    background_tasks.add_task(generate, email, settings)
    return {"message": "Task is processed in the background"}
  

С помощью приведённого выше кода сервер быстро ответит на запрос сообщением «Task is processed in the background» вместо того, чтобы ждать завершения генерации и ответа с изображением. Когда генерация завершится, сервер по электронной почте отправит пользователю результат.

Изображение и видеозапись отправляются пользователю по электронной почте

Теперь, когда всё вроде бы заработало, я создал фронтенд и поделился сайтом со своими друзьями. Однако при тестировании с несколькими пользователями я обнаружил, что есть проблема параллелизма.

Когда второй пользователь делает запрос на сервер, в то время как первая задача всё ещё обрабатывается, вторая задача каким-то образом завершает текущий процесс, вместо того чтобы создать параллельный процесс или очередь.

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

По результатам поисков в Google большинство рекомендует RabbitMQ или Redis. Однако я не был уверен, можно ли установить RabbitMQ или Redis на Google Colab: для этого, похоже, требуется разрешение sudo.

В конце концов, я решил использовать Google Firebase, потому что хотел закончить проект как можно скорее, а с Firebase я знаком лучше всего.

В основном, когда пользователь пытается сгенерировать рисунок во фронтенде, он добавляет запись в queue, которая описывает задачу (введённый текст, тип изображения, размер и т. д.).

С другой стороны, мы запустим сценарий на Google Colab, который будет постоянно прослушивать новую запись в очереди и обрабатывать задания одно за другим.

Код бэкенда, который обрабатывает задание и постоянно прослушивает очередь
import torch
import clipit
import time
from datetime import datetime
import firebase_admin
from firebase_admin import credentials, firestore, storage
if not firebase_admin._apps:
    cred = credentials.Certificate("YOUR_CREDENTIAL_FILE")
    firebase_admin.initialize_app(cred, {
        'storageBucket': 'YOUR_BUCKET_URL'
    })
db = firestore.client()
bucket = storage.bucket()
def generate(doc_id, prompt, quality, style, aspect, email):
    torch.cuda.empty_cache()
    clipit.reset_settings()
    use_pixeldraw = (style == 'pixel art')
    use_clipdraw = (style == 'painting')
    clipit. add_settings(prompts=prompt,
                        seed=seed,
                        aspect=aspect,
                        quality=quality,
                        use_pixeldraw=use_pixeldraw,
                        use_clipdraw=use_clipdraw,
                        make_video=True)
    
    settings = clipit.apply_settings()
    clipit.do_init(settings)
    clipit.do_run(settings)
    data = {
        "seed": seed,
        "prompt": prompt,
        "quality": quality,
        "aspect": aspect,
        "type": style,
        "user": email,
        "created_at": datetime.now()
    }
    db.collection('generated_images').document(doc_id).set(data)
    email_results_mailgun(email, prompt)
transaction = db.transaction()
@firestore.transactional
def claim_task(transaction, queue_objects_ref):
    # query firestore
    queue_objects = queue_objects_ref.stream(transaction=transaction)
    # pull the document from the iterable
    next_item = None
    for doc in queue_objects:
        next_item = doc
    # if queue is empty return status code of 2
    if not next_item:
        return {"status": 2}
    # get information from the document 
    next_item_data = next_item. to_dict()
    next_item_data["status"] = 0
    next_item_data['id'] = next_item.id
    # delete the document and return the information
    transaction.delete(next_item.reference)
    return next_item_data
# initialize query
queue_objects_ref = (
    db.collection("queue")
    .order_by("created_at", direction="ASCENDING")
    .limit(1)
)
transaction_attempts = 0
while True:
    try:
        # apply transaction
        next_item_data = claim_task(transaction, queue_objects_ref)
        if next_item_data['status'] == 0:
            generate(next_item_data['id'],
                     next_item_data['prompt'],
                     next_item_data['quality'],
                     next_item_data['type'],
                     next_item_data['aspect'],
                     next_item_data['email'])
            print(f"Generated {next_item_data['prompt']} for {next_item_data['email']}")
    except Exception as e:
        print(f"Could not apply transaction. Error: {e}")
        time.sleep(5)
        transaction_attempts += 1
        if transaction_attempts > 20:
            db. collection("errors").add({
                "exception": f"Could not apply transaction. Error: {e}",
                "time": str(datetime.now())
            })
            exit()

На фронте нужно только добавить новую задачу в очередь. Убедитесь, что правильно настроили Firebase на фронтенде:

db.collection("queue").add({
        prompt: prompt,
        email: email,
        quality: quality,
        type: type,
        aspect: aspect,
        created_at: firebase.firestore.FieldValue.serverTimestamp(),
})

Мы сделали это! Теперь, когда пользователь попытается создать рисунок на фронтенде, он добавит новую задачу в очередь. Затем рабочий скрипт на сервере Colab обработает задания в очереди, одно за другим. Вы можете заглянуть в репозиторий GitHub, чтобы увидеть весь код.

Лучше понять нейросети и научиться решать проблемы бизнеса с их помощью вы сможете на наших курсах:

  • Курс «Machine Learning и Deep Learning» (6 месяцев)

  • Профессия Data Scientist (24 месяца)

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

Ссылки статьи

[1] DALL-E

[2] CLIP

[3] CLIP-VQGAN

[4] StyleCLIP

[5] Flask против FastAPI

Профессии и курсы

Data Science и Machine Learning

  • Профессия Data Scientist

  • Профессия Data Analyst

  • Курс «Математика для Data Science»

  • Курс «Математика и Machine Learning для Data Science»

  • Курс по Data Engineering

  • Курс «Machine Learning и Deep Learning»

  • Курс по Machine Learning

Python, веб-разработка

  • Профессия Fullstack-разработчик на Python

  • Курс «Python для веб-разработки»

  • Профессия Frontend-разработчик

  • Профессия Веб-разработчик

Мобильная разработка

  • Профессия iOS-разработчик

  • Профессия Android-разработчик

Java и C#

  • Профессия Java-разработчик

  • Профессия QA-инженер на JAVA

  • Профессия C#-разработчик

  • Профессия Разработчик игр на Unity

От основ — в глубину

  • Курс «Алгоритмы и структуры данных»

  • Профессия C++ разработчик

  • Профессия Этичный хакер

А также:

  • Курс по DevOps

‎В App Store: WannaDraw

Описание

Мобильное приложение WannaDraw — это рай для художников, где вы можете наслаждаться случайными генераторами идей для рисования. Соедините наше приложение генератора случайных идей с ручкой и бумагой или с любым другим приложением для рисования, которое вы используете!

Это приложение ранее размещалось на страницах AudityDraws в социальных сетях. Мы надеемся, что вам понравятся наши генераторы идей, и вы будете использовать их для создания онлайн-контента в социальных сетях. Посмотрите, что сделали другие, с помощью #wannadraw во всех социальных сетях.

Вы не можете рисовать в этом приложении. У него нет такой функции. Это всего лишь генератор идей.

Рисуем каждый день. Безграничные возможности и идеи!

Версия 1.91

Приложение должно работать без сбоев на новых устройствах и более новой iOS!

Рейтинги и обзоры

519 оценок

😂

Честно говоря, кто здесь из-за тик-тока? 😂

Вентилятор

Я фанат тиктока! Auditydraws Мне нравится ваше приложение. Это делает меня намного более творческим. СПАСИБО

;-;

хорошо, кто еще здесь до н.э. из тик ток lmao

Разработчик, компания Audity Arts, Inc., указала, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.

Данные, используемые для отслеживания вас

Следующие данные могут использоваться для отслеживания вас в приложениях и на веб-сайтах, принадлежащих другим компаниям:

  • Расположение
  • Идентификаторы
  • Данные об использовании
  • Диагностика

Данные, связанные с вами

Следующие данные могут быть собраны и связаны с вашей личностью:

  • Расположение
  • Идентификаторы
  • Данные об использовании
  • Диагностика

Данные, не связанные с вами

Могут быть собраны следующие данные, но они не связаны с вашей личностью:

Методы обеспечения конфиденциальности могут различаться, например, в зависимости от используемых вами функций или вашего возраста. Узнать больше

Информация

Продавец
Ауди Артс, Инк.

Размер
91,8 МБ

Категория
Развлечение

Возрастной рейтинг
9+ Нечастые/мягкие зрелые/наводящие на размышления темы

Авторское право
© Audity Arts, Inc.

Цена
Бесплатно

  • Сайт разработчика
  • Тех. поддержка
  • политика конфиденциальности

Вам также может понравиться

случайный генератор идей для рисования — Google Такой 12 Генератор идей для рисования может стать отличным источником вдохновения для рисования новых вещей.

.

Генератор случайных рисунков от AudityDraws

shop.auditydraws.com › pages › audity-random-dra…

Генератор случайных рисунков GIF Сделано AudityDraws! Используйте этот бесплатный генератор идей, показанный в видео AudityDraws, для новых забавных идей или просто для смеха.

ArtPrompts | Генератор подсказок для художников

artprompts.org

Вы знаете основы рисования и цифрового искусства, но чувствуете, что застряли на своем нынешнем уровне навыков? Вы восхищаетесь талантом ваших любимых художников и задаетесь вопросом, как …

Генератор художественных подсказок — Случайные идеи для рисования — YourArtPath

yourartpath.com › генератор художественных подсказок со случайными идеями рисования для вашего следующего произведения искусства. Этот генератор идей для рисования делится на предложения!

Генератор случайных рисунков — Индивидуальные идеи для рисования

drawingprompt. com

Центр подсказок для рисования. Выберите одну из более чем 30 подсказок (включая фэнтезийные и аниме-сцены) и случайным образом сгенерируйте идею для рисования, которая вдохновит вас на творчество.

Генератор случайных идей для рисования — случайные занятия

randomthingstodo.com › Draw

Забавные вещи, которые можно рисовать карандашами или цветными мелками.

Ähnliche Fragen

Какую случайную вещь я могу нарисовать?

Какое приложение позволяет рисовать случайные предметы?

Как мне получить идеи, что рисовать?

Что нарисовать 13-летнему ребенку?

Psuedofolio — ГЕНЕРАТОР СЛУЧАЙНЫХ ИДЕЙ ДЛЯ РИСОВАНИЯ 3.0 …

psuedofolio.tumblr.com › post › randraw-3

17.08.2013 · ГЕНЕРАТОР СЛУЧАЙНЫХ ИДЕЙ ДЛЯ РИСОВАНИЯ 3.0! Теперь шанс получить Бэтмена как Бэтмена составляет менее одного из пяти тысяч!

Колесо генератора произвольного рисования — лучшие функции 2023 года

ahaslides.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *