#programming #dry #solid
Изучаю код сторонних библиотек, дабы прокачать свой уровень. Код поражает красотой и эффективностью.
Изучаю код сторонних библиотек, дабы прокачать свой уровень. Код поражает красотой и эффективностью.
😁1
#programming #ml #codequality
Вообще вот моё краткое заключение по ведущим питоновским ML библам для explainability (Shape) и feature selection (BorutaPy, BorutaShap): код оставляет желать лучшего, нечитаем, неоптимален, иногда и вообще с ошибками, автор не понимает, что и зачем делает. Для принятия решений используются устаревшие статметоды (спасибо, что поправки Бонферрони есть, но могли бы и иерархический Байес завезти). А ведь это лучшее, что есть. А вы чем пользуетесь?
Вообще вот моё краткое заключение по ведущим питоновским ML библам для explainability (Shape) и feature selection (BorutaPy, BorutaShap): код оставляет желать лучшего, нечитаем, неоптимален, иногда и вообще с ошибками, автор не понимает, что и зачем делает. Для принятия решений используются устаревшие статметоды (спасибо, что поправки Бонферрони есть, но могли бы и иерархический Байес завезти). А ведь это лучшее, что есть. А вы чем пользуетесь?
😢4👎1
#cuda #gpu #architecture #programming
Напоминалка, как устроена программная модель Cuda. Что такое потоки, блоки, сетки.
https://developer.nvidia.com/blog/cuda-refresher-cuda-programming-model/
Напоминалка, как устроена программная модель Cuda. Что такое потоки, блоки, сетки.
https://developer.nvidia.com/blog/cuda-refresher-cuda-programming-model/
NVIDIA Technical Blog
CUDA Refresher: The CUDA Programming Model
This is the fourth post in the CUDA Refresher series, which has the goal of refreshing key concepts in CUDA, tools, and optimization for beginning or intermediate developers.
#programming #perfection #decisionmaking
Бывает, хочешь закодить всё грамотно, сразу с учётом будущего роста функциональности, продумываешь архитектуру, варианты использования решения, но проект затягивается, накапливается усталость, теряется интерес. В таких случаях, как обнаружил по своему опыту, лучше отложить попытки улучшательства на будущее и вывести в бой хотя бы минимально рабочую версию, которая уже будет решать бизнес-задачу лучше, чем решалось до неё.
Так у меня было с ансамблированием в самописной системе mlops: я добавил простые ансамбли, стал добавлять стэкинг, там возникли сложности с оверфитом, я увидел, что процесс затягивается, ну и зарелизил хотя бы простые ансамбли. И вот уже полгода пользуюсь, и это приносит пользу. А иначе бы застрял неизвестно насколько.
Так и сейчас с отборщиком признаков, Диогеном. Модуль wrappers потребовал решать задачу одномерной целочисленной оптимизации, я сначала потестил распространённые пакеты типа optuna/skopt/hyperopt, потом написал свой модуль с реализациями гауссова процесса и прям совсем своей идеей, квантильной регрессией+эвристиками. И вот уже 2 месяца я туплю с этим модулем. Работает он по виду хорошо, но до тестирования и уж тем более до реального внедрения никак не доведу.
И вот смотрю я на свои задачи по этому модулю: то мне статические графики не нравятся в matplotlib и я хочу пределать в живые plotly, то мне не нравится, что оптимизатор не поддерживает категориальные входы и вообще множественные входы, и я хочу переделать структуры данных. То я придрался, что сортировки там неоптимальны, хотя по итогам профилирования они ни на что не влияют. А так как в планах создание своего полноценного оптимизатора гиперпараметров, однобокость текущей версии вносит когнитивынй диссонанс и не позволяет продвигаться работе - думаю над оптимальным способом унификации и прочими философскими вещами, в то время как у меня есть прямо сейчас реальные ML проекты, которым очень нужен хороший feature selector.
Ну и вот сегодня додумался, это же как раз тот случай, когда надо выводить в бой уже написанное решение, и не тупить над бесконечными улучшениями ) Завидую я, в общем, программистам, которые с лёгким сердцем особо не думая могут херак, херак, и в production. Так что не затягивайте проекты, релизьте вовремя.
Бывает, хочешь закодить всё грамотно, сразу с учётом будущего роста функциональности, продумываешь архитектуру, варианты использования решения, но проект затягивается, накапливается усталость, теряется интерес. В таких случаях, как обнаружил по своему опыту, лучше отложить попытки улучшательства на будущее и вывести в бой хотя бы минимально рабочую версию, которая уже будет решать бизнес-задачу лучше, чем решалось до неё.
Так у меня было с ансамблированием в самописной системе mlops: я добавил простые ансамбли, стал добавлять стэкинг, там возникли сложности с оверфитом, я увидел, что процесс затягивается, ну и зарелизил хотя бы простые ансамбли. И вот уже полгода пользуюсь, и это приносит пользу. А иначе бы застрял неизвестно насколько.
Так и сейчас с отборщиком признаков, Диогеном. Модуль wrappers потребовал решать задачу одномерной целочисленной оптимизации, я сначала потестил распространённые пакеты типа optuna/skopt/hyperopt, потом написал свой модуль с реализациями гауссова процесса и прям совсем своей идеей, квантильной регрессией+эвристиками. И вот уже 2 месяца я туплю с этим модулем. Работает он по виду хорошо, но до тестирования и уж тем более до реального внедрения никак не доведу.
И вот смотрю я на свои задачи по этому модулю: то мне статические графики не нравятся в matplotlib и я хочу пределать в живые plotly, то мне не нравится, что оптимизатор не поддерживает категориальные входы и вообще множественные входы, и я хочу переделать структуры данных. То я придрался, что сортировки там неоптимальны, хотя по итогам профилирования они ни на что не влияют. А так как в планах создание своего полноценного оптимизатора гиперпараметров, однобокость текущей версии вносит когнитивынй диссонанс и не позволяет продвигаться работе - думаю над оптимальным способом унификации и прочими философскими вещами, в то время как у меня есть прямо сейчас реальные ML проекты, которым очень нужен хороший feature selector.
Ну и вот сегодня додумался, это же как раз тот случай, когда надо выводить в бой уже написанное решение, и не тупить над бесконечными улучшениями ) Завидую я, в общем, программистам, которые с лёгким сердцем особо не думая могут херак, херак, и в production. Так что не затягивайте проекты, релизьте вовремя.
👍1
#fun #music #rammstein #programming
Что общего у Тилля с программированием?
https://www.youtube.com/watch?v=m1Gl1CeEQKY
Что общего у Тилля с программированием?
https://www.youtube.com/watch?v=m1Gl1CeEQKY
🔥1
#ai #programming #claude
Пока я жил в пещере, процесс разработки нехило шагнул вперёд.
https://www.youtube.com/watch?v=6NK4Pona2fY
Пока я жил в пещере, процесс разработки нехило шагнул вперёд.
https://www.youtube.com/watch?v=6NK4Pona2fY
YouTube
Claude Code: полный гайд по AI-кодингу (хаки, техники и секреты)
Тренажер для подготовки к IT собеседованиям: https://solvit.space/l/stepoleg
Используйте промокод STEPOLEG для скидки 20% и неограниченного доступа к задачам
MCP-сервер для тестирования: https://testsprite.com
Купить подписку Claude Code за рубли: https…
Используйте промокод STEPOLEG для скидки 20% и неограниченного доступа к задачам
MCP-сервер для тестирования: https://testsprite.com
Купить подписку Claude Code за рубли: https…
#programming #ai #llms #claude
Попробовал Claude Extension for VS Code.
Это просто фантастика. Общаешься с ним прямо в панельке редактора кода, никаких переключений в чат браузера.
Нашёл 10 проблем в моей старой функции генерации нейросети, причём 1 серьёзную. 2 оказались ложными срабатываниями, думаю, можно подшаманить промптами.
В итоге отрефакторил с ним, он составил детальный план, задал 5 толковых доп вопросов, после уточнений и аппрува минут 5 работал,
периодически показывая что было-что будет и получая подтверждения.
Написал офигенно качественные тесты! С использованием hypothesis и mutatest. Сам бы я в жизни их писать не стал, это ж долго и скучно.
Я попросил закоммитить, Клод составил информативное саммари, + пару разрешений к гитхабу, коммит улетел.
Суперсила за $20 в месяц! Не знаю насколько активно позволит работать. Друг сообщает, что за $100/мес исчерпания лимитов не происходит совсем, хотя он очень интенсивно кодит.
Теперь буду стараться работать через него, приобщаться к прекрасному и вылезать из-под камня. Я впечатлён и потрясён.
Попробовал Claude Extension for VS Code.
Это просто фантастика. Общаешься с ним прямо в панельке редактора кода, никаких переключений в чат браузера.
Нашёл 10 проблем в моей старой функции генерации нейросети, причём 1 серьёзную. 2 оказались ложными срабатываниями, думаю, можно подшаманить промптами.
В итоге отрефакторил с ним, он составил детальный план, задал 5 толковых доп вопросов, после уточнений и аппрува минут 5 работал,
периодически показывая что было-что будет и получая подтверждения.
Написал офигенно качественные тесты! С использованием hypothesis и mutatest. Сам бы я в жизни их писать не стал, это ж долго и скучно.
Я попросил закоммитить, Клод составил информативное саммари, + пару разрешений к гитхабу, коммит улетел.
Суперсила за $20 в месяц! Не знаю насколько активно позволит работать. Друг сообщает, что за $100/мес исчерпания лимитов не происходит совсем, хотя он очень интенсивно кодит.
Теперь буду стараться работать через него, приобщаться к прекрасному и вылезать из-под камня. Я впечатлён и потрясён.
#fun #programming
Флоу программиста:
1950 — машинный код
1960 — ассемблер (первый шаг к лени)
1970 — Fortran (учёные победили)
1990 — Visual Basic (бизнес победил)
2000 — .NET (маркетинг победил)
2025 — я туда вообще не смотрю 😂 в код
Флоу программиста:
1950 — машинный код
1960 — ассемблер (первый шаг к лени)
1970 — Fortran (учёные победили)
1990 — Visual Basic (бизнес победил)
2000 — .NET (маркетинг победил)
2025 — я туда вообще не смотрю 😂 в код
🔥2