This media is not supported in your browser
VIEW IN TELEGRAM
Просили больше нейронок? Получайте!
На видео микронейронка учится предсказывать картинку по соседям.
Цвета всех блоков на 3й картинке предсказаны нейронкой на основе соседей слева и сверху.
А точнее на входе квадрат 4х4 без правого-нижнего, а на выходе собственно правый-нижний.
На видео микронейронка учится предсказывать картинку по соседям.
Цвета всех блоков на 3й картинке предсказаны нейронкой на основе соседей слева и сверху.
А точнее на входе квадрат 4х4 без правого-нижнего, а на выходе собственно правый-нижний.
1. В процессе обучения.
2. И доучилась.
Слева-направо
Картинка в bc1
Предсказание первого цвета из каждого блока.
Абсолютная ошибка предсказания.
2. И доучилась.
Слева-направо
Картинка в bc1
Предсказание первого цвета из каждого блока.
Абсолютная ошибка предсказания.
Абсолютно случайно опубликовал новый crate - "vtid", что значит Volatile Type ID.
"А что ж это за зверь такой?" - подумали вы, наверное.
А это очень простая и совершенно ненужная 99.9% программистам вещь - это расширенный TypeId, который точно-точно меняется, если крейт перекомпилировался.
Нужен он для горячих перезагрузок, а точнее для их ускорения.
Идея проста, если Vtid типа остался прежним, то и тип никак не мог поменяться, потому что тогда его крейт бы перекомпилировался и Vtid поменялся.
А раз тип не изменился, то можно взять да и переиспользовать его старые инстансы. В частности загруженные ассеты.
Конечно Vtid меняется все же чаще чем хотелось бы. Любое изменение в крейте меняет Vtid всех типов из него и зависимых крейтах, даже если меняется только код какой-нить функции.
Поэтому для уменьшения количества перезагружаемых ассетов я постараюсь типы с большими ассетами объявлять в отдельныйх крейтах-плагинах с минимумом плагинов-зависимостей.
Ссылка на сам крейт https://crates.io/crates/vtid
"А что ж это за зверь такой?" - подумали вы, наверное.
А это очень простая и совершенно ненужная 99.9% программистам вещь - это расширенный TypeId, который точно-точно меняется, если крейт перекомпилировался.
Нужен он для горячих перезагрузок, а точнее для их ускорения.
Идея проста, если Vtid типа остался прежним, то и тип никак не мог поменяться, потому что тогда его крейт бы перекомпилировался и Vtid поменялся.
А раз тип не изменился, то можно взять да и переиспользовать его старые инстансы. В частности загруженные ассеты.
Конечно Vtid меняется все же чаще чем хотелось бы. Любое изменение в крейте меняет Vtid всех типов из него и зависимых крейтах, даже если меняется только код какой-нить функции.
Поэтому для уменьшения количества перезагружаемых ассетов я постараюсь типы с большими ассетами объявлять в отдельныйх крейтах-плагинах с минимумом плагинов-зависимостей.
Ссылка на сам крейт https://crates.io/crates/vtid
crates.io
crates.io: Rust Package Registry
Посмотрел запись стрима, на котором человек взял egui-snarl и попробовал сделать на нем UI для логических цепей.
Очень интересно наблюдать, как человек без предварительной подготовки просто берет и пробует использовать API, который я придумал.
Для меня то он очевиден, а как для других людей… для меня это всегда было загадкой. Письменный фидбэк не дает полной картины. Что ж, завеса тайны слегка приоткрыта.
Ссылка на запись стрима
https://www.youtube.com/watch?v=zigPWkPm00U
Очень интересно наблюдать, как человек без предварительной подготовки просто берет и пробует использовать API, который я придумал.
Для меня то он очевиден, а как для других людей… для меня это всегда было загадкой. Письменный фидбэк не дает полной картины. Что ж, завеса тайны слегка приоткрыта.
Ссылка на запись стрима
https://www.youtube.com/watch?v=zigPWkPm00U
YouTube
Let's make a logic circuit simulator graph in bevy game engine using egui.
Let's make a logic circuit simulator graph in bevy game engine using egui.
Join our little discord server, we'll be happy to have you there:
http://discord.codotaku.com
Share the channel with your nerdy friends!
http://codotaku.com
Bevy is a refreshingly…
Join our little discord server, we'll be happy to have you there:
http://discord.codotaku.com
Share the channel with your nerdy friends!
http://codotaku.com
Bevy is a refreshingly…
Что делать, если хотя бы одна из размерностей окна стала 0?
В вулкане есть требование, что бы image и swapchain были больше 0 по всем осям.
А еще есть требование, что бы размер swapchain-а был между текущими min и max, которые можно получить у девайса.
Которые могут быть с нулями.
Как тогда создать swapchain? Или пересоздать при изменении размера.
При запросе следующего фрейма
А так же удалит старые, когда можно будет - спасибо
Итак, swapchain безнадежно устарел, пора пересоздать. А максимальная высота и/или ширина сейчас 0. Что делать?
Отдавать ошибку пользователю? Как он ее будет хэндлить? Не хотелось бы вообще думать об этом.
Может создать image размера 1х1 и притвориться, что это и есть картинка для этого surface? А почему бы и нет. Как пользователь узнает? Surface же в 0 пикселей.
В вулкане есть требование, что бы image и swapchain были больше 0 по всем осям.
А еще есть требование, что бы размер swapchain-а был между текущими min и max, которые можно получить у девайса.
Которые могут быть с нулями.
Как тогда создать swapchain? Или пересоздать при изменении размера.
mev
предлагает пользователю API Surface
, который прячет все ужасы вулканского WSI, включая семафоры, пересоздание swapchain-ов с использование механизма retire, SUBOPTIMAL и OUT_OF_DATE ситуации.При запросе следующего фрейма
mev::Surface
может пересоздать swapchain на лету если тот устарел... или его вообще еще нет.А так же удалит старые, когда можно будет - спасибо
VK_EXT_swapchain_maintenance1
- без ожидания остановки всего девайса.Итак, swapchain безнадежно устарел, пора пересоздать. А максимальная высота и/или ширина сейчас 0. Что делать?
Отдавать ошибку пользователю? Как он ее будет хэндлить? Не хотелось бы вообще думать об этом.
Может создать image размера 1х1 и притвориться, что это и есть картинка для этого surface? А почему бы и нет. Как пользователь узнает? Surface же в 0 пикселей.
Реализовал новый лайаут для нод.
Раньше ноды всегда выстраивались как на первой картинке.
Но был запрос на построение как на правой. Когда пины и тело широкие, нода может занимать целый экран.
Теперь в SnarlStyle есть node_layout, контролирующий разметку в ноде. И каждая нода может перегрузить этот параметр через метод SnarlViewer::node_layout.
Раньше ноды всегда выстраивались как на первой картинке.
Но был запрос на построение как на правой. Когда пины и тело широкие, нода может занимать целый экран.
Теперь в SnarlStyle есть node_layout, контролирующий разметку в ноде. И каждая нода может перегрузить этот параметр через метод SnarlViewer::node_layout.
Что-то я разошелся сегодня.
Добавил варианты расположения пинов.
Внутри - как было, пины внутри фрейма ноды.
На грани - центр пина на краю фрейма ноды
Снаружи - пины вне ноды.
Добавил варианты расположения пинов.
Внутри - как было, пины внутри фрейма ноды.
На грани - центр пина на краю фрейма ноды
Снаружи - пины вне ноды.
This media is not supported in your browser
VIEW IN TELEGRAM
Для интересующихся возможностями кастомных пинов.
Реализация метода draw_input_pin и draw_output_pin - вызывается одинаковая функция в 20 строчек
Реализация метода draw_input_pin и draw_output_pin - вызывается одинаковая функция в 20 строчек
https://github.com/zakarumych/egui-snarl
Получил 300ю звузду ⭐️
Это первый мой репозиторий с 300 звезд.
Есть еще rendy, но тот лежит в органиации amethyst, так что не считается.
Последнее время от меня ничего не слышно, потому что меня завалили работой вместо того что бы дать отпуск (который мне даже оформили, просто не отпустили)
Получил 300ю звузду ⭐️
Это первый мой репозиторий с 300 звезд.
Есть еще rendy, но тот лежит в органиации amethyst, так что не считается.
Последнее время от меня ничего не слышно, потому что меня завалили работой вместо того что бы дать отпуск (который мне даже оформили, просто не отпустили)
GitHub
GitHub - zakarumych/egui-snarl: Customizable egui node-graph library
Customizable egui node-graph library. Contribute to zakarumych/egui-snarl development by creating an account on GitHub.
Вчера зарелизил egui-snarl 0.6.
Основные изменения:
Использует egui 0.30
3 разметки для нод - оригинальная вертикально-горизонтальная и две вертикальные.
SnarlViewer может перегрузить фрейм для ноды и для хедера ноды.
Таким образом ноды разного типа могут быть визуально легко различимы.
Варианты расположения пинов - внутри (по-умолчанию), на краю ноды и снаружи
Убрал кастомные замыкания из стуруктур для отрисовки фона и пинов.
Этот функционал теперь реализуется через новые методы
Zoom теперь использует egui-шный zoom_delta. Теперь зумиться можно по ctrl+scroll (cmd+scroll на маках) или жестами.
Таки образом исчезает проблема со скролом в виджетах внутри нод.
Основные изменения:
Использует egui 0.30
3 разметки для нод - оригинальная вертикально-горизонтальная и две вертикальные.
SnarlViewer может перегрузить фрейм для ноды и для хедера ноды.
Таким образом ноды разного типа могут быть визуально легко различимы.
Варианты расположения пинов - внутри (по-умолчанию), на краю ноды и снаружи
Убрал кастомные замыкания из стуруктур для отрисовки фона и пинов.
Этот функционал теперь реализуется через новые методы
SnarlViewer
Zoom теперь использует egui-шный zoom_delta. Теперь зумиться можно по ctrl+scroll (cmd+scroll на маках) или жестами.
Таки образом исчезает проблема со скролом в виджетах внутри нод.
Я в детстве смотрел аниме (тогда конечно такого слова мы не знали), локальзованное сначала для американцев, а потом с английского на русский переведенное.
Называется оно в американской версии Saber Rider and the Star Sherifs.
Несмотря на то что это сериал про ОБЧР, мне больше всего запомнился космический ракетокопытный робоконь.
Нет, КОСМИЧЕСКИЙ РАКЕТОКОПЫТНЫЙ РОБОКОНЬ!
А сегодня посмотрел первую серию оригинальной японской аниме и для сравнения пролистал первую серию американской версии, тот же видеоряд (кроме титров) и сильно не то же повествование.
И пока я не знаю, какая версия мне нравится больше.
Но одно могу сказать точно, в американской версии саундтрек задорнее.
А у вас есть какие-то такие любимые, но забытые мультики из детства, которые вы хотите пересмотреть?
Называется оно в американской версии Saber Rider and the Star Sherifs.
Несмотря на то что это сериал про ОБЧР, мне больше всего запомнился космический ракетокопытный робоконь.
Нет, КОСМИЧЕСКИЙ РАКЕТОКОПЫТНЫЙ РОБОКОНЬ!
А сегодня посмотрел первую серию оригинальной японской аниме и для сравнения пролистал первую серию американской версии, тот же видеоряд (кроме титров) и сильно не то же повествование.
И пока я не знаю, какая версия мне нравится больше.
Но одно могу сказать точно, в американской версии саундтрек задорнее.
А у вас есть какие-то такие любимые, но забытые мультики из детства, которые вы хотите пересмотреть?
Все чаще меня посещает мысль, что хот-релоад и асинк в расте несовместимы.
Вот есть у меня модуль, в котором есть объекты из плагинов.
Есть асинк таска, которая их может использовать.
Ну и что ж получается, если они у меня подменятся прямо во время таски?
Никогда не выгружать объекты эти что ли?
Но это еще у самих объектов все методы не асинк, так что можно их просто каждый раз заново искать в реестре, а не хранить в таске.
А когда методы объектов асинки, что тогда делать то?
Вот есть у меня модуль, в котором есть объекты из плагинов.
Есть асинк таска, которая их может использовать.
Ну и что ж получается, если они у меня подменятся прямо во время таски?
Никогда не выгружать объекты эти что ли?
Но это еще у самих объектов все методы не асинк, так что можно их просто каждый раз заново искать в реестре, а не хранить в таске.
А когда методы объектов асинки, что тогда делать то?
This media is not supported in your browser
VIEW IN TELEGRAM
Обнаружил очень странные следы за забором рядом с домом. Почти 40 см в длину