#ul_lib
Пуринг можно применять не только в ходе алгоритмической оптимизации, но и для коррекции своих планов.
Так я решил пока отложить оптимизацию через numpy. Там появились серьёзные проблемы с выделением подпространств из-за отсутствия индексации. Решить можно, через постоянное расширение матрицы признаков таргетом и убирание таргета. Такой костыль мне не очень по душе.
Пока попробую сосредочится на аппроксимационной оптимизации, оптимизации вычислений в pandas и распараллеливании.
Пуринг можно применять не только в ходе алгоритмической оптимизации, но и для коррекции своих планов.
Так я решил пока отложить оптимизацию через numpy. Там появились серьёзные проблемы с выделением подпространств из-за отсутствия индексации. Решить можно, через постоянное расширение матрицы признаков таргетом и убирание таргета. Такой костыль мне не очень по душе.
Пока попробую сосредочится на аппроксимационной оптимизации, оптимизации вычислений в pandas и распараллеливании.
#ul_lib
Удалось ускорить Radius Density Classifier. Маленькая, но победа.
На тестовом наборе данных
Обучение: 687 -> 341 сек (50.36% ускорение)
Инференс: 787 -> 594 сек (24.52% ускорение)
Ускорение достигнуто за счёт более оптимального использования pandas.
Удалось ускорить Radius Density Classifier. Маленькая, но победа.
На тестовом наборе данных
Обучение: 687 -> 341 сек (50.36% ускорение)
Инференс: 787 -> 594 сек (24.52% ускорение)
Ускорение достигнуто за счёт более оптимального использования pandas.
👍4🔥1
#ul_lib
В погоне за производительностью попробовал использовать в качестве бэкэнда scikit-learn NearestNeighbors. Результаты... Плачевные.
Я не разбирался как именно устроен NearestNeighbors. Но судя по тому, как он работает обучение - это просто запоминание точек, которые будут выступать соседями.
Помимо предполагаемого выигрыша в скорости NearestNeighbors сулил глубокую настройку и реализацию многопоточности.
Результаты:
1. Мгновенное обучение
2. Долгий инференс (17 минут)*
3. Инференс съел всю память, которую сумел обнаружить
* точного времени нет, так как на тестовом датасете алгоритм просто упал с ошибкой, то есть за 17 минут результат даже не был получен, а это дольше, чем обучение и инференс моей реализации вместе взятые
В погоне за производительностью попробовал использовать в качестве бэкэнда scikit-learn NearestNeighbors. Результаты... Плачевные.
Я не разбирался как именно устроен NearestNeighbors. Но судя по тому, как он работает обучение - это просто запоминание точек, которые будут выступать соседями.
Помимо предполагаемого выигрыша в скорости NearestNeighbors сулил глубокую настройку и реализацию многопоточности.
Результаты:
1. Мгновенное обучение
2. Долгий инференс (17 минут)*
3. Инференс съел всю память, которую сумел обнаружить
* точного времени нет, так как на тестовом датасете алгоритм просто упал с ошибкой, то есть за 17 минут результат даже не был получен, а это дольше, чем обучение и инференс моей реализации вместе взятые
#ul_lib
Давненько не делился новостями. В общем-то пока новостей толком и нет.
Сейчас работаю над распараллеливанием алгоритма. Вроде получилось распараллелить процесс обучения, но пока не тестировал эффективность этого распараллеливания. Ну и в процессе пришлось отказаться от некоторых оптимизаций. Как распараллелю инференс, поделюсь результатами тестов.
В общем-то на этом планирую пока остановить разработку алгоритма и приступить к тестам на нескольких наборах данных со сравнением с другими алгоритмами.
// Буду стараться делать больше записей здесь, но по пустякам.
Давненько не делился новостями. В общем-то пока новостей толком и нет.
Сейчас работаю над распараллеливанием алгоритма. Вроде получилось распараллелить процесс обучения, но пока не тестировал эффективность этого распараллеливания. Ну и в процессе пришлось отказаться от некоторых оптимизаций. Как распараллелю инференс, поделюсь результатами тестов.
В общем-то на этом планирую пока остановить разработку алгоритма и приступить к тестам на нескольких наборах данных со сравнением с другими алгоритмами.
// Буду стараться делать больше записей здесь, но по пустякам.
👌2
#ul_book
Закончил черновые наброски по определению UL. Замечательно то, как авторство заставляет задуматься о вещах, которые давно не дают покоя, но ты ничего с этим не делаешь. Наверное отчасти поэтому я решил заняться книгой.
Закончил черновые наброски по определению UL. Замечательно то, как авторство заставляет задуматься о вещах, которые давно не дают покоя, но ты ничего с этим не делаешь. Наверное отчасти поэтому я решил заняться книгой.
💯2
#ul_lib
В общем эффективно распараллелить RDC не получилось, так как всюду используется общая память, я полагаю.
Пока оставлю попытки оптимизации алгоритма и перейду к тестам на качество классификации.
В общем эффективно распараллелить RDC не получилось, так как всюду используется общая память, я полагаю.
Пока оставлю попытки оптимизации алгоритма и перейду к тестам на качество классификации.
Думал плотненько заняться проектами во время отпуска, но что-то хочется переключить на недельку контекст и отдохнуть от рабочей темы. Возможно от этого даже больше толку будет.
В ходе переключения контекста опять занялся геймдевом. Сторожилы знают, что такое моё увлечение обычно не длится дольше 2 месяцев (чаще 2-3 недели).
В ходе переключения контекста опять занялся геймдевом. Сторожилы знают, что такое моё увлечение обычно не длится дольше 2 месяцев (чаще 2-3 недели).
#ul_book
Я тут задумался, что коль уж я не собираюсь ограничиваться одной темой в книге, имеет смысл рассмотреть множество тем и раскрывать их глава за главой, том за томом.
Хочется разложить тему до квантов и прийти к итоговым методам и реализациям, собрав их из квантов.
Так что работы очень много, а результат отдоляется. Но зато это создаёт хорошую сенергию всего со всем.
Теперь надо переосмыслить все проекты и подстроить под эту парадигму.
Я тут задумался, что коль уж я не собираюсь ограничиваться одной темой в книге, имеет смысл рассмотреть множество тем и раскрывать их глава за главой, том за томом.
Хочется разложить тему до квантов и прийти к итоговым методам и реализациям, собрав их из квантов.
Так что работы очень много, а результат отдоляется. Но зато это создаёт хорошую сенергию всего со всем.
Теперь надо переосмыслить все проекты и подстроить под эту парадигму.
🔥2
Screenshot_20231018_080003_miMind.jpg
743.4 KB
#book
Накидал в очень общих чертах с чего хотелось бы начать книгу. Кажется какие-то более-менее практические положения будут только в 4 главе.
Предстоит изучить очень много материала, чтобы достаточно качественно изложить идеи. Благо литературы за время учёбы и работы накопилось прилично, но не достаточно.
Накидал в очень общих чертах с чего хотелось бы начать книгу. Кажется какие-то более-менее практические положения будут только в 4 главе.
Предстоит изучить очень много материала, чтобы достаточно качественно изложить идеи. Благо литературы за время учёбы и работы накопилось прилично, но не достаточно.
#book
Сделал бекап своих предыдущих наработок по книге. В принципе, в чистовике кроме заголовков и их нумерации менять ничего не пришлось. Половина черновика тоже осталась.
Пока книгу пишу с конца плана, а именно начал с методов оптимизации, что связано с тем, что книги по оптимизации у меня электронные, и с ними удобно работать в дороге.
Жду когда наконец приедет мой мининоутбук для удобной работы в дороге.
// Кажется где-то полторы недели назад у меня началась депрессия. Я думал, что явление локальное и пройдёт за выходные, оказалось, что нет, и она не проходит. В моменты, когда апатия отпускает я пытаюсь что-то делать, но это происходит редко и на короткие промежутки времени. Ко всему этому ещё большой загруз по работе. В общем, кажется посты станут более редкими, сорян.
Сделал бекап своих предыдущих наработок по книге. В принципе, в чистовике кроме заголовков и их нумерации менять ничего не пришлось. Половина черновика тоже осталась.
Пока книгу пишу с конца плана, а именно начал с методов оптимизации, что связано с тем, что книги по оптимизации у меня электронные, и с ними удобно работать в дороге.
Жду когда наконец приедет мой мининоутбук для удобной работы в дороге.
/
#book
Начал главу про оптимизацию с пары, возможно, не самых хороших примеров, которые призваны показать комплексность примения оптимизации и её повсеместность. Прелесть в том, что это довольно хорошая подводка к алгоритмам машинного обучения. Кажется, что без них применение методов оптимизации весьма ограничено, хотя сами алгоритмы выглядят, как смесь эвристик и методов оптимизации.
Начал главу про оптимизацию с пары, возможно, не самых хороших примеров, которые призваны показать комплексность примения оптимизации и её повсеместность. Прелесть в том, что это довольно хорошая подводка к алгоритмам машинного обучения. Кажется, что без них применение методов оптимизации весьма ограничено, хотя сами алгоритмы выглядят, как смесь эвристик и методов оптимизации.
#book
Задумался о том, что возможно HTML всё таки не лучший формат для написания книги: здесь много тегов и не очень удобное форматирование, в результате чего требуются избыточное время и трудозатраты.
Ещё есть сомнения по поводу того насколько корректно формулы на MathJax будут отображаться в pdf. Однако я думаю, что даже если с формулами возникнут проблемы, то HTML довольно хорошо конвертируется в другие форматы и всегда есть возможность поиграть скриптами.
В крайнем случае можно написать самостоятельно конвертатор в латех.
Задумался о том, что возможно HTML всё таки не лучший формат для написания книги: здесь много тегов и не очень удобное форматирование, в результате чего требуются избыточное время и трудозатраты.
Ещё есть сомнения по поводу того насколько корректно формулы на MathJax будут отображаться в pdf. Однако я думаю, что даже если с формулами возникнут проблемы, то HTML довольно хорошо конвертируется в другие форматы и всегда есть возможность поиграть скриптами.
В крайнем случае можно написать самостоятельно конвертатор в латех.
#evolution
Занялся изучением байесовского машинного обучения. Несколько последних эпох обучения дали интересную методологию изучения. Попутно я вернулся к идее заняться вебом.
В чём идея 💡
1. При изучении какого-то материала я его изучаю, как минимум дважды. Первый раз ознакомительно-оценочны. Второй запоминающий (если идея была оценена, как полезная). Последующие для более глубокого погружения или запоминания. Как вы понимаете, читаю я крайне медленно.
2. При втором прочтении я так же рисую граф понятий и идей.
3. При третьем прочтении знания извлекаются и заносятся в базу знаний.
База знаний
Я уже как-то создавал сайт с базой знаний, но тогда эта идея была неэффективной: занесение знаний в неё было сложной задачей, а база была плоской. В текущей версии я думаю ограничить глубину графа семантически. Пока я не придумал, как именно это сделать, но уже есть какие-то идеи.
Занялся изучением байесовского машинного обучения. Несколько последних эпох обучения дали интересную методологию изучения. Попутно я вернулся к идее заняться вебом.
В чём идея 💡
1. При изучении какого-то материала я его изучаю, как минимум дважды. Первый раз ознакомительно-оценочны. Второй запоминающий (если идея была оценена, как полезная). Последующие для более глубокого погружения или запоминания. Как вы понимаете, читаю я крайне медленно.
2. При втором прочтении я так же рисую граф понятий и идей.
3. При третьем прочтении знания извлекаются и заносятся в базу знаний.
База знаний
Я уже как-то создавал сайт с базой знаний, но тогда эта идея была неэффективной: занесение знаний в неё было сложной задачей, а база была плоской. В текущей версии я думаю ограничить глубину графа семантически. Пока я не придумал, как именно это сделать, но уже есть какие-то идеи.
#evolution
Сделал сегодня утром граф по базовым идеям баесовского машинного обучения.
В хорошем качестве не покажу, ибо кринге, а я вас люблю, так что кину ссылочку, когда сделаю что-то достойное такой аудитории 😊
Сделал сегодня утром граф по базовым идеям баесовского машинного обучения.
В хорошем качестве не покажу, ибо кринге, а я вас люблю, так что кину ссылочку, когда сделаю что-то достойное такой аудитории 😊
#evolution
Потихоньку пишу базу знаний. Накидал ветку по сложности ML алгоритмов. Теперь предстоит под это написать кучу текста. Как будет готов граф, покажу здесь. После этого предстоит верстка и хосинг сайта. Дело не быстрое.
Потихоньку пишу базу знаний. Накидал ветку по сложности ML алгоритмов. Теперь предстоит под это написать кучу текста. Как будет готов граф, покажу здесь. После этого предстоит верстка и хосинг сайта. Дело не быстрое.
#todo
Сегодня меня очень расстроил todo менеджер, которым я пользовался несколько лет. Суть в том, что он считает сколько дней подряд ты выполняешь задачи. Мой рекорд: 59. Проблема в том, что чтобы он корректно все считал, нужно буквально каждый день заходить и отмечать задачи. Иногда бывает, что ты помнишь о задачах и забываешь их проверять. И вот, захожу я сегодня в todo менеджер, и он вываливает на меня просроченные задачи. Я отмечаю, что бОльшую часть из них сделал и... Он сбрасывает счётчик.
Очень обидно, что 2 месяца копил этот счетчик и он сбросился просто потому, что ты не отметился в конкретный день.
Чтобы этого избежать, решил в очередной раз попробовать намутить свой. Это не будет хорошим оптимизированным приложением, которое можно будет продовать. Суть даже не в том, что мне нужен новый todo менеджер. Их полно в плеймаркете. Я хочу попробовать сделать такую штуку в игровом движке godot4. То есть это интересно больше с точки зрения освоения игрового движка и его ui состовляющей. Я всегда поражаюсь насколько в играх порой красивые интерфейсы мутят.
Ниже наброски задач на 3 версии. Выйти бы хотя 1 😂
Сегодня меня очень расстроил todo менеджер, которым я пользовался несколько лет. Суть в том, что он считает сколько дней подряд ты выполняешь задачи. Мой рекорд: 59. Проблема в том, что чтобы он корректно все считал, нужно буквально каждый день заходить и отмечать задачи. Иногда бывает, что ты помнишь о задачах и забываешь их проверять. И вот, захожу я сегодня в todo менеджер, и он вываливает на меня просроченные задачи. Я отмечаю, что бОльшую часть из них сделал и... Он сбрасывает счётчик.
Очень обидно, что 2 месяца копил этот счетчик и он сбросился просто потому, что ты не отметился в конкретный день.
Чтобы этого избежать, решил в очередной раз попробовать намутить свой. Это не будет хорошим оптимизированным приложением, которое можно будет продовать. Суть даже не в том, что мне нужен новый todo менеджер. Их полно в плеймаркете. Я хочу попробовать сделать такую штуку в игровом движке godot4. То есть это интересно больше с точки зрения освоения игрового движка и его ui состовляющей. Я всегда поражаюсь насколько в играх порой красивые интерфейсы мутят.
Ниже наброски задач на 3 версии. Выйти бы хотя 1 😂
#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. Фреймворк кроссплатформенный, и я к нему не равнодушен не первый год, хотя мой первый опыт с ним и был неудачным.
Во вложении первый кринж-набросок, который я сделал просто, чтобы вспомнить, как устроен фреймворк.