Search
Write a publication
Pull to refresh
14
0
Николай @DoNotPanic

Специалист по рассуждениям

Send message

Диффузионные Нейросети — самый актуальный подход к генерации изображений

Reading time6 min
Views28K

Метод обратной диффузии поистине является самым нашумевшим в этом году методом генерации изображений нейросетями. Его используют: DALLE 2, Midjourney, imagen и другие актуальные модели 2022 года.

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

Под катом будет много кода, программирования, математики, в общем — всё, как вы любите.
Читать дальше →

14 КБ это слишком много. Делаем сайты меньше 1 КБ

Reading time6 min
Views32K

Минимализм хорош во всех отношениях. Во-первых, это красиво. Во-вторых, эффективно. Разница в скорости загрузки сайтов особенно заметна на фоне монструозных корпоративных приложений с мегабайтами скриптов, тормозящих практически на любом устройстве. Поразительно, что за годы компьютеры ускорились в десятки раз, а сайты грузятся медленнее, чем раньше (график на КДПВ за 2011–2019 гг, статистика по скорости от Httparchive.org). Только подумайте, на сколько же сайтам нужно жиреть каждый год, чтобы сохранить эти тормоза!

Известно, что для минимизации задержки важным рубежом является 14 КБ. Если ужать веб-страницу или её первую часть в меньший объём, загрузка сильно ускоряется из-за спецификации TCP, которая определяет максимальный размер пакета в 1500 байт (из них 1460 полезных) и алгоритма медленного старта TCP, ограниченного десятью пакетами.

Но 14 КБ — не предел оптимизации. Далеко не предел.
Читать дальше →

Из Сибири с любовью. Work & travel айтишника за Урал

Reading time13 min
Views5.3K

Всем привет! Меня зовут Ксения Бычкова, я руководитель отдела тестирования в REG.RU. Лето 2022 выдалось для меня особенно насыщенным. Хочу поделиться с вами историей своего путешествия, а также нюансами, которые стоит учесть в дороге с непродолжительными остановками во множестве городов. Ведь нужно не только успеть насладиться новыми местами, но и не забывать работать.

Читать далее

Taichi и 100-кратное ускорение Python-кода

Reading time12 min
Views36K

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

Если вы когда-либо попадали в одну из следующих ситуация — тогда эта статья, определённо, написана для вас.

Читать далее

Голос атомных ядер: собираем магнитно-резонансный магнитометр

Reading time18 min
Views21K
image

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

Лауреаты фантастических премий 2022

Reading time5 min
Views17K

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

Читать далее

Шерудим под капотом Stable Diffusion

Reading time10 min
Views36K

Вероятно вы уже слышали про успехи нейросетей в генерации картинок по текстовому описанию.

Я решил разобраться, и заодно сделать небольшой туториал, по архитектуре модели Stable Diffusion. Сегодня мы не будем глубоко погружаться в математику и процесс тренировки. Вместо этого сфокусируемся на применении и устройстве основных компонент: UNet, VAE, CLIP.

Читать далее

Обучение модели Stable Diffusion текстовой инверсии с помощью diffusers

Reading time5 min
Views24K

Листая интернет на наличие интересных технологий в области нейронных сетей и различного искуства,я наткнулся на пост в Твиттере, в котором Suraj Patil объявил о возможности обучения модели Stable Diffusion текстовой инверсии используя всего 3-5 изображений.

Читать далее

Самые популярные бесплатные движки для разработки игр

Reading time7 min
Views246K
В январе я участвовала в своем первом геймджеме — Global Game Jam 2022, в Стамбуле. На джеме все участники писали игры на движках — ибо надо быстро. Игровой движок — это физика, рендеринг, скрипты, искусственный интеллект. Создавать игру с нуля или пользоваться движком — вопрос вкуса. Вон, Джонатан Блоу вообще пишет свой движок, чтобы писать на нем игру.

Я обратила внимание, что большинство студентов использовали либо Unity либо GameMaker. Сама я питаю нежные чувства к Construct, но на нем всего одна команда делала игру. Я решила поискать альтернативу для себя, заодно запилила подборку бесплатных движков для начинающих (а может и продолжающих) игроделов.

Еще я веду канал в Telegram GameDEVils (на русском) и блог на Substack (на английском), делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).

Популярные движки Steam и itch.io


Вот статистика, игры на каких движках выкладывают в Steam:


Читать дальше →

Логирование в Python: руководство разработчика

Reading time13 min
Views258K

Сталкивались ли вы с трудностями при отладке Python-кода? Если это так — то изучение того, как наладить логирование (журналирование, logging) в Python, способно помочь вам упростить задачи, решаемые при отладке.

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

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

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

Читать далее

Ещё раз о гидропонике

Reading time15 min
Views43K

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

Читать далее

4,2 гигабайта, или как нарисовать что угодно

Reading time9 min
Views43K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

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

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

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

Комплексные числа и геометрические узоры

Reading time6 min
Views30K
Когда речь заходит о комплексных числах, в первую очередь вспоминают о преобразовании Фурье и прочих аспектах цифровой обработки сигналов. Однако у них есть и более наглядная интерпретация, геометрическая — как точки на плоскости, координатам которой соответствуют действительная и мнимая часть комплексного числа. Рассматривая некоторую кривую как совокупность таких точек, можно описать её как комплексную функцию действительной переменной.

Дальше больше картинок и анимаций

Лёгкий способ решать задачи о стрелках часов

Reading time4 min
Views23K

Однажды много лет назад один немолодой профессор задал мне задачку о перестановке стрелок часов. Точной формулировки за давностию лет я не помню, но поиск в интернете привёл меня к «Занимательной алгебре» Я. И. Перельмана, которая была впервые опубликована в 1933 году:


Возьмём положение стрелок в 12 часов. Если бы в этом положении большая и малая стрелки обменялись местами, они дали бы всё же правильные показания. Но в другие моменты, — например, в 6 часов, — взаимный обмен стрелок привёл бы к абсурду, к положению, какого на правильно идущих часах быть не может: минутная стрелка не может стоять на 6, когда часовая показывает 12. Возникает вопрос: когда и как часто стрелки часов занимают такие положения, что замена одной другою дает новое положение, тоже возможное на правильных часах?

Что любопытно, эта формулировка восходит к книге Александра Мошковского «Альберт Эйнштейн: беседы с Эйнштейном о теории относительности и общей системе мира», опубликованной в 1921 году на немецком языке, и уже в следующем году (!) переведённой на русский язык (и, судя по каталогу РГБ, с тех пор её и не переиздавали; доступен английский перевод).

Читать дальше →

Трансфер технологий в условиях санкций. Опыт Холодной войны

Reading time12 min
Views11K
Как вы все знаете, сейчас на дворе не лучшие времена для беспрепятственного распространения технологий, обмена научными достижениями и трансграничной торговли. Однако если заглянуть в прошлое, можно увидеть много интересного. Например, как британцы продали СССР реактивные двигатели «Нин» (для самолетов) от компании «Роллс-Ройс» в самом начале Холодной войны и невзирая на запрет США.


Читать дальше →

Асинхронный python без головной боли (часть 1)

Reading time14 min
Views379K

Почему так сложно понять asyncio?

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

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Съешь красную таблетку

Танк, которого нет в World of Tanks

Reading time7 min
Views47K

Всем привет это Денис Вебер.

Сегодня я расскажу как моделировал один из танков, которого нет в игре World of Tanks и покажу небольшой рекламный ролик, чтобы можно было представить, что этот танк по-настоящему был представлен игрокам.

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

Читать далее

Некрополис в 3D

Reading time6 min
Views22K

Всем привет, это Денис Вебер.

Какое-то время назад я создал в 3D один из городов из игры Герои 3. Этот проект так понравился читателям, что я решил продолжить серию и на этот раз смоделировал город Некрополис.

Читать далее

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

Reading time7 min
Views36K


Странная вещь: вот сайты (теперь не все, но всё ещё многие) отлично работают в браузере. Но только заходишь со смартфона, начинается цирк. Всплывающее окно — хотите открыть ссылку в приложении? В каком? У меня нет никакого приложения! Если случайно нажать «Да», то начнётся скачивание — и нативное приложение таки будет установлено.

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

Спрашивается, зачем? Зачем устанавливать на смартфон отдельное нативное приложение для каждого сайта? Очевидно, что маркетологи впаривают их не просто так. Похоже, это очень выгодное дело.
Читать дальше →

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

Reading time18 min
Views219K
Когда началась война, все произошло так быстро, что я не могла ни понять, что происходит, ни подумать о том, что хотела бы взять с собой, когда мы убегали. (из интервью сирийской беженки)

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity