Тред №2. 2 месяца назад OpenAI выпустила нейронку DALL-E которая может генерировать изображения по текстовому описанию без обучения (на этот счет они немного напиздели), а пару недель назад выложила код в открытый доступ.
в оп-посте нет примеров так как я только что дописал код и ебал ждать 4 часа
Сап двощ, на связи аутист интересующийся нейросетями а ещё я иногда создаю мгновенно тонущие треды про апскейл маняме вайфой, да.
И я ебанулся, на тыртубах пара видео где тыкают пресгенерированные демки с офф сайта, два видео от самих открытых интеллектуальных и пара лекций которые один в один повторяют текст с архивикса. Гугл тоже практически не дал того как запускать её, о ней как будто после тех новостей с января забыли. В общем в обсуждении в офф репе гитхаба один чел выложил ссылку на google colab со своим кодом и я без его разрешения ясен хуй переделал его в дващеедитион со стонами каждую интерацию это не шутка, переводом и фиксами. Неработающие и устаревшие библиотеки тоже пофикшены. Немного о google colab - если вкратце, то это серверник с теслой на борту, который гугл позволяет абсолютно бесплатно использовать в сессии но не более 12 часов подряд. Да они наложили ограничения, количество перезапусков среды ограничено, на диск квота, если окно браузера неакативно сессия может закрыться, но в целом этого хватит.
Что это даст двощерам? можно генерировать цп по текстовому описанию Можно генерировать любую хуйню что взбредет тебе в голову. Гандам который бьется с карлсоном на сардельках? Пикачу играющий на пиано? Аниме тян которая скачет на токийской башне? Синдзи делающий мужской поступок? Here we start. Сразу предупреждение, НИ В КОЕМ БЛЯТЬ СЛУЧАЕ НЕ СМОТРЕТЬ В ТРЕТИЙ СНИЗУ ПИК ВО ВРЕМЯ ГЕНЕРАЦИИ, ЛЮБОЙ НЕДОДЕЛАННЫЙ ПИК ОТТУДА ЗАПОЩЕННЫЙ ИТТ НЕ ЯВЛЯЕТСЯ ПРУФОМ ОБОСРАМСА, ТВЕРДО И ЧЕТКО [b]ПОВТОРЯЮ, ВСЕМ КТО НЕ ХОЧЕТ ВИДЕТЬ ГУРЯТИНУ, КОПРОМОЧУ И ГОЛОВЫ СВИНЕЙ ВМЕСТО СОСКА - ЖДАТЬ МИНИМУМ ЧАС ПОСЛЕ СТАРТА[/b] Вас предупредили.
В колабе есть гайд но один гайд хорошо а два лучше.
0. Выключаешь звук, нажимаешь Файл - сохранить копию на диск. 1. Переходишь по ссылке в ОП-посте. 2. Логинишься в гуглоакк. Да все мы знаем что они сливают твои данные и всем насрать. На ведрах можно печатать одноразовые гуглоакки без привязки к номеру. 3. Не читая ставишь свою фразу в ячейку с кодом. 4. Жмешь кнопку среда выполнения и кликаешь выполнить все. 5. Ждешь +-4 часа и возвращаешься. 6.??? 7. Профит!
Весь код можете спокойно изменять, мне насрать. Будет даже хорошо если сюда не выложат интерпретации других репрзиториев или другие версии кодов.
А теперь немного слов от себя. - Во первых да. В начале вместо няшечки писечки будет кучка говна а затем кучка гурятины. Однако алгоритм тренируется на ебамашине и делает лучше и лучше. - Во вторых контент уровня нсвф+ лучше не генерировать. На него уйдет значительно больше времени, он будет более всрат на первых интерациях и если ты, анон, запилишь нейронкой цп, лавочку могут прикрыть. - В третьих, ячейки можно запускать сколько угодно раз, но перезапускать среду выполнения можно лишь раз 10-20, я точно не помню, после этого гугол скажет - жди день сучка. - В четвертых чтобы сменить фразу по которой он будет генерировать нужно приостановить ячейку, затем изменить фразу в первой ячейке, и снова запустить третью снизу ячейку. - и последнее, в пятых, все палки в опенаи, илона маска и того кто писал оригинальный код, я просто проходил мимо.
Так же есть версия запустить локально, скорость будет значительно меньше, но сессия будет неограничена и весь прогресс не будет пропадать после остановки есть ньюансы, но в целом это так. Возможно напишу мини гайд, хотя все кто захочет запустить это локально сейчас либо майнят битки либо сами знают как это сделать.
И на всякий случай. Почему я не выпиздовал в /хв и другие разделы (я не ебу какие ещё есть)? Потому что я хочу срать в свободном разделе. А ещё тематика мертва.
Какова цель треда? Сделать так много швайнокарасевых пиков как только можно. Больше людей - больше креативности и больше гуглоакков, тем больше одновременно генерирующихся лулзов.
Там нет вишмастера? Это блять виртуальная машина в облаке. Единственное что я мог бы сделать - запросить твой ключ от диска для получения которого нужно поебаться и подключиться к диску гугла чтобы это выложить куда нибудь или стереть. Разумеется, я этого не делал.
А сделаешь цп с лолькой? Товарищ майор, о чем вы? Мы обсуждаем корявый алгоритм пендосов который делает картинку по слову. Как вам не стыдно вклинивать пошлость в наш на самом деле нихуя не наш но и хуй с ним коллективный научный труд?
Почему получается такая ебота? Потому что опенаи немного напиздели и нужна тренировка локальной модели. Жди и будет тебе пик. Ещё заметил что чем длиннее и точнее фраза тем больше времени нужно, и тем больше отдельных деталей будет парить на переферии пика.
Ты долбаеб? Ты понимаешь какая хуйня в коде, он выполняется через жопу, он стонет и он полное говно? Да. Перепили его сделав лучше, моя задача принести и немного побампать тред, но я не более чем анон.
Зачем такой большой оп-пост? меня немного занесло, извиняюсь.
Алсо третий пик - результат часа по фразе "анон сидит на стуле и пишет код на компе". Да, выглядит как говно но все слова можно увидеть: очертания анона - в школьной форме, нейронка знает все про тебя, клавиатуру, монитор и наконец очертания кода - да они не на том месте, но всем насрать.
Алсо на том колабе с другой нейронкой которую запостил знающий анон устаревшие библиотеки. Качество примерно такое же как до траблов с lr если не трогать параметры.
>>242775681 Кста на пикче норм такой вот этот участок, если бы оно только его отрисовало, то это была бы полноценная аниме-картинка какого-нибудь странного персонажа из задника
>>242776192 Ты проигнорировал предупреждение же. >>242776241 Вроде нет. >>242776283 Все пруфы на сайте опен аи с этой неронкой. А вот являются ли они пруфами - вопрос другой.
В общем, если тут есть те кто может в питон, посмотрите код и скажите как пофиксить. Не могу же я второй тред подряд быть единственным кто может его читать.
>>242776987 Ну во первых сделай рефакторинг: разнеси все по функциям, для начала. Это повысит читабельность.
Во вторых постарайся вынести все настройки в отдельные переменные гугл формы, чтобы можно было изменять их прямо во время исполнения, ну или хотя бы до запуска ячейки.
В третьих поправь вывод времени, например так: date_start = datetime.now()
.....
print(date_start.strftime("Начало было в %H:%M:%S.")) print("Со старта прошло:", datetime.now() - date_start)
Ну или воообще убери, т.к. в гугл колабе при наводе на ячейку и так пишется инфа о том, когда она запущена и сколько времени рабоатает.
>>242777342 Оригинал был разбит по ячейкам, ссылка в начале колаба. Я слил все для простоты интерфейса. А вот функции у меня плохо выходят, глобальные переменные всегда пускают весь мой код ко дну.
Пацаны я щас с мобилы, скажите пожалуйста, сетка пойдёт на 8гб карте? Дома стоит ртх3070, оч хочу нейросетки погонять но никак не доходили руки, и вот появился этот тред. Взлетит?
>>242777857 Скорее всего нет, у RTX 30 залочены FP64 и кастрированые тензорные блоки. Т.е. пойти-то пойдет, но крайне неспешно. Даже на 3090, именно из-за лока.
>>242777857 Можешь хоть с телефона, все вычисляется на облаке гугла. Можешь конечно запустить локально просто установив jupyter notebook и настроив среду, установив зависимости етк., но единственный профит - неограниченная сессия.
>>242777916 Для начала learning rate, при высоком он начинает забеливать пик но если он не растет то пик не меняется. Далее пофиксить то что я проглядел, оптимизировать код, настроить фильтрацию, отключить пресемпленг. Ну и по мелочам.
>>242777693 >при переходе из одной функции в другую переменные теряются У тебя очень странное видение того, как используются методы. Тем не менее попробуй тогда вынести в самый вверх все глобальные перменные и запихни их в гугл форму. Т.о. другие аноны смогут подбирать необходимые значения некоторых значений.
Потом же прокомментируй некоторые блоки кода. Типо, что они выполняют, но это необязательно.
>линейный Если ты его разнесешь по функциям, то линейным он быть не перестанет. Это несколько иной термин.
>>242775526 (OP) >ПОВТОРЯЮ, ВСЕМ КТО НЕ ХОЧЕТ ВИДЕТЬ ГУРЯТИНУ, КОПРОМОЧУ И ГОЛОВЫ СВИНЕЙ ВМЕСТО СОСКА - ЖДАТЬ МИНИМУМ ЧАС ПОСЛЕ СТАРТА Ты там совсем ебанутый? У тебя есть рандомный генератор свиных голов на сосках и гурятины за полчаса, а ты предлагаешь ждать пикачу с сардельками 4 часа?
>>242778271 Я пытался, но он только ухудшил. Можешь написать это правильно и скинуть а то я уже сомневаюсь в своих мыслительных способностях как человека.
>>242777906 Да просто хочу сетку на компе держать, сам 3дшник потому постоянно что-то рендерю и хочется какой-то такой инструмент в коллекцию взять. Оч не люблю браузеры облака и вот это всё
>>242777956 Хуанг пидарас конечно с rtx линейкой, но народ же на gtx 1xxx сетки крутил какие-то для дипфейков и тд, я прост неделю назад обновился поэтому щас глаза горят всякое перепробовать
>>242777989 Окей пасибо, как раз отсутствие ограничений мне и нужно Отдельное спасибо за тред, добра анон
>>242775526 (OP) У тебя функция `ascend_txt()` всегда возвращает [0, какая-то поебень]. Смысл в первом элементе если он всегда 0? И с этих двух ты потом берешь `mean()` в `train(i)`
>>242781862 Оп. Замени вот на это первые строки: #@markdown Включить ли очистку вывода ради того чтобы через час браузер не крашнулся? cleaner = True #@param {type:"boolean"} #@markdown Включить ли стоны? aaaaaah = True #@param {type:"boolean"}
>>242782612 блять пиздец, вы там ебанулись lr больше 1 ставить? вы вообще в курсе что это такое learning rate? сначала матчасть прочитайте, а потом уже херачте свои параметры
>>242782720 В курсе, но эмперическим путем доказано что при низком и понижающемся лр пик не меняется, при повышенном начинаются белый пятна. Ну и так как в оригинале этого кода лр увеличивался в 1.005 раз каждую интерацию, я решил так и оставить.
>>242782780 Представь что у тебя есть мяч и местность с горками и ямками. Твоя задача чтобы мяч оказался в как можно ниже (то есть в самой низкой ямке). Ты можешь пинать мяч с силой = lr в направлении склона. После пинка мяч прокатывается и останавливается (нету гравитации). Так вот если ты будешь пинать с силой 0.01, 0.1 и тд, то рано или поздно ты дойдешь в низ ямки, но если ты хуяришь с силой 4кк, то той мяч облетает сука всю землю и блять никогда не попадет в минимум функции (ямку)
>>242783184 ямка это я образно назвал функцию потери, которую генератор ГАН (нейронка) пытается минимизировать, какое нахуй творчество тут матан под капотом такой что тебе и не снилось
>>242783055 Обычно это так, но за основу эта сеть берет прошлый результат что вносит значимую переменную. Ну и логично что рано или поздно силы будет не хватать и мяч не будет двигаться с места, в данном случае это 0.10 лр и меньше. Так же если лр не меняется то почему то не меняется и пик.
>>242783367 вот поэтому я выше и предлагал сделать адаптивный lr, который например будет считать на сколько текущая итерация улучшила прошлую и обновлять lr, но у меня сейчас на это нет времени так как диплом писать надо
>>242783773 "Картинка" - "не картинка" понятие растяжимое. Вот в нашей стране поняли эту растяжимость и забанили все возможное ЦП сразу, и правильно сделали.
>>242787076 А какая может быть польза от почти случайного набора пикселей? Это не имеет художественной или иной практической ценности, результат никуда не приткнешь. Нельзя ни продать это, ни любоваться этим, ни обсудить это. С тем же успехом можно писать в блокнотике фразы типа "аолфжылаозушгкш399 9 оажлоа лоьажоядвлао ь", "ффг 8згушiou mofi;ozuuuuu" и сидеть радоваться, какая же прелесть получилась.
В общем, сейчас на что либо надеятся нельзя так как потери растут каждую интерацию. Нужно сделать адаптивный lr, но для этого нужно вытащить потери из объекта класса лист. Я в тупике, может регулярное выражение захуярю. Любая помощь приветствуется.
>>242788276 >можно писать в блокнотике фразы типа "аолфжылаозушгкш399 9 оажлоа лоьажоядвлао ь", "ффг 8згушiou mofi;ozuuuuu" Нейросетка примерно этим и занимается. А вторая сидит, читает шизоидные высеры первой и комментирет: "не, это хуйня, давай по новой", "а вот тут лучше вышло, одно слово даже почти осмысленное", "а вот тут уже даже угадывается структура предложения", а первая учится на ошибках. А ты сидишь как бог вообще за пределами их мира, в другом измерении, и зоонаблюдаешь за своими созданиями.
Ну если тебе такое не нравится - то это просто не твоё. Найди себе занятие по душе. Например, иди и впаривай какое-нибудь говно лохам, такое тебе вроде нравится: >Нельзя ни продать это
Знакомьтесь, CP.RU. В ролях - Рамзан Серодыров, Владимир Военирович, степной казах, анимешный циклоп, Жжииррииннооввссккиийй, monke на море, treugolne youba, красный шар.
ОП, я немножечко тупой, можешь ответить на один вопрос? Если я на ночь оставлю эту херню, то она может мне всё время генерировать то, что я написал? Ограничения на количество семплов нет?
В общем, сейчас обосрамсы меня и того чей код я взял за основу начали всплывать. С количеством интераций качество падает и пока я это не пофикшу так и будет. Если кто то может подсказать как это пофиксить то пусть скажет иначе у меня уйдет дохуя времени до того как нейронка станет юзабельной.
Так, сделал адаптацию лр, но так как там минус нужно смотреть. Я пока отойду так как пидоры сверху заливают кухню, напишите как лучше оставить, потом допишу.
>>242792325 Попчанский не дури убирай нахуй этот вывод loss ебаный скопировать нормально нельзя картинку она сразу улетает и появляется - loss опять сука блять нахуй блять нахуй сука блять блять нахуй, сука.
>>242776192 Напоминает сны, которые мне снятся. Вот например хуевину, которая была как зелеый человеческий нос, но между ноздрей у него был рот хомяка, а ноздри были ушами.
Я, конечно, тупой и хз что вы там сделоли с кодом, но, по ощущениями стало генерить по другому. То есть после 300+ интерация пикчу начинало шакалить, а теперь наоборот после 300 появляются новые детали. А может мне это просто кажется.
Просто к слову, как сейчас это работает я не ебу, ровно так же почему это работает лучше. В теории тот код что сейчас не должен нормально работать и я его переписываю.
Блядь, там же ворнинг вылезает, конвертация из 32-битного числа с плавающей точкой в беззнаковое 8-битное целое. С потерями, разумеется. Фиксить это надо, мб и потери меньше будут.
>>242794376 Да. Изначально в этом коде он всегда умножался на 1.005. И не только в этом, я видел видео на ютубах где показывали эту нейронку и то что она делала и там была такая жу хуйня. Сейчас тут адаптивный лр, если стоят плюсы значит он увеличился, минусы - уменьшился.
>>242794942 Изначально берется коричневое полотно, первая интерация судя по коду это уже измененный базовый пик. И так как отключение пресемпла не работает из за того что scale не задеффен, это лучше оставить как есть.
>>242795036 Так-то так, но единственный примитив, который нейронка у опа выбирает для начала - бублик. И все пикчи что она генерит, разбиваются об то, что не всё можно в бублик утолкать. Если например на пикче 2 человек а- они будут по краям, т.к. там части бублека. А посередине темное нихуя.
По той же причине всякие детали посередке никогда не могут нарисоваться. Т.к. там обычно тёмное пятно бублика.
>>242777081 На обложку какого-нибудь отборного дерьма из днищетреда. Пётр Дегтярёв побеждает термокваркового фюрера и становится богом. Но мемплекс множеств войн схлопывает его сознание в циклическую третью мировую войну
Так, эта хуйня не похожа на мяч, но все более и более отличается от первых сэмплов. Судя по всему то что есть сейчас может заставлять нейронку идти в обратном направлении. Уровень /b, хули. Сейчас поменяю местами и посмотрю.
>>242795230 >>242795097 Нейронка не знает что она будет генерить, так как текст тоже распознается в рантайме, а собственно берем какой-то генерический примитив типо прямоугольника или овала и с него уже лепим в процессе. Вот кстати видос как это работает, только в обратную сторону, когда нейронка "деградирует" https://www.youtube.com/watch?v=fICrE5-fD7c
>>242784142 >ну так ведь ц с маленькими и п детьми запрещено везде. > Не везде. Есть несколько стран в Африке, Южной Америке и Океании, где оно полностью легально, даже с реальными лицами допризывного возраста.
>>242795778 GPT3 натренерована на распознавание текста, здесь мы используя вывод GPT3 тренеруем свою GAN сеть, собственно она еще ни к чему не приспособлена и лепим мы ее с нуля каждый раз запуская
>>242796092 а что тебе не нравится? обычно делается так: запускается тренировка сети на несколько дней/недель, во время обучения минимизируется лосс функция, полученная модель нейронки сериализируется (записывается в файл) и потом ее можно уже без обучения использовать не ожидая пока она с нуля слепит. Если ты думал нейронки за пару минут можно на калькуляторе слепить то сорян, такие маняфантазии будут реальны только через лет 10-20
>>242796641 оп это не делал, а только как сказано в шапке принес нам для забавы, хочешь делать, бери питон, keras/tensorflow/pytorch и вперёд в нете куча туторов как писать свои GAN