Результаты поиска по запросу «

как вставить файл в скрипт

»

Запрос:
Создатель поста:
Теги (через запятую):



скрипт script userscript реактор сделал сам тема 

Ещё одна темная тема для реактора (мои рассуждения + код)

Доброго времени суток, глубокоуважаемые пидоры и прочие интересные личности.

Использовал я значит раньше тему Dark Reactor [by Sirko] [Fixed by FeaR], которую допилил напильником и выложил на greasyfork.org. Однако подумал что она слишком тяжела и пора бы запилить нечто более легкое. То есть, представленная ниже тема минимально затрагивает разметку css сайта, а также не содержит никаких картинок. И вот что я делал.

Как наверное кто-то (а может и нихуя никто) видел в моих предыдущих кастомных темах я использую расширение Tampermonkey, отличительной особенностью которого (а также его подобий типа greasemonkey) в том, что он позволяет исполнять пользовательские скрипты JavaScript, как-то изменяя или дополняя функционал различных сайтов. Поскольку я не программист, попытаюсь порассуждать с позиции того что я понял как обычный мимокрокодил, прошу не пинать за неточности формулировок или ламерство.

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

Так вот начало скрипта document.addEventListener("DOMContentLoaded"... по сути позволяет добавлять в обработчики событий документа событие когда весь документ можно сопоставить со всей его иерархией. Ну а дальше идет представление пользовательского стиля css, в котором я меняю разметку, а после - внедрения стиля при помощи внутреннего инструмента GM_addStyle, который встроен в Tampermonkey. Либо PRO_addStyle или addStyle или ручное внедрение стиля средствами js.

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

Mik JoyReactor 'УС Гипомнезия и что-то еще,скрипт,script,userscript,реактор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,тема

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

Отличный комментарий! Закрывайте окна, зима же! МагскаБоп 20^п.2023 12:48 ссылка в избранное 20.Jan.2023 12:44 В в избранное ссылка скрыть КОММЕНТАРИИ 34 добавитьтеги неправильные теги!,скрипт,script,userscript,реактор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел

И что самое интересное - айфреймы. Если кто не знает - iframe это контейнер который разрешает стороннему сайту встроить в него что хочешь, например плеер с видеороликом. Вообще, с фреймами на джое что-то странное, так как допустим при размещения ютуп-ролика сайт будет встраивать в пост окно разрешения 560 на 315. У меня уже давно вопрос встал - нахуя, а главное - зачем? Неужели чтобы тренировать наше потраченное от дрочки на трапов зрение? Хотя, я так полагаю чтобы была какая-никакая совместимость с небольшими дисплеями 1024х768 на которых до сих пор сидят олдфаги..

видео video Подписчиков: 2754 Сообщений: 83376 Рейтинг постов: 238,026.3,скрипт,script,userscript,реактор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,тема

Как бы то ни было, я решил этот момент в три строчки. Буквально.

iframe {

width: 100%;

aspect-ratio: 16 / 9;

height: auto;

}

Первое - даем фрейму ширину его родителя, так как это может быть блок нового поста или комментарий. Второе - устанавливаем правило в соотношение сторон фрейма, ведь 560х315 - это тоже самое соотношение 16 на 9. Третье, даем авто-высоту, благодаря установленным выше двум правилам. Всё.

Если подумать, большинство фреймов на джое - это либо видеоролики ютупа, вимео, куба, либо песня с саундклауд. Но насчет последнего я вставил селектор, дабы он не менял высоту фрейма:

iframe[src^='https://w.soundcloud.com'] {

aspect-ratio: auto;

}

Я Kurchi sample bit сделал сам музыка synth-pop Sample Bit - New Shell И вновь всем привет! Почти год прошёл с даты публикации прошлого трека (OST к короткометражке - не в счет). Я помнится намеревался там набрать материал на Vol.3, и тут можно вставить мем - "Набрал... Набрал ведь же?".]рд И

Ролики ютуб почти все с таким соотношением, фрейм дают стандартно. А вот с остальными, типа куб, как посмотреть - вертикальный фрейм не будет растягиваться по ширине блока поста, а встанет гордо по центру. Хуй с ним тогда.

Для гифок я сделал поменьше плашку их скачивания, так ИМХО красивше:

скрипт,script,userscript,реактор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,тема

Отельный гемор еще раньше, для предыдущей темы вызвала посветка родительского комментария. Это когда наводишь на коммент и подсвечивается он и его родитель. Я долго искал где это в css, но потом вяснил что это реализовано при помощи того же JS. Пришлось инкапсулировать не только css, но и js, в итоге стало темнее:

На, Колян, закуси . ' @юздо 16.Apr.2023 16:37 ссылка[ в избранное ладно, можете не вытаскивать меня из кота... котт! 16.Apr.2023 16:38 ссылка | в избранное Димас, слуш не в падлу, почеши за ушком ¡14^ 16.Apr.2023 16:45 ссылка Т в избранное Приемлемо апс!ге]Иоуап 16.Apr.2023 16:58 в

Ну и в остальном, прошу любить и жаловаться!

ЛЕНТА (+2) Новое мысли позитивно^- Ищу себе МИЛФУ Привет, с1опо1Ытк Выход ^,)оуКеаси>г Мобильная/темная версия ПБ^Л/ Зоукеайог 'УС Гипомнезия и что-то еще ОБСУЖДАЕМОЕ ЛЮДИ О ПРОЕКТЕ Поиск случайный пост Хорошее (+2) Лучшее (+8598) ЮМОР Новые записи Комиксы Ф подписаться

https://greasyfork.org/ru/scripts/464142-new-dark-reactor-by-donotblink

Прошу писать в комментах, если что я упустил или что-то написал коряво и надо бы доделать/переделать.

Темная тема работает через расширение для браузеров: Tampermonkey или Greasemonkey:

* greasemonkey (в Firefox'е) https://addons.mozilla.org/ru/firefox/addon/greasemonkey/

* tampermonkey (в Хроме, Опере и для Firefox)

https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo

https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/

Развернуть

реактор комменты Реактора длиннопост 

Скрипт для чтения комментариев любого пользователя

Навеяно постом http://old.reactor.cc/post/3643230
Вкратце: пользователь muted решил написать скрипт (вот этот), который обрабатывает его комментарии: формирует .csv-файл с таблицей, куда включены данные по каждому из комментариев, а также .html-файл, представляющий собой интерактивный график с кликабельными точками, соответствующими тому или иному комменту.

Я же на его основе решил написать ещё один, вынимающий комментарии любого пользователя Реактора и данные по ним (ссылка)
На вход этому скрипту подаётся юзернейм или же ссылка на профиль пользователя. Результат - .xlsx-файл - таблица с подробными данными по комментариям - и интерактивный график по аналогии с первоначальным скриптом

Как этим воспользоваться?


Для работы этого скрипта нужен Python (проверял на версии 3.6) и либы к нему (написаны в заголовке скрипта), а также скачать скрипт как .py-файл (кнопка clone в заголовке пасты на Pastebin). Когда все эти действия совершены, можно приступать.

Для работы скрипта в Windows можно использовать командную строку. При этом необходимо вначале указать конкретную папку, куда программа будет записывать выходные файлы. После чего указывается путь к интерпретатору Python, потом через пробел путь к скрипту, чтобы запустить его:

e s. Администратор: C:\Windows\system32\cmd.exe_____________________ Microsoft Windows [Version 6.1.7601] (с) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. С :\Users\asus>D: D:\>cd D:\iiii\testtest D:\iiii\testtest>python.exe D:\jr_comments_l.py,реактор,комменты

После того как началась работа скрипта, через некоторое время появляется надпись:
type 1 to enable reading mode
type 2 to enable continuation mode
type 3 to enable updating mode
>>
Первоначально вводим 1 (про два других режима будет написано ниже). После чего возникает ещё одно сообщение:
you have two options now: you can either enter username
or paste the link to his or her profile
type 1 to do the first thing and type 2 to do the other one
>>
Если вы собираетесь вводить юзернейм, набирайте 1, Enter, а потом копируйте юзернейм. Если для вас предпочтительнее копировать ссылку, то жмёте 2, Enter и потом копируете ссылку на профиль нужного пользователя. В данном случае для примера наберу 1 и имя какого-нибудь пользователя:

|о!П Администратор: C:\Windows\system32\cmd.exe - python.exe D:\jr_comments_l.py Microsoft Windows [Version 6.1.7601] (с) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. С:\Users\asus>D: D:\>cd D:\iiii\testtest D:\iiii\testtest>python.exe D:\jr_comments_l.py type 1 to enable

Поехали!

|ct AflMHHHCTparop: C:\Windows\system32\cmd.exe - python.exe D:\jr_comments_l.py Enter a username »procxela page number 1 /324404l#commentl4922119 /3244647#comment14921829 /3244647#commentl4921842 /3244647#comment14921948 /3244647#comment14921976 /3244647#comment14921998

Доступ к комментариям осуществляется со страницы комментариев у пользователя (в данном примере http://old.reactor.cc/user/procxela/comments). При обработке каждого отдельного комментария скрипт получает ссылку на пост, проверяет, не был ли пост обработан ранее. Если нет, то осуществляется переход к посту по ссылке, а затем в посте ищутся все комментарии нужного пользователя и вынимается инфа из них: дата, время, ссылка на пост, ссылка на комментарий, рейтинг, текст и медиа (картинка или видео, если присутствует). Когда с данным постом скрипт отработал, то id этого поста запоминается, и скрипт больше не обрабатывает его.
В конце концов скрипт обрабатывает все страницы комментариев и сохраняет следующие файлы:
— Искомую таблицу в виде .xlsx-файла (в данном примере получилась такая таблица)
— Интерактивный график (например, такой. Чтобы увидеть результат во всей красе, скачайте файл и откройте скачанный файл)

100 50 0 -50 • • ! Mar 2017 May 2017 •• • Jul 2017 Sep 2017 ••,реактор,комменты Реактора,длиннопост

— Кроме того, через каждые 15 минут производится копирование в резервный файл data backup.xlsx. Если работа скрипта завершена успешно, то он больше не нужен
— Текстовый файл лога. В нём написано то же самое, что выдавала консоль. Опять же, если всё прошло нормально, то он не нужен.

Режимы работы скрипта

Как было уже указано, есть какие-то три режима у этого скрипта: reading mode, continuation mode, updating mode. Первый описан выше.

Второй режим (continuation mode)

Этот режим нужен, если по какой-то причине запись комментариев прервалась раньше времени. Как им воспользоваться?
Во-первых, опять запускаем этот же скрипт из той же папки, куда сохранялись файлы. Далее, после сообщения о выборе режима набираем 2, жмём Enter. После чего появится сообщение:
Enter name of the excel file or paste path to it
>>
Вот тут уже понадобится файл бекапа (сохранён в той же папке, к концу имени дописано слово backup). Пишем его имя или копируем путь к нему. А потом:

D: \iiii\testtest2>python.exe D:\jr_comments_l.py type 1 to enable reading mode type 2 to enable continuation mode type 3 to enable updating mode »2 Enter name of the excel file or paste path to it »data backup, xlsx Enter number of the last page you successfully saved »,реактор,комменты

Для того, чтобы знать, какой номер страницы ввести, нужно зайти в лог-файл (сохраняется в той же папке как log.txt), найти самую последнюю надпись Successfully saved, а над ней - вторую снизу надпись вида page number %число%. Например,

log.txt — Блокнот Файл Правка Формат Вид Справка JnJxJ /3234926#commentl4873736 /3234910#commentl4873537 /3234384#commentl4871355 /3233471#comment14866248 /3231246#comment14856722 /3231246#comment14856613 /3230788#commentl4856331 /32307 88#commentl485 5 page number 60 /3231061#commenm5856 /32

Вводим это число и жмём Enter:

Enter number of the last page you successfully saved »60 page number 61 /3225713#commentl4829846 completed page number 62 !/3223766#commentl4821760 completed /3223326#commentl4819695 completed /3223326#commentl4819765 completed /3222714#commentl4816200 completed /3222714#commentl4816268

Таким образом, можно продолжать записывать комменты в уже существующую таблицу, начиная с некоторой страницы комментариев пользователя (он определяется автоматически по уже имеющейся в таблице информации). После успешного завершения continuation мода сохраняются те же файлы, что и в режиме чтения.

Третий режим (updating mode)

Этот режим нужен, если ранее была записана таблица всех комментариев какого-то пользователя, но с тех пор прошло достаточно много времени, и хотелось бы обновить таблицу новыми комментами. Воспользоваться им можно следующим образом:
При запросе режима нажимаем 3. Потом, как и во втором режиме, скрипт просит название файла или путь к нему, вводим его. А затем скрипт определяет, чьи это комменты, и начинает читать все комментарии этого пользователя с первой страницы до тех пор, пока не обнаружатся старые, уже записанные комментарии. При этом перед чтением новых комментов производится резервное копирование таблицы в ту же папку (только оно осуществляется уже единожды, а не каждые 15 минут, как в других режимах, так что если фейл, то надо начинать сначала).
Учтён так же тот фактор, что рейтинги отдельных уже записанных комментариев могли поменяться (которым на момент записи таблицы было не старше 2 дней). Скрипт находит новые значения рейтингов для них и перезаписывает в той же таблице, где они сохранены.
Чтение всех комментов, по моим подсчётам, выполняется со скоростью где-то 300-400 страниц в час (если комментов у пользователя больше, то скорость замедляется из-за бекапания больших таблиц).
Если тот или иной комментарий, доступный со страницы пользователя, не был прочтён, то это свидетельствует о том, что коммент оставлен или в посте, или в ветке комментариев, который(ая) в последствии был(а) забанен(а).

И немного данных напоследок

Проанализированы комментарии следующих пользователей (с ссылками на таблицы и графиками по ним):

Развернуть

it-юмор geek 

Google запретит скачивать файлы через HTTP. Ну, не всем запретит, а через свой браузер.

it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Развернуть

Отличный комментарий!

Призываю тыжпрограммиста для объяснения последствий
Alexpmhihx Alexpmhihx08.02.202012:12ссылка
+5.6
Джой наконец перейдет на https
au3w3e5et au3w3e5et08.02.202012:17ссылка
+16.3
koka koka08.02.202013:22ссылка
+77.0

DeepFakes нейросети гифки 

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

Вот несколько вариантов:

1. Джон Сина.

2. Дженнифер Лоуренс.

Ссылка на инструкцию.

Развернуть

Отличный комментарий!

jonny_t jonny_t30.05.202315:58ссылка
-68.4
лоуренс офигенно похожа, о чем ты
Vespertellino Vespertellino30.05.202316:05ссылка
+54.3

пидоры помогите Excel начальник отъявленный гомосексуалист 

Перенос данных из Word в ячейки Excel

Премного уважаемые содомиты, вот и настала моя очередь просить вас о спасении. Начальник, что б его собаки покусали, решил, что для процветания родимого завода нам необходимо перенести данные в одну книгу Excel. Вводная такая: есть Excel с перечнем (около 2000) уникальных номеров и такое же количество файлов Word с названием в виде номера из списка Excel. Требуется перенести данные из Word (небольшой массив текста, без форматирования), в ячейку напротив соответствующего номера. Сделать я этого не могу, ибо умом скорбный, да в гугле баненный (на самом деле 2 дня гуглил, но как то без результата), одна надежда на вас, мои дорогие!
пидоры, помогите -Ü 05 С <,пидоры помогите,реактор помоги,Excel,начальник отъявленный гомосексуалист
Развернуть

реактор архив педоистерия 

Архив Echi & Lolicon

Приветсвую ценителей жанра Ечи и Лоликона. В связи с педоистерией, евакуация маленькой части джойректора прошла успешно.


echi - 98125 files, 101 Gb
lolicon - 19876 files, 20 Gb



Скачать можно через торрент:



https://drive.google.com/file/d/1qxpkQTH4TIEPuGWLYMmS0utOHCCb-b9E/view?usp=sharing



https://disk.yandex.ua/d/yopPUA-BUpFvVg




Кому нужен отдельно лоликон с предпросмотром, советую взять с соседнего поста http://joyreactor.cc/post/4803811




Качал самописно-заговнокодереным питон скриптом. Есть чуточку пустых картинок (сервер почему-то отдаёт 200 и пустой файл), решил не удалять и перекачать чуть позже. Есть ещё чуточку картинок, которые сервер отдавал 403, 404 и даже 501 (и плашку). Возможно, попал на обновление реактора.




П.С. У меня провайдер за NAT-ом, раздача может быть медленной, сделаю дополнитольно сидера к концу дня с публичным айпишником что бы ускорить процесс.

Развернуть

Отличный комментарий!

Zybr_x2 Zybr_x224.05.202115:40ссылка
-89.7
Какие блядь теги Билли? Которые забаненны?
Ricudosanin Ricudosanin24.05.202115:54ссылка
+47.7

видеогифка гифки пароль азиатские выдумщики 

Развернуть

пидоры помогите готика 2 Gothic (game) Игры ночь ворона Steam моды трахен 

FAG, HILFE!

Суть такова, решил уже раз 10 пройти готику, но не как обычно, вперлось с модом поиграть, мод на респавн мобов, по сути должен добавлять два диалога у Боспера на немецком, чтобы врубать и вырубать мод, но хуй там плавал, теперь на немецком все кроме озвучки, пробовал ковырять ini файлы, но это мне ничего не дало.
Готика 2 Ночь ворона купленная в steam, поверх русификация со steam фиксом, playerkit для игроков и этот сраный мод, пробовал обе его версии.
Жду идеи и предложения как побороть недуг)
P. S. Я опять заразился этой хуйней, сколько уже можно!
Von welcher NLULN Bedrohung sprichst du': Genug Zeit haben wir ja jetzt. Der^chlafer,пидоры помогите,реактор помоги,готика 2,Gothic (game),Игры,ночь ворона,Steam,Стим,моды,трахен
Развернуть

coub Coub Archiver Coub Downloader программа 

Для тех, кто хочет скачивать все видео со своего coub канала

Если вы хотите скачать все свои видео с коуба без напряга, я нашла два рабочих способа. Все эти способы требуют установки стороннего ПО на ваш компьютер и работают только на Windows. 

Первый способ самый простой. Ставим Coub Archiver и вставляем ссылку на канал.

О втором способе я узнала здесь. С GitHub скачайте архив с программой Coub Downloader и распакуйте, затем запустите файл "coub-gui.exe".

Есть и третий способ, но он уже для программистов. Вот ссылка на статью: https://vk.com/@adventurerrussia-coub-kachalka

Если вы знаете какие-либо другие способы, пишите в комментариях.

На всякий пожарный отдельно даю ссылки на программы:

1. Coub Archiver https://coubassistant.com/ru/downloads#CoubArchiver

2. Coub Downloader https://github.com/HelpSeeker/CoubDownloader/releases/tag/v3.7

Развернуть

нейросети нейромазня Stable diffusion NovelAI DreamBooth длиннопост 

Тренируем модели через DreamBooth на конкретные образы.

Здравствуйте мои любители нейронного колдунства и прочих искуственно интелектуальных утех. Сегодня мы научимся тренировать уже готовые модели на образы которые мы хотим. Локально на нашем ПК без всяких Google Colab и Runpod.

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

ДИСКЛЕЙМЕР! БУДЕТ ОЧЕНЬ МНОГО ТЕКСТА. Этот способ тренировки через DreamBooth подразумевает, что у вас в гробу установлена карточка (Nvidia скорее всего только поддерживается) с минимум 8-10 ГБ видеопамяти. Тренировка сетки уже куда более ресурсожрущий процесс, чем просто генерация картиночек. Ранее DreamBooth требовал минимум 24ГБ памяти. Так что пока я нашёл нужные материалы, проверил их и понял, как с этим работать, прошла не одна неделя... Стояла бы у меня 3090, то этот гайд вышел бы ещё в середине октября. но если всё же хочется побаловаться, то можно воспользоваться облачными google colab и runpod. Но я так же затрону гиперсети (Hypernetworks), результаты с ними куда менее презентабельные чем через dreambooth, но можно запустить на карточках попроще. Если вы всё же железо-бетонно готовы следовать дальше, прошу.

И так, продолжим. DreamBooth модель можно натренировать на свою рожу, свою собаку, любимую табуретку, или какого нибудь персонажа.

В данном посте я буду работать на модели NAI (NovelAI я буду сокращать в дальнейшем) ибо буду тренить на нашу Реактор-тян. Если хотите сделать своё лицо или, что то из нашего бренного мира то подойдёт обычная модель Stable Diffusion 1.4

В конце будет небольшой Q&A и заметки, дабы всю (почти) воду и рассуждения отградить от основной информации.

Я разобью гайд на несколько частей. Тренировка DreamBooth и тренировка Embeddings с Hypernetworks.

DreamBooth:

Знаю, что уже появился спобоб тренить DB (DreamBooth я буду сокращать в дальнейшем) через webui stable diffusion от AUTOMATIC1111 в виде загружаемого плагина, но чёрт, вы хоть видели сколько там настроек? Я устану вам объяснять каждую и вы умрёте от духоты, поэтому я выбрал более дружелюбное, отдельно загружаемое приложение - DreamBooth-gui - https://github.com/smy20011/dreambooth-gui скачиваем и устанавливаем его по инструкции приложеной на Гитхабе, не буду тут расписывать ибо и так много текста.

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

0 dreambooth-gui □ X Pick Image Config Trainer Train,нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

Как только залили изображения, я сделал 8шт, переходим на следующую вкладку Confin Trainer, здесь мы зададим нужные параметры и настройки. Рассуждения о зависимости некоторых параметров от других, пока где-то на уровне теории заговоров, но основные зависимости я объясню дальше.

И так, для начала выбираем модель. По умолчанию нам предложит CompVis SD v1.4, который оно подкачает с hugging face. Но сегодня я работаю с NAI поэтому указываю путь до папки с моделью. Сейчас я на версии программы v0.1.8. и она требует, что бы модель была конвертирована из .ckpt в diffusers. Вот ссылка на мою конвернутую модель NAI - https://drive.google.com/file/d/1BnZyUb9C5wjz7Lcp1Dn8JidZLQ4taQEy/view?usp=share_link

Далее указываем Instance prompt, это должно быть уникальное слово которого не должна знать модель, то есть никаких boy, girl, и имён персонажей которых может знать модель. В дальшейшем это название мы будем указывать среди промптов, что бы модель на это тригеррилась и генерила уже с учётом натренированности этого концепта.

Class prompt указываем ёмко, кратно, что мы тренируем. У нас один женский персонаж и раз уж модель NAI тренилась на датасете danbooru, то я и укажу женский тег от туда, а именно 1girl.

Training Steps я выставлю 1000, а Learning Rate 5e-6, но это крайне запутанные настройки, о них я побольше размусолю ниже в разделе с водой и по ходу текста.

Аргументы не трогаю.

0 dreambooth-gui □ X Pick Image Config Trainer Train Run dreambooth on NVIDIA GeForce RTX 3080, 8.65gb free Model C:\Users\egorv\dreambooth-gui\models\NAI Choose Local Model Name of the base model, (eg, CompVis/stable-diffusion-v1-4) Instance prompt joyreactorchan Name of the instance,

Отлично, переходим к разделу тренировки, здесь нас попросит вставить наш Hugging Face Token. По идеи это нужно только если мы качаем модель SDv1.4 или прочую с Hugging Face, а у нас она локально на пк уже стоит, но всё равно просит, поэтому регаемся там и идём в настройках раздел с токенами https://huggingface.co/settings/tokens и создаём токен на WRITE и вставляем его в наше поле. Прописываем папку куда будут выгружаться все файлы после и проверяем, что бы стояла галочка, что бы модель генерилась потом в .ckpt файл в нашей папке вывода.

0 dreambooth-gui □ X Pick Image Config Trainer Train Hugging Face Token Output Dir C:\Users\egorv\dreambooth-gui\outputs\joyreactor Select B Generate model checkpoint (.ckpt file) in the output directory Training Command docker run -t —gpus=all

Иии жмём старт! И так теперь запасаемся терпением, можете заварить чай, помыться, выйти на улицу, потрогать траву, сходить в магазин и т.д, ибо процесс первого запуска НЕВЕРОЯТНО ДОЛГИЙ. Серьёзно, я сам в первый раз думал, что у меня, что то зависло. Минут 30 только оно подгружало нужные файлы, и убедитесь, что у вас на диске есть ещё место, ибо пару десятков ГБ на нём, этот процесс забьёт. Если увидите, что ошибок не вылезно, в папке \AppData\Roaming\smy20011.dreambooth были сгенерены картинки референсы по классовому промпту и вы не словили ошибку о нехватке видеопамяти (будет у многих вангую) то поздравляю, у вас пойдёт тренировка, и вы увидите, как у вас будут лететь надписи Steps ****% |▋▋▋▇| ***/1000 [**:** < 00:00, *.**s/it, loss=0.***,lr=5e-6]

На тренировку модели в 1000 шагов моей RTX 3080 потребовалось почти пол часа. Чтож, когда увидим сообщение о том, что всё готово, заходим в папку вывода, и переименовываем как хотим и переносим .ckpt файл в папку с моделями нашего stable diffusion.

Training Command Finished! "jii\datasets\joyreac :tor:/instance • S s s s Steps: 100%' Steps: 100%|| Steps: 100%|| Steps: 100%|| Steps: 100%|| Training finished, check C:\Users\egorv\dreambooth-gui\outputs\joyreactor for model output. OK /it, loss=0.257, lr=5e-6] /it, loss=0.257,

Запустите SD, загрузите модель. Проверьте результаты, всё ли выглядит так, как должно, у меня получилось... приемлимо...

joyreactorchan, 1girl, orange hair, medium hair, antenna hair, blue eyes, freckles, foxy ears, white bardot top, orange overalls, orange collar with bell, gold hairpin, gold buckles
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, furry
Steps: 60, Sampler: Euler, CFG scale: 11, Seed: 3985740085, Size: 960x960, Model hash: e02601f3, Model: joyreactor, Denoising strength: 0.7, Clip skip: 2, First pass size: 0x0

Модель DreamBooth

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

Чистая NAI

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

Ну вроде неплохо. Но можно лучше.

У меня выходили и более презентабельные модели, чего стоит модель с моей рожей, что генерит меня с шансом 50%, а в остальных случаях Иисуса либо Джареда Лето либо двухголовую ебаку...

Вот пример с DB, а вот чистая NAI. Ну думаю, я бы мог вопроизвести похожий результат и без DB, но потребовалось бы куда больше промптов и попыток. Тем не менее, DB приближает качество и иполнение результатов, к тем, на какие мы тренировали, поэтому если тренируете на лицо, то оно даст намного чёткие и предсказуемые результаты, чем просто по запросу "лохматый бородатый мужик"

Если хотим закрепить результат и возможно улучшить, то рекомендую потренить и Textual Inversion - https://huggingface.co/docs/diffusers/training/text_inversion Это крошечная часть нейросети обученая на наборе картинок. требует поменьше ресурсов для тренировки, чем DreamBooth. С её помощью удобно воспроизодить стили и какие то объекты. Я потреню на том же датасете картинок, что и DB.

Тренировка Embeddings (Textual Inversion)

Идём в раздел SD webui который называется Train, и в первом подразделе Create embedding начинаем заполнять пункты.

Name - просто имя файла и в дальшейшем мы будем писать это название среди промптов, что бы задействовать нужный embedding. Поэтому я использую название, то же, что и у инстанс промпта в DB, что бы тригеррить их обоих разом.

В Initilization text вписываем описание персонажа, я описал его более подробно, ибо на реактор-тян оно почему то ловит затуп и генерит совсем шлак потом. А так обычно то же, что и class prompt в DB. Число векторов на токен я выставил 8, хотя чем больше это число, то тем больше примеров картинок лучше подготовить, но остановлюсь на этом.

Stable Diffusion checkpoint JoyReactor.ckpt [e02601f3] txt2img img2img Extras PNG Info Checkpoint Merger Train Create aesthetic embedding Settings Extensions See wiki for detailed explanation. Create embedding Create hypernetwork Preprocess images Train,нейросети,нейромазня,Stable

Теперь идём в Preprocess images, вводим путь до папки с изображениями и туда, куда их выгрузит. Ставим галочку на Use deepbooru for caption, не уверен, будет ли у вас эта функция, если нету или не работает, поставьте в аргументах запуска SD аргумент "--deepdanbooru", и тогда точно всё будет ок. Эта функция создаст текстовое описание для каждого изображения в формате тегов с danbooru, так сетка лучше обучится. Если трените не на NAI моделе, а что то реалистичное, то советую использовать, Use BLIP for caption, создаст промпты как если бы их писали для работы с обычной моделью SD 1.4... Так же уделите время и вручную проверьте КАЖДЫЙ созданый текстовый документ, и сверьте его с картинкой, постарайтесь удалить ненужные промпты или добавить, то что считаете нужно, не всегда оно создаёт описание корректно. Да это муторно, но стоит без этого может натренить сетку не на то, что мы желаем.

See wiki for detailed explanation. Create embedding Create hypernetwork Preprocess images Train C:\Users\egorv\stable-diffusion-webui\training\joyreactor Preprocess,нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

OOOOO-O-Byyfgs.p 00000-0- Byyfgs.t 00001-0-Screens 00001-0-Screens 00002-0-Screens hot_1.png hot_1.txt hot_2.png 00002-0-Screens hot_2.txt 00003-0-Screens hot_3.png 00003-0-Screens hot_3.txt 00004-0-Screens 00004-0-Screens 00005-0-sdfdf.pn 00005-0-sdfdf.txt 00006-0-sdfsh3v 00006-0-sdfsh3v

И последний подпункт Train. Тут внимательно, можно ошибиться с пунктами и кнопками. Я помечу на скрине те пункты, которые мы трогаем, остальные игнорьте.

В embeddings выбираем наш созданый, в dataset directory указываем путь, куда мы выгружали изображения уже с описаниями, в prompt template file указываем путь до файла шаблона по которым оно будет трениться, я создал свой файлик, в котором внутри написано только [filewords] , прямо с квадратными скобками, это будет задействовать описания изображений которые мы создали раньше.

Save an image to log и save a cope of embedding, это параметры отвечающие за тестовое создание изображения на данном этапе тренировки и сохранинии текущего результата на момент шагов. Я генерирую изображение каждые 500 шагов и сохраняю прогресс каждые 1000, да бы проверить не произошла ли перетренировка модели, да бывыет и такое, её можно перетренировать, об этом после гайда...

И надеюсь вы не подумали, что я пропустил пункт с Embedding Learning Rate и Max Steps, то нет. Вот тут та же шляпа, что и раньше, и надо подбирать соотношения. В этот раз будем создавать поэтапно.

Для начала мы проведём тренировку на 200 шагов и Learning Rate 0.02, после увеличим число шагов до 1000 и уменьшим LR до 0.01, потом 2000 шагов и LR 0,005, 3000 и 0.002, 4000 - 0.0005 и в конце выставим 20000 шагов и скорость обучения на 0.00005. Чё страшно, запутались? Кароче, шляпа в том, что бы сетка не переобучилась, так мы её постепенно полируем, подробнее об этом после гайда в разделе с разными мыслями.

Stable Diffusion checkpoint JoyReactor.ckpt [e02601f3] txt2img img2img Extras PNG Info Checkpoint Merger Train Create aesthetic embedding Settings Extensions See wiki for detailed explanation. r \ Create embedding Create hypernetwork Preprocess images Train Train an embedding or Hypernetwork;

Вот выставили 200 шагов и 0.02 скорость, она прогонит по этим параметрам и закончит, не закрываем ничего, меняем параметры на следующие по списку, 1000 шагов и скорость 0.01 и опять жмём Train Embedding и опять идёт тренировка уже дальше с новыми данными. И т.д до конца. 20000 шагов золотая середина как по мне. У меня на это уходит около полутора часа, побольше, чем на тренировку DreamBooth, результат не будет сверх разиться, но будет чуть более в нужном нам направлении.

Loss: 0.0780509 Step: 15526 Last prompt: lgirl, orange hair, medium hair, antenna hair, blue eyes, freckles, foxy ears, white bardot top, orange overalls, orange collar with bell, gold hairpin, gold buckles, smoking, :d Last saved embedding:

Training finished at 200 steps. Embedding saved to C:\Users\egorv\stable-diffusion-webui\embeddings\joyreactorchan.pt,нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

[Epoch 24: 800/800]loss : 0.096Б130: 100% 16000/16000 [1:18:42<00:00, 3.39it/s],нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

Вот примеры, того что по итогу вышло.

masterpiece, best quality, joyreactorchan, 1girl, orange hair, medium hair, antenna hair, blue eyes, freckles, foxy ears, white bardot top, orange overalls, orange collar with bell, gold hairpin, gold buckles, solo, standing, upper body
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, furry, portrait
Steps: 60, Sampler: Euler, CFG scale: 11, Seed: 370310831, Size: 768x768, Model hash: e02601f3, Model: joyreactor, Denoising strength: 0.7, Clip skip: 2, First pass size: 0x0

DreamBooth + Embedding

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

DreamBooth без Embeding

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

И без DreamBooth и без Embedding на чистом NAI

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

Ну Embedding иногда подтягивает, некоторые результаты, иногда может быть лишним. Довольно ситуативная и спорная вещь, но вот на DreamBooth сразу узнаётся Реактор-тян, нежели на обычной NAI с теми же хорошо подобранными промптами.

И да, знаю, что вероятно будут просить уже готовую модель, так что держите ссылки на модель на Реактор-тян и готовый Embedding:

https://drive.google.com/file/d/1s2z1grZvNdVxkw5uHJQIWKecgeV39tWp/view?usp=sharing

https://drive.google.com/file/d/1pft2NvHGi5xaJ61LctRc2Lf4aixHke0Z/view?usp=sharing

Лучше пусть кто то забэкапит, а то мало ли я буду облако чистить.

Hypernetworks

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

Тренить гиперсеть на реактор-тян я не буду, поэтому опишу как делал ранее с другими вещами. Если желаете ознакомиться с материалом, по которому я и сам тренировался, прошу - https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2670

Процесс тренировки схож с тренировкой embeddings.

Так же в заходим в раздел Train, и уже в подпункт Create Hypernetwork. Имя гиперсети пишем какое хотим, без разницы, модули 768 320 640 1280 оставляем как есть.

Теперь тут свои завертоны пойдут, просят ввести структуру слоёв гиперсети:

Для широких гиперсетей: 1, 3 ,1 или 1, 4 ,1

Для глубоких гиперсетей: 1, 1.5, 1.5, 1 или 1, 1.5, 1.5, 1.5, 1 или 1, 2, 2, 1

Широкие: подходят для запоминания новых вещей, таких как конкретное животное, человек или объект.

Глубокие: подходят для обобщения вещей, таких как стили.

Поэтому исходите из этого, для реактор-тян я бы выбрал 1, 3, 1

Следующий пункт, select activation function of hypernetwork:

Для аниме (NAI, Waifu и т. д.): Selu, Gelu, mish

Для фотографий: Relu, swish, mish,leakyrelu, rrelu

Теперь Select Layer weights initialization. Для аниме ставим xaviernormal. Если фото и т.д то по умолчанию normal.

Остальные галочки ниже необязательны.

txt2img img2img Extras PNG Info Checkpoint Merger See wiki for detailed explanation. Train Create aesthetic embedding Settings Extensions Create embedding Create hypernetwork Preprocess images Train Name Modules ✓ 768 ✓ 320 ✓ 640 ✓ 1280 Enter hypernetwork layer structure 1,2,1 Select

Потом так же подготавливаем изображения как и с embeddings, это я не буду повторять и переходим сразу в Train.

Выбираем так же как и при тренировке embedding путь до шаблона, папку с датасетом из наших картинок с текстом, сохранение результатов и картинок.

Теперь выбираем нужную гиперсеть в выпадающем списке Hypernetworks. Изменять будем раздел Hypernetwork Learning rate, а не Embedding Learning rate, как раньше и жать будем на Train Hypernetwork, а не Train Embedding.

Create embedding Create hypernetwork Preprocess images Train Train an embedding or Hypernetwork; you must specify a directory with a set of 1:1 ratio images [wiki] Batch size 1 Dataset directory Path to directory with input images Log directory textualjnversion Prompt template file

Вот примеры хороших соотношений последовательностей Steps к LR:

Для обычных людей - 0.00005:100, 0.000005:1500, 0.0000005:10000, 0.00000005:20000

А вот для извращенцев - 0.00005:100, 0.000005:1500, 0.0000005:2000, 0.00005:2100, 0.0000005:3000, 0.00005:3100, 0.0000005:4000, 0.00005:4100, 0.0000005:5000, 0.00005:5100, 0.0000005:6000, 0.00005:6100, 0.0000005:7000, 0.00005:7100, 0.0000005:8000, 0.00005:8100, 0.0000005:9000, 0.00005:9100, 0.0000005:10000, 0.000005:10100, 0.00000005:11000, 0.000005:11100, 0.00000005:12000, 0.000005:12100, 0.00000005:13000, 0.000005:13100, 0.00000005:14000, 0.000005:14100, 0.00000005:15000, 0.000005:15100, 0.00000005:16000, 0.000005:16100, 0.00000005:17000, 0.000005:17100, 0.00000005:18000, 0.000005:18100, 0.00000005:19000, 0.000005:19100, 0.00000005:20000. Этот вариант выглядит монструозно, но я его тестировал лично, и довольно хорошо работает при условии, что вы подобрали хорошие примеры изображений и текстовые описания к ним.

И так же поэтапно треним как и embedding... ВСЁ!

ВОДА и Q&A!!!

Ахренеть, как буд-то по новой пишу дипломную, но только с надеждой в том, что кому то это поможет и он воспользуется этим материалом, либо же просто покекает с того, что я потратил на это несколько недель, начиная от поиска нормального способа запуска DreamBooth и заканчивая десятком часов на попытки разобраться в особенностях и нюансах, ну и этот текст я пишу уже где то часов 6 нонстоп, набралось уже 2 c половиной тысячи слов! серьёзно, надо хоть воды налить себе, ха отличная шутка.

1)Q: Почему так сложно?

A: А кому легко?

2)Q: Можно ли было уместить это в 5 абзацев на 500 слов в общем?

A: Не знаю, пишу как умею, кто умер от духоты и захлебнулся в воде, простите)

3)Q: У меня видеокарта ******, у меня заработает?

A: Не знаю. Скорее всего на AMD, вообще никак. Если у вас есть в карте тонна видеопамяти, то должно. Либо попробуйте запустить, через Google Colab, Runpod и прочие облака с арендой видеокарт и работы с их мощностями. Я НЕ БУДУ ПИСАТЬ ГАЙД ПО КОЛАБУ, НЕЕЕЕТ!

4)Q: Не надоело ли писать вопросы и ответы?

A: Да, чёт устал, задавайте в комментариях, отвечу как смогу.

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

Подойдите к этапу подбора изображений для тренировки максимально отвественно и серьёзно, ибо от того какие изображения вы скормите, во многом будет зависить результат. Так же качество > колличество, будет хорошо если вы задействуете 10 годных примеров, нежели 30 посредственных. Я стараюсь выдерживать единый стиль изображений, если одна картинка будет от карандаша, другая 3D CGI, а третья в стиле Пикассо, то выйдет так себе и выйдет мешанина из этого всего. Если тренирую персонажа, то стараюсь делать акцент на лице, тело можно будет и промптами задать, но вот получить нужное лицо сложно, ну за этим и нужен DB.

Во многом из за конвертации .ckpt в diffusers я неделю ломал голову, ибо обычным скриптом предназначеным для этого у меня не выходило, но как видите удалось, а именно при помощи гуглколаба от TheLastBen. Необходимо было залить модель в колаб, прогнать через его скрипт, и выгрузить результат себе на гугл диск. В скорой версии Dreambooth gui v.0.1.9. появится возможность использовать .ckpt и программа сама будет его конвертировать. 

Вот теперь мы пришли к одной из самых важных вещей, во круг которых строятся различные догадки и теории заговоров... А именно зависимость количества шагов тренировки (Training Steps) и скорости обучения (Learning Rate или LR).

Число шагов обучения ~= кол.во изображений * 100, у меня 8 изображений, поэтому оптимально было бы 800, но я округлил до 1000, потому что хочу. По скорости обучения ещё сложнее, но держим в голове несколько вещей, больше steps = меньше LR, и наоборот. Так же главное не перетренировать модель. Представьте этот процесс как работа по дереву. У вас есть бревно и вы хотите обтесать из него фигуру. Поставите слишком высокий LD и срежете слишком много кусков и модель будет перетренирована и бракована. А поставите если поставите слишком низкий LR, то представьте, как мелким скальпелем обтёсываете огромное бревно дуба до размера фигурки.

Пока тестил эту байду, знакомый кидал идеи на чё попробовать тренить, приложу ещё примеры DB и embedding под персонажа Макимы из Человека Бензопилы (Аниме), но её я уже делал на немного допилиной модели - Anything-V3.0, про неё уже сделали пост - https://joyreactor.cc/post/5385144

masterpiece, best quality, makimacmdb, makima \(chainsaw man\), 1girl, medium hair, pink hair, sidelocks, bangs, braid, braided ponytail, eyebrows visible through hair, orange eyes, ringed eyes, breasts, medium breasts, shirt, collared shirt, shirt tucked in, black pants, suit, business suit, formal jacket, long sleeves, necktie, black necktie, light smile, expressionless, looking at viewer, solo, gradient background, cinematic, filmic, telephoto, depth of field, lens distortion, lens flare, white balance, strobe light, volumetric lighting, dramatic lighting, little haze, ray tracing reflections, detailed, intricate, elegant, realistic
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, ((extra fingers)), ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((bad anatomy)), (((bad proportions))), ((extra limbs)), glitchy, ((extra hands)), ((mangled fingers)), dark skin, hair ornament , troubled eyebrows, big breast, yumemi riamu
Steps: 60, Sampler: Euler, CFG scale: 11, Seed: 1316407258, Size: 896x896, Model hash: e02601f3, Model: makimaANY, Denoising strength: 0.7, Clip skip: 2, First pass size: 0x0

DreamBooth + Embedding

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

DreamBooth и без Embedding

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

Без DreamBooth и без Embedding

нейросети,нейромазня,Stable diffusion,NovelAI,DreamBooth,длиннопост

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

КОНЕЦ.

Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме как вставить файл в скрипт (+1000 картинок)