#lib
Поразмыслив, я понял, что писать либу планомерно от низкого уровня к весокому - неэффективная тактика. Развитие личных проектов должно быть соноправлено с приоритетными жизненными направлениями, а потому имеет смысл развивать либу разносторонне. Это сложно и надо хорошо продумать структуру.
Лучше всё-таки идти сверху вниз, а не снизу вверх. Поэтому в либе будут 3 кластера:
1. Pipeline - с практически значимыми функциями, вплетенными в общие интерфейсы, архитектурный подход с документацией и тестами.
2. Experiments с реализациями базовых вещей, экспериментами и туториалами по ним, которые планируется использовать так же в образовательных целях, и как интерактивное дополнение к книге.
3. Algorithms. Идея та же, что и с экспериментами, но не на базовых вещах, а на моих кастомных алгоритмах.
Таким образом охватываются все направления, в которых я сейчас работаю в рамках DmML-lab.
Поразмыслив, я понял, что писать либу планомерно от низкого уровня к весокому - неэффективная тактика. Развитие личных проектов должно быть соноправлено с приоритетными жизненными направлениями, а потому имеет смысл развивать либу разносторонне. Это сложно и надо хорошо продумать структуру.
Лучше всё-таки идти сверху вниз, а не снизу вверх. Поэтому в либе будут 3 кластера:
1. Pipeline - с практически значимыми функциями, вплетенными в общие интерфейсы, архитектурный подход с документацией и тестами.
2. Experiments с реализациями базовых вещей, экспериментами и туториалами по ним, которые планируется использовать так же в образовательных целях, и как интерактивное дополнение к книге.
3. Algorithms. Идея та же, что и с экспериментами, но не на базовых вещах, а на моих кастомных алгоритмах.
Таким образом охватываются все направления, в которых я сейчас работаю в рамках DmML-lab.
👍1🌚1
#todo
Идея делать todo менеджер в godot была страшной. Страшно интересной, страшно непонятной и страшно не оптимальной. Оценив задачу, я понял, что с моими темпами закончу её примерно через половину вечности. Godot был интересен тем, что там можно сделать красивенько, интересно потренить свои навыки создания интерфейсов в игровом движке, и я хотел прикрутить продвинутую геймификацию.
Но в итоге стало понятно, что освоение godot и геймификации далеко, а todo менеджер нужен прямо сейчас. Логичнее всего наверное было бы забить и вернуться к использованию готового, но те, кто знают меня достаточно давно, так же знают, что средства планирования задач я пытаюсь изобрести раза 3 в год каждый год. Так что нужно уже закрыть эту потребность.
Вместо godot пока решил делать на kivy. Фреймворк кроссплатформенный, и я к нему не равнодушен не первый год, хотя мой первый опыт с ним и был неудачным.
Во вложении первый кринж-набросок, который я сделал просто, чтобы вспомнить, как устроен фреймворк.
Идея делать todo менеджер в godot была страшной. Страшно интересной, страшно непонятной и страшно не оптимальной. Оценив задачу, я понял, что с моими темпами закончу её примерно через половину вечности. Godot был интересен тем, что там можно сделать красивенько, интересно потренить свои навыки создания интерфейсов в игровом движке, и я хотел прикрутить продвинутую геймификацию.
Но в итоге стало понятно, что освоение godot и геймификации далеко, а todo менеджер нужен прямо сейчас. Логичнее всего наверное было бы забить и вернуться к использованию готового, но те, кто знают меня достаточно давно, так же знают, что средства планирования задач я пытаюсь изобрести раза 3 в год каждый год. Так что нужно уже закрыть эту потребность.
Вместо godot пока решил делать на kivy. Фреймворк кроссплатформенный, и я к нему не равнодушен не первый год, хотя мой первый опыт с ним и был неудачным.
Во вложении первый кринж-набросок, который я сделал просто, чтобы вспомнить, как устроен фреймворк.
#hypex
Сегодня расскажу немного о своей работе. Настоящей работе в Сбере. Можно было бы даже сказать, что это реклама 😂
Короче. Сбер помимо зарабатывания денег занимается опенсурсом. Причём весь этот опенсурс по лицензии Apache-2. То есть можно использовать как угодно, и ничего тебе за это не будет.
Над одним из них работаю и я, а именно HypEx. Недавно это добро появилось на Github (https://github.com/sb-ai-lab/HypEx). Меня там пока в контребьютерах не видно, но обещают исправить, ибо я там пишу целый модуль (естественно не один).
Так вот, либа предлагает простой интерфейс для проведения A/B тестов, как рандомизированных, так и посредством мэтчинга. Сейчас команда делает основной упор именно на мэтчинг, да и началось всё с него, но я работаю больше над рандомизированными тестами.
В общем, если вам может быть такое интересно, предлагаю ознакомиться и накидать звёздочек 🤩
Буду время от времени рассказывать о релизах свежих.
Сегодня расскажу немного о своей работе. Настоящей работе в Сбере. Можно было бы даже сказать, что это реклама 😂
Короче. Сбер помимо зарабатывания денег занимается опенсурсом. Причём весь этот опенсурс по лицензии Apache-2. То есть можно использовать как угодно, и ничего тебе за это не будет.
Над одним из них работаю и я, а именно HypEx. Недавно это добро появилось на Github (https://github.com/sb-ai-lab/HypEx). Меня там пока в контребьютерах не видно, но обещают исправить, ибо я там пишу целый модуль (естественно не один).
Так вот, либа предлагает простой интерфейс для проведения A/B тестов, как рандомизированных, так и посредством мэтчинга. Сейчас команда делает основной упор именно на мэтчинг, да и началось всё с него, но я работаю больше над рандомизированными тестами.
В общем, если вам может быть такое интересно, предлагаю ознакомиться и накидать звёздочек 🤩
Буду время от времени рассказывать о релизах свежих.
GitHub
GitHub - sb-ai-lab/HypEx: Fast and customizable framework for automatic and quick Causal Inference in Python
Fast and customizable framework for automatic and quick Causal Inference in Python - sb-ai-lab/HypEx
🤩2
#todo
Намутил минимально юзабельный интерфейс. Кажется, что просто, но на деле очень много подводных камней. Правда пока это только пустой интерфейс без бэкэнда.
Намутил минимально юзабельный интерфейс. Кажется, что просто, но на деле очень много подводных камней. Правда пока это только пустой интерфейс без бэкэнда.
🤔1
#activity
Может показаться, что я пропал, но креститься не стоит. В последнее время я много занимаюсь HypEx (да и не в рабочее время) и мучу стикосы в телегу.
Может показаться, что я пропал, но креститься не стоит. В последнее время я много занимаюсь HypEx (да и не в рабочее время) и мучу стикосы в телегу.
🫡3
#activity
Понял, что проекты идут слишком хаотично, и я постоянно меняю контекст и мало что довожу до финала. Поэтому попробую протестировать следующие решения:
1. Я разработал инструмент приоритезации. Раньше это всегда были очень сложные штуки, детерменирующие контекст для оптимального управления. Сейчас инструмент очень простой без модели описания контекста, а сам контекст задаётся эвентами с субъективной оценкой. Кажется, что этого достаточно.
2. Планирую формализовать цикл разработки проекта, чтобы подход был более упорядоченным и при этом качественным. Как сделаю, расскажу о нём.
3. Создать приоритезированную очередь разработки. О ней напишу ниже.
Приоритезированная очередь разработки:
1. Выбирается наиболее приоритетный проект на основании решения 1.
2. Формулируются требования к этой разработке. Если проект новый, то MVP, если нет, то к новой версии.
3. Когда требования закрыты, версия публикуется.
4. Перерыв после проделанной работы.
Все свежие идеи и обстоятельства фиксируются и оцениваются в решении 1, чтобы быть учтенными при запуске нового цикла очереди в приоритезации.
Кажется, что эти меры могут создать более дисципленированную среду и явные результаты.
Понял, что проекты идут слишком хаотично, и я постоянно меняю контекст и мало что довожу до финала. Поэтому попробую протестировать следующие решения:
1. Я разработал инструмент приоритезации. Раньше это всегда были очень сложные штуки, детерменирующие контекст для оптимального управления. Сейчас инструмент очень простой без модели описания контекста, а сам контекст задаётся эвентами с субъективной оценкой. Кажется, что этого достаточно.
2. Планирую формализовать цикл разработки проекта, чтобы подход был более упорядоченным и при этом качественным. Как сделаю, расскажу о нём.
3. Создать приоритезированную очередь разработки. О ней напишу ниже.
Приоритезированная очередь разработки:
1. Выбирается наиболее приоритетный проект на основании решения 1.
2. Формулируются требования к этой разработке. Если проект новый, то MVP, если нет, то к новой версии.
3. Когда требования закрыты, версия публикуется.
4. Перерыв после проделанной работы.
Все свежие идеи и обстоятельства фиксируются и оцениваются в решении 1, чтобы быть учтенными при запуске нового цикла очереди в приоритезации.
Кажется, что эти меры могут создать более дисципленированную среду и явные результаты.
#activity
Цикл разработки проекта
Состоит из 4 блоков:
1. Планирование
2. Исследование
3. Разработка
4. Публикация.
Планирование. На этом блоке формируются требования к версии и план её разработки.
Исследование. Здесь изучаются источники информации, из которых черпаются знания и оформляются в какой-то артефакт. Например, тесты существующих решений или просто статья с кратким изложением теории.
Разработка. Здесь происходит вся магия.
Публикация. Работа не будет иметь смысл, если о ней не рассказать и её результатами никто не сможет воспользоваться. Здесь готовятся материалы для публикации.
В результате прохождения полного цикла должен получиться качественный масштабируемый артефакт.
Цикл разработки проекта
Состоит из 4 блоков:
1. Планирование
2. Исследование
3. Разработка
4. Публикация.
Планирование. На этом блоке формируются требования к версии и план её разработки.
Исследование. Здесь изучаются источники информации, из которых черпаются знания и оформляются в какой-то артефакт. Например, тесты существующих решений или просто статья с кратким изложением теории.
Разработка. Здесь происходит вся магия.
Публикация. Работа не будет иметь смысл, если о ней не рассказать и её результатами никто не сможет воспользоваться. Здесь готовятся материалы для публикации.
В результате прохождения полного цикла должен получиться качественный масштабируемый артефакт.
#hypex
Статья про опенсусь, который я делаю в Сбере) Скоро собираюсь на этот проект фуллтайм перейти.
https://habr.com/p/778774/
Статья про опенсусь, который я делаю в Сбере) Скоро собираюсь на этот проект фуллтайм перейти.
https://habr.com/p/778774/
Habr
HypEx и мэтчинг. Эксперимент без A/B-тестирования?
Привет, Хабр! Меня зовут Дмитрий Тихомиров, я работаю в блоке «Финансы» в команде разработки HypEx (Hypotheses and Experiments) — open source-библиотеки для Python. Наша команда хотела придумать ёмкое...
🔥3
image_2023-12-11_22-44-22.png
72.6 KB
#activity
Небольшой отчет об активности. На самомделе бОльшая часть работы на неделе была в планировании грядущих проектов, поэтому тут активность только в рамках #hypex. Но скоро поделюсь плодами планирования.
Небольшой отчет об активности. На самомделе бОльшая часть работы на неделе была в планировании грядущих проектов, поэтому тут активность только в рамках #hypex. Но скоро поделюсь плодами планирования.
🔥1
#activity
Как и обещал, делюсь результатами планирования.
На первое место по скору вышла идея нового проекта. Подробнее об идее расскажу позднее. Как появится время, займусь продумыванием архитектуры проекта.
Как и обещал, делюсь результатами планирования.
На первое место по скору вышла идея нового проекта. Подробнее об идее расскажу позднее. Как появится время, займусь продумыванием архитектуры проекта.
#plot_adapter
Новый проект над которым начинаю работу. Пока рабочее название "Plot Adapter".
В чём идея:
🎮 универсальный интерфейс к разным бэкэндам построения графиков (пока это plotly и matplotlib).
🪛 возможность легко вносить изменения в графики
🗂 изменение группы графиков
Во вложении ориентировочная схема пайплайна.
Новый проект над которым начинаю работу. Пока рабочее название "Plot Adapter".
В чём идея:
🎮 универсальный интерфейс к разным бэкэндам построения графиков (пока это plotly и matplotlib).
🪛 возможность легко вносить изменения в графики
🗂 изменение группы графиков
Во вложении ориентировочная схема пайплайна.
#activity
В ближайших планах доделать таки стикосы в ТГ и работать над MVP Plot Adapter.
1. Готовить картиночки к публикации довольно скучная и монотонная работа, которую, к тому же, надо делать на стационарном компе (большой экран и высокоточная мышь для работы с мелкими деталями изображения). Тут просто надо подготовить к публикации 20+ изображений и опубликовать их.
2. Потихоньку продумываю архитектуру. Главный бенчмарк MVP: один и тот же код, генерирующий идентичные графики в matplotlib и plotly.
Детализация:
2.1. Прототип архитектуры.
2.2. В качестве тестового датасета проведу небольшой анализ курсов 5 валют (€, £, ¥, $, ₽) и 4 металлов (Ag, Au, Pt, Pd).
2.3. Реализация архитектуры под обычный plot с линией. Тут важно получить просто идентичную линию в разных бэках.
В ближайших планах доделать таки стикосы в ТГ и работать над MVP Plot Adapter.
1. Готовить картиночки к публикации довольно скучная и монотонная работа, которую, к тому же, надо делать на стационарном компе (большой экран и высокоточная мышь для работы с мелкими деталями изображения). Тут просто надо подготовить к публикации 20+ изображений и опубликовать их.
2. Потихоньку продумываю архитектуру. Главный бенчмарк MVP: один и тот же код, генерирующий идентичные графики в matplotlib и plotly.
Детализация:
2.1. Прототип архитектуры.
2.2. В качестве тестового датасета проведу небольшой анализ курсов 5 валют (€, £, ¥, $, ₽) и 4 металлов (Ag, Au, Pt, Pd).
2.3. Реализация архитектуры под обычный plot с линией. Тут важно получить просто идентичную линию в разных бэках.
Возникла идея делиться короткими фактами, которые удаётся обнаружить в ходе ресерча (и не очень ресерча) в рубрике с отдельным тэгом. Что скажете?
Anonymous Poll
83%
Разбавить лог фактами
17%
Концентрированный лог