В январе OpenAI выпустила нейронку DALL-E которая может генерировать изображения по текстовому описанию без обучения (на этот счет они немного напиздели), а пару недель назад выложила код в открытый доступ. https://openai.com/blog/dall-e/
Что есть на данный момент: - Единственный код в колабе который не забеливает пик - Адаптивный learning rate - Возможность сделать гифку из сгенерированных пикч - Комментарии к той части кода что я понял - Кучка параметров которые действительно влияют на выполнение - Хуевая оптимизация - Возможно проебана суть нейронки
Примеры в оп-пиках.
Фак-Ю: Гыы ты майнишь а долбаебы ведутся гыы Все выполняется на облаке гуглов, ничего скачивать не надо. Код голый и можешь сам проверить хоть под лупой.
Практическое применение? Если ты это спрашиваешь то попробуй в креативность, никто лучше тебя самого не ответит на этот вопрос.
Почему такое говно? Потому что опенхуи не сделали лёгкого кода для запуска нейронки. Возможно причина - контраст между официальной демкой и оп-пиками.
black metal album's cover ранние интерации менее детализированы и более интересно выглядят, можно художнику отдавать для придания вменяемого вида хорош плодить треды
>>242908368 Она предобучена, но по сути обучается на твой фразе. После завершения все что она обучила пропадает. Ну и рисует каждый раз разное, тем более параметров много и почти каждый влияет на то как рисует (правда не совсем ясно как).
>>242908784 Нужно щелкать, но что точно не знаю. Ещё бы дописать сохранение состояния чтобы можно было поменять параметры и продолжить, но сейчас не ща компом.
>>242913908 > На самом деле не особо целесообразно делать больше 100 Ну вон видел что на поздних интерациях стена окрасилась в золотой цвет. Алсо пока появилась идея - сейчас белые пятна появляются и закрашиваются на основе общего пика. Если настроить скорость при увеличении, креативность и ещё что нибудь, есть шанс что на месте белых пятен будет создаваться новое а не почти то же самое что и было. Возможно в коде ещё остались переменные которые отвечают за это, но пока не уверен какие именно.
>>242914119 Повторяю 5 тред подряд. Нужно твое тройное согласие и ручной ввод ключа чтобы я получил хоть милипиздрический доступ. И при этом все что я смогу делать будет уже прописано в колабе. Если параноишь раскрой ячейку и посмотри код.
Пока эксперементирую с параметрами, 1к интерация. Вроде стало довольно неплохо вырисовывать, но точно сказать пока не склею гифку для наглядности не смогу.
>>242918102 >со стороны клиента какие ресурсы задействованы? Загрузка html странички. >То што я с телефона, влияет? Конечно! Это дает дебафф к креативности нейронки.
>>242917938 Сейчас алгоритм такой - перед стартом новой интерации проверяются прошлые потери, текущие записываются в переменную. Если потери увеличились переменная хорошо/плохо принимает значение плохо, иначе хорошо. Затем во время цикла который на том месте в котором раньше стояло статичное изменение лр в зависимости от нее лр либо умножается на множитель увеличения либо на множитель уменьшения. Так как тут потери число отрицательное, на всякий случай сделал метод плюс - увеличение при снижении потерь и наоборот, и минус - увеличение при увеличении.
>>242918457 >прошлые потери Т.е. у тебя есть доступ к функции потерь? Нельзя ли в таком случае организовать её вывод? В идеале бы вообще захреначить график из нее, а то непонятно то ли у меня текст кривой, то ли нейронке намана.
А также стоит сделать не просто умножение, а что-то более хитрое. Ты же ищешь экстремумы, а точнее минимум, поэтому не лучше ли будет сделать ступенчатое повышение? К примеру при потерях больших n мы ставим лр = 1, при потерях меньших n, но больших z мы ставим лр = 0.75 и так далее. Еще можно это дать пользователю настраивать. Это решит проблему того, что лр не может быть меньше 0 и больше 1, а также даст более гибкую настройку. Попробуешь реализовать, что-то подобное?
>>242920859 >официального Нет. Им это нахрен не надо. >надежного коллаба Прошло 2 месяца, поэтому сейчас есть только пиздузиасты по типу опа. Можно, конечно попробовать отрефакторить его код, ну или написать с нуля.
>>242919812 Немного передохнул и вчитался. Сейчас лр так и работает, и это можно настроить, типо на сколько умножить текущий лр и насколько поделить. И они разные. Могу допилить вывод потерь в график но сразу предупреждаю, потери и те что показываются и те что передаются нейронке зависят от самокритичности. Поэтому график нужно будет рассматривать отдельно от значений потерь.
>>242920859 Этот пока самый допилненный. Есть официальный колаб но там пара строчек кода которые превратят загруженный пик пингвина в более всратый.
>>242925395 Чет сейчас немного херово, график и фиксы откладываются. Ну и как сказал, по сути отличие от того кода - компактность и график, тут нужно идти в направлении параметров >>242914303.
>>242925759 >график Достаточно важная же штука. Так будет четкое понимание того как влияет изменение параметров на обучение нейронки. Ну как знаешь в принципе-то.
>>242930867 Я вроде ничего не менял кроме сохранения картинок которое замедливает код примерно на 10-20%. Специально утром допиливал и вроде не сильно уменьшилась скорость по сравнению со вчерашнем вечером.
>>242936445 Я не питонист и крайне хуев в плане программирования. Суть понял, позже перепишу. хотя не совсем ясно в чем разница кроме сокращения объема и усложнения для чтения
>>242937091 Вот это: !apt-get -y install imagemagick CUDA_version = [s for s in subprocess.check_output(["nvcc", "--version"]).decode("UTF-8").split(", ") if s.startswith("release")][0].split(" ")[-1] print("CUDA version:", CUDA_version)
>>242937354 Они понадобятся если качать блокнот и запускать локально. Наверное. Ну и там нужен суффикс, без него у меня ругалось при установке других пакетов.
>>242937495 >если качать блокнот и запускать локально Ты все закомментил же. >Ну и там нужен суффикс Насколько я вижу он используется только в 6 местах. И все они закомментированны.
>>242938128 im_shape не получится, это размер пика и он должен совпадать с другим тензором. За него отвечает код со сглаживанием, но я хз как 244 там превращается в 512.
>>242925796 Вот кстати для лавкрафта такой формат подходит, на картинке и сущности, обезображенный человек, ктулху\йогсотот на заднике и справа доки портового города
>>242965649 RuntimeError: Error(s) in loading state_dict for CLIP: size mismatch for logit_scale: copying a param with shape torch.Size([]) from checkpoint, the shape in current model is torch.Size([1]).
>>242966070 Кстати вот эта наебОчка от маркетологов в примерах - сосаны, а мб стоит замутить статью разоблачение врунишек маркетологов, скрывающих правду о нейросетях где нить на хабре, или прости саспади яндекс зене???
>>242966449 У меня тоже. Очевидно чет сменилось в тех шматах кода библиотеках что это дерьмо подгружает при инициализации, и теперь не совместимо со скриптами запуска. Ждём ОПа.
Модель опенхуев сломалась так как они ее обновили. Jit = тру они не фиксят и выскакивает что метод forward не объявлен. А с фалсом судч по всему они решили что скобки должны быть с цифрой. В общем пиздец, не думаю что смогу это починить. Единственный вариант - загрущить старую модель но я хз откуда она качается и можно ли ее скачать. а ещё пиздец, я сегодня после 2 дней непрерывного кодинга едва заснул и словил головную боль, если кто может пока без меня создайте копию блокнота с фиксами, не думаю что сам сейчас смогу
>>242968374 Есть огромное и оправданное подозрения что их код лучше а делали примеры они на суперкомпе, то есть до вменяемого результата проходило по меньшей мере в несколько сотен раз меньше времени.
>>242971939 Берешь и сбрасываешь среду выполнения пока не иссякнет лимит пока не дадут Т4 или что то вроде неё. И К80 в почти в 10 медленнее. Просто запускай первую ячейку и гугли хешрейт.
>>242972540 А самое смешное, что в этих мазках она всё же узнаётся, пряди висящие, щербатое ебало, какие-то набросик мейкапа. Вот это в нейронке странно всё.
Уверен если написать простейший скрипт который будет разбирать фразу на слова и собирать с какого-нибудь векторного клипарта картинки по запросам и просто комбинировать в случайном порядке и то больше вин будет. я бы написал,но мне лень.
>>242972847 >>242972784 Блять, пацаны, я вам больше скажу - я тут Цири по превьюхе пикчи увидел. ПО, БЛЯТЬ, ПРЕВЬЮ. Либо я совсем конченный ведьмакодрочер, либо эта нейросеть постаралась на славу.
>>242977270 >я совсем конченный ведьмакодрочер Да, мой маленький задротто. >эта нейросеть постаралась на славу. Занудамодон: ничего особенного, они тупо каскадят дохуя картинок в одну. Занудамодофф: да, красавцы. Будущее наступило.