✍️ Как писать хорошие сообщений в Git 📝
Пока нет возможности написать подробный обзор jetson, т.к. я в некотором отъезде, но я уже завел себе страничку с блогом на своем домене 👉👈
Но не оставлять же вас без полезного контента. В последнее время я чаще читаю различные материалы не только про DS и ML, а в целом про разработку, computer science, и всякий технический обвес в виде устройства linux и кластеров. Думаю, что никто не расстроится, если подобный материал будет появляться здесь.
Я долгое время пытаюсь приучить себя к различным "аккуратным" методам ведения разработки, такие как: типизирование в питоне, докстринги и хорошие коммит месседжи.
Если вы все еще не уверены, что правильно пишете сообщения в комментах, рекомендую ознакомиться с этой статьей, где автор по полочкам рассказывает как делать это легко и непринужденно.
https://chris.beams.io/posts/git-commit/
Пока нет возможности написать подробный обзор jetson, т.к. я в некотором отъезде, но я уже завел себе страничку с блогом на своем домене 👉👈
Но не оставлять же вас без полезного контента. В последнее время я чаще читаю различные материалы не только про DS и ML, а в целом про разработку, computer science, и всякий технический обвес в виде устройства linux и кластеров. Думаю, что никто не расстроится, если подобный материал будет появляться здесь.
Я долгое время пытаюсь приучить себя к различным "аккуратным" методам ведения разработки, такие как: типизирование в питоне, докстринги и хорошие коммит месседжи.
Если вы все еще не уверены, что правильно пишете сообщения в комментах, рекомендую ознакомиться с этой статьей, где автор по полочкам рассказывает как делать это легко и непринужденно.
https://chris.beams.io/posts/git-commit/
cbeams
How to Write a Git Commit Message
Commit messages matter. Here's how to write them well.
🐍 Мысли в слух про Enviroment и Conda 📦
Я пользуюсь Anaconda достаточно долгое время, примерно с того дня, когда я заинтересовался Data Science как таковым.
Мне его представили как удобный инструмент, чтобы устанавливать библиотеки на рабочую машину.
Я пользовался windows и тогда мне это показалось безумно удобным инструментом, ведь многие пакеты не хотели просто так устанавливаться под виндой.
Шли годы, я оброс бородой и опытом, давно променял windows на более удобные платформы, но по прежнему продолжал пользоваться conda.
Я спрашивал себя - а что есть действительно наилучший способ организации рабочего окружения? Почему я должен отказаться от conda?
Внятного ответа в интернете я найти так и не смог, везде были свои за и против. Кто-то находится в лагере venv, кто-то в virtualenv.
Но недавно мне пришло осознание и я понял как сделать лучше, а самое главное - зачем.
Главная особенность conda заключается в том, что в отличие от pip оно так же поставляет собранные бинарники под любые задачи, то есть вы можете устновить ffmpeg, openblas, openfst и другие вещи прямо из конды, хотя сами эти пакеты могут быть совсем не связаны с питоном. В то же время pip и средства виртуализации venv и ему подобные позволяют вам "изолировать" именно ваше питоновское окружение, это означат, что проблемы с конфликтами бинарных пакетов все еще остаются.
Во многом виртуализация conda меня устраивала, но недавно произошло важное событие - я перешел на macbook m1, соответсвенно архитектура процессора полностью поменялась, больше никаких x86, только arm. И соответсвенно мои попытки скачать какие-то бинарные пакеты из conda не увенчались успехом. Их просто не существует, нет никаких вариантов поставить их от туда. Придется скачивать source code и собирать их самостоятельно с помощью cmake и gcc. Естественно делать это просто на тачке - глупо. Завтра я перееду на другой ноут - придется вспоминать все инструкции и процесс инсталяции, что не есть хорошо.
Решение вырисовывается само собой - давайте использовать докер по умолчанию для любого окружения проекта. То есть буквально, новый проект - создаете новый docker контейнер под него.
Какие плюсы из этого есть?
- Реальная изоляция окружения, то есть у вас по умолчанию проекты никогда не будут конфликтовать между собой, вы не забудете поменять env, ведь у каждого проекта он свой, а если и забудете, будет не проблематично откатить его назад.
- Фиксация всех изменений окружения. В dockerfile вы сами прописываете все инструкции того, куда что скачать, как что распаковать и это не забудется, и не придется писать отдельную инструкцию в confluence и любую другую систему вики.
- Легкая переносимость между устройствами - если вы меняете рабочую станцию или просто хотите создать аналогичное окружение на сервере, вы просто пуллите последнюю версию dockerfile и делаете билд
- Прозрачное понимание проблем сборки - если что-то не собралось под вашу платформу, вы не попадаете в патовую ситуацию, что раз уж нет бинарника - вы ничего не можете сделать, вы можете просто прописать свои "правильные" инструкции для сборки под эту платформу.
Я пользуюсь Anaconda достаточно долгое время, примерно с того дня, когда я заинтересовался Data Science как таковым.
Мне его представили как удобный инструмент, чтобы устанавливать библиотеки на рабочую машину.
Я пользовался windows и тогда мне это показалось безумно удобным инструментом, ведь многие пакеты не хотели просто так устанавливаться под виндой.
Шли годы, я оброс бородой и опытом, давно променял windows на более удобные платформы, но по прежнему продолжал пользоваться conda.
Я спрашивал себя - а что есть действительно наилучший способ организации рабочего окружения? Почему я должен отказаться от conda?
Внятного ответа в интернете я найти так и не смог, везде были свои за и против. Кто-то находится в лагере venv, кто-то в virtualenv.
Но недавно мне пришло осознание и я понял как сделать лучше, а самое главное - зачем.
Главная особенность conda заключается в том, что в отличие от pip оно так же поставляет собранные бинарники под любые задачи, то есть вы можете устновить ffmpeg, openblas, openfst и другие вещи прямо из конды, хотя сами эти пакеты могут быть совсем не связаны с питоном. В то же время pip и средства виртуализации venv и ему подобные позволяют вам "изолировать" именно ваше питоновское окружение, это означат, что проблемы с конфликтами бинарных пакетов все еще остаются.
Во многом виртуализация conda меня устраивала, но недавно произошло важное событие - я перешел на macbook m1, соответсвенно архитектура процессора полностью поменялась, больше никаких x86, только arm. И соответсвенно мои попытки скачать какие-то бинарные пакеты из conda не увенчались успехом. Их просто не существует, нет никаких вариантов поставить их от туда. Придется скачивать source code и собирать их самостоятельно с помощью cmake и gcc. Естественно делать это просто на тачке - глупо. Завтра я перееду на другой ноут - придется вспоминать все инструкции и процесс инсталяции, что не есть хорошо.
Решение вырисовывается само собой - давайте использовать докер по умолчанию для любого окружения проекта. То есть буквально, новый проект - создаете новый docker контейнер под него.
Какие плюсы из этого есть?
- Реальная изоляция окружения, то есть у вас по умолчанию проекты никогда не будут конфликтовать между собой, вы не забудете поменять env, ведь у каждого проекта он свой, а если и забудете, будет не проблематично откатить его назад.
- Фиксация всех изменений окружения. В dockerfile вы сами прописываете все инструкции того, куда что скачать, как что распаковать и это не забудется, и не придется писать отдельную инструкцию в confluence и любую другую систему вики.
- Легкая переносимость между устройствами - если вы меняете рабочую станцию или просто хотите создать аналогичное окружение на сервере, вы просто пуллите последнюю версию dockerfile и делаете билд
- Прозрачное понимание проблем сборки - если что-то не собралось под вашу платформу, вы не попадаете в патовую ситуацию, что раз уж нет бинарника - вы ничего не можете сделать, вы можете просто прописать свои "правильные" инструкции для сборки под эту платформу.
This media is not supported in your browser
VIEW IN TELEGRAM
Интересное наблюдение, в парке Ривьера в Сочи есть стенд с информацией об основателе парка и его фотографию анимировали с помощью First Order Model от снепа, с помощью ее же работает приложение Avatarify.
👍1
Кстати, в тиктоке был похожий тренд - оживлять фото умерших родственников. Немного крипово, но такова реальность.
https://vm.tiktok.com/ZSe8ab8XG/
https://vm.tiktok.com/ZSe8ab8XG/
TikTok
This video is unavailable. Visit TikTok to discover more trending videos.
Make Your Day
🔝Курсы в айтишечке💻
Тинькофф запустил забавную штуку. Сервис по сравнению и подбору курсов в АйТи. Обещают только честные отзывы и справедливую оценку.
Жду когда рейтинг XYZ обвалится до 2.0 😬
https://journal.tinkoff.ru/sravnyator/it-courses/
Тинькофф запустил забавную штуку. Сервис по сравнению и подбору курсов в АйТи. Обещают только честные отзывы и справедливую оценку.
Жду когда рейтинг XYZ обвалится до 2.0 😬
https://journal.tinkoff.ru/sravnyator/it-courses/
Сравнятор
Сравнятор: агрегатор отзывов на онлайн-курсы
Отзовик курсов в сфере IT. Выберите онлайн-школу, направление или IT-курс по программированию и почитайте реальные проверенные отзывы учеников об обучении. Сравните курсы и выберите подходящий.
STACK MORE LAYERS
⚡️Yolov5 TensorRT Jetson ☄️ В общем, недавно я купил Nvidia Jetson Nano, это такой маленький компьютер похожий на Raspberry PI, но с маленькой видеокарточкой. В качестве упражнения сделал небольшой проектик, который позволяет без лишней боли портировать Yolov5…
Следите за вашими почтовыми ящиками.
Только что обнаружил на почте письмо, что я со своим репозеторием выиграл соревнование от Ultralytics по экспорту YoloV5 на nvidia jetson.
Ну что сказать, делал я эту бибилиотечку с любовью! Так что если будете юзать джетсон, велкам.
Просили ответить до 18го, а уже 20е 🙂
Надеюсь они еще не передумали
Только что обнаружил на почте письмо, что я со своим репозеторием выиграл соревнование от Ultralytics по экспорту YoloV5 на nvidia jetson.
Ну что сказать, делал я эту бибилиотечку с любовью! Так что если будете юзать джетсон, велкам.
Просили ответить до 18го, а уже 20е 🙂
Надеюсь они еще не передумали
🔥1
🥤Яндекс Кружка🏆
Неожиданно раньше пришли результаты контеста Яндекс Cup по трекам ML. С удивлением обнаружил, что я попал в призовые и получу не только футболку!
Интересные замечания по поводу контеста в этом году. Трек ML в отличие от прошлого года был разбит на категории - рекомендательные системы, компутер вижн, распознавание речи.
Что логичную учитывая то, что область ML развивается и специалисты становятся более нишевыми. Поэтому шанс ухватить приз выше.
Как-то так получается, что в соревнования я зачастую заплетаю за неделю до дедлайна и удивительным образом это позволяет даже иногда попасть в топ.
Я учавствовал в треке распознавания речи. Задачей было определение 37 команд для Алисы в различных шумовых условиях. Причём были очень сложные семплы, где человек далеко не сразу поймёт что было сказано. В целом задача была интересная и в процессе было сделано некоторое количество трюков и хитростей при обучении. Даже пришлось один раз вспомнить математику!
Но одна деталь не даёт мне покоя. Человек, который занял первое место, выбил топ скор буквально на следующий день соревнования. Кажется что без жульничества или ликов здесь не обошлось, т.к. при обучении моделек я видел явный потолок, который можно преодолеть только ансамблированием моделей, а получить топ ансамбль на следующий день - сомнительная перспектива.
Кстати, fun fact. Поскольку я ушёл из большой компании в маленький, но гордый стартап, уже не получается использовать рабочие мощности для соревнований, когда они простаивают, здесь ничего не может простаивать просто так! Поэтому все решения делались только силами Google Colab.
Для тех кто хочет делать так же, советую купить Colab Pro+, он хоть и стоит $50🥴, но в отличие от Про и бесплатной подписки — не гасит машинки, если у вас закрыт браузер, плюс есть не нулевой шанс получить в распоряжение A100 с 40 гб на борту. А для того, чтобы не потерять все ваши метрики и чекпоинты — используйте wandb.ai он очень легко дружит с колабом.
Неожиданно раньше пришли результаты контеста Яндекс Cup по трекам ML. С удивлением обнаружил, что я попал в призовые и получу не только футболку!
Интересные замечания по поводу контеста в этом году. Трек ML в отличие от прошлого года был разбит на категории - рекомендательные системы, компутер вижн, распознавание речи.
Что логичную учитывая то, что область ML развивается и специалисты становятся более нишевыми. Поэтому шанс ухватить приз выше.
Как-то так получается, что в соревнования я зачастую заплетаю за неделю до дедлайна и удивительным образом это позволяет даже иногда попасть в топ.
Я учавствовал в треке распознавания речи. Задачей было определение 37 команд для Алисы в различных шумовых условиях. Причём были очень сложные семплы, где человек далеко не сразу поймёт что было сказано. В целом задача была интересная и в процессе было сделано некоторое количество трюков и хитростей при обучении. Даже пришлось один раз вспомнить математику!
Но одна деталь не даёт мне покоя. Человек, который занял первое место, выбил топ скор буквально на следующий день соревнования. Кажется что без жульничества или ликов здесь не обошлось, т.к. при обучении моделек я видел явный потолок, который можно преодолеть только ансамблированием моделей, а получить топ ансамбль на следующий день - сомнительная перспектива.
Кстати, fun fact. Поскольку я ушёл из большой компании в маленький, но гордый стартап, уже не получается использовать рабочие мощности для соревнований, когда они простаивают, здесь ничего не может простаивать просто так! Поэтому все решения делались только силами Google Colab.
Для тех кто хочет делать так же, советую купить Colab Pro+, он хоть и стоит $50🥴, но в отличие от Про и бесплатной подписки — не гасит машинки, если у вас закрыт браузер, плюс есть не нулевой шанс получить в распоряжение A100 с 40 гб на борту. А для того, чтобы не потерять все ваши метрики и чекпоинты — используйте wandb.ai он очень легко дружит с колабом.
Forwarded from Vladislav Kramarenko
Тогда вот моё первое место по ASR которое не сильно отличается от базового, Так как сильно вырвался вперёд, особо ничего не делал.
Forwarded from Vladislav Kramarenko
Только немного поигрался с одномерными свертками над сырым звуком и более лёгкими двумерными сверки над мелспектрограммами. Хотел ещё прикрутить полноценную распозновалку, но поленился
🎮 Зачем вам Gaming PC 🕹
Зашел на AWS, чтобы завести там машинку для еще одного эксперимента, и решил найти интересующий меня образ для обучения от Nvidia, и с удивлением обнаружил, что Nvidia предоставляет образ для cloud gaming в AWS!
Если вы настоящий гик, вместо того чтобы покупать себе игровой комп, вы просто пишете себе ansible сценарий для автоматической аренды машинки, разворачивания на ней этого образа и установки стима с играми. Вуаля, ваш персональный мощный компуктер готов к использованию.
Зашел на AWS, чтобы завести там машинку для еще одного эксперимента, и решил найти интересующий меня образ для обучения от Nvidia, и с удивлением обнаружил, что Nvidia предоставляет образ для cloud gaming в AWS!
Если вы настоящий гик, вместо того чтобы покупать себе игровой комп, вы просто пишете себе ansible сценарий для автоматической аренды машинки, разворачивания на ней этого образа и установки стима с играми. Вуаля, ваш персональный мощный компуктер готов к использованию.
🕸VSCode WEB👨💻
Не знаю как вы, но я не пользуюсь IDE.
Раньше я не пользовался IDE по причине того, что мой дряхленький ноутбук с алиэкспреса не мог потянуть что-то уровня pycharm, а если даже и запустит, то батарейка испарится в момент. Поэтому я пользовался быстрым и крутым Sublime Text.
Шло время, Sublime не обновлялся, а я потихоньку переходил на Atom. Новый редактор кода от гитхаба. Все в нем было хорошо, кроме скорости, поскольку он был написан на JS + Electron скорость открытия и редактирования больших файлов давала о себе знать.
Но Atom подкупал наличием плагинов на любой вкус.
Позднее после нахваливания vscode я перешел на него, и какой же это все таки отличный инструмент получился! Легкий, быстрый, куча плагинов и умеет в remote доступ куда угодно.
Но кажется мы подходим к новой вехе развития сред разработки, ведь vscode доступен прямо из вашего бразуера по ссылке vscode.dev
Интересный момент заключается в том, что это настоящий редактор, который запускается прямо в браузере, без всяких бекендов. К сожалению пока никакой из моих плагинов не работает -- соответсвенно не могу подключиться к удаленным машинкам. Но уже можно юзать виртуалки на Github Code Space. Кто знает, может мы скоро перейдем с ноутбуков на айпеды.
Не знаю как вы, но я не пользуюсь IDE.
Раньше я не пользовался IDE по причине того, что мой дряхленький ноутбук с алиэкспреса не мог потянуть что-то уровня pycharm, а если даже и запустит, то батарейка испарится в момент. Поэтому я пользовался быстрым и крутым Sublime Text.
Шло время, Sublime не обновлялся, а я потихоньку переходил на Atom. Новый редактор кода от гитхаба. Все в нем было хорошо, кроме скорости, поскольку он был написан на JS + Electron скорость открытия и редактирования больших файлов давала о себе знать.
Но Atom подкупал наличием плагинов на любой вкус.
Позднее после нахваливания vscode я перешел на него, и какой же это все таки отличный инструмент получился! Легкий, быстрый, куча плагинов и умеет в remote доступ куда угодно.
Но кажется мы подходим к новой вехе развития сред разработки, ведь vscode доступен прямо из вашего бразуера по ссылке vscode.dev
Интересный момент заключается в том, что это настоящий редактор, который запускается прямо в браузере, без всяких бекендов. К сожалению пока никакой из моих плагинов не работает -- соответсвенно не могу подключиться к удаленным машинкам. Но уже можно юзать виртуалки на Github Code Space. Кто знает, может мы скоро перейдем с ноутбуков на айпеды.
Почти настоящая IDE на iPad.
Это чем-то напоминает идею тонких клиентов. Если вы знаете или даже помните что такое MSX - это японские учебные компьютеры, которые поставлялись в ссср. Школьники работали за терминалами-клиентами, которые умели только посылать данные и отображать их на экране, а все вычисления происходили на компьютере учителя. Так и программировали.
Это чем-то напоминает идею тонких клиентов. Если вы знаете или даже помните что такое MSX - это японские учебные компьютеры, которые поставлялись в ссср. Школьники работали за терминалами-клиентами, которые умели только посылать данные и отображать их на экране, а все вычисления происходили на компьютере учителя. Так и программировали.
💻 Хочу клавиатуру
Хочу компактную, удобную стильную клавиатуру без излишетсв.
Мне не нравятся геймерские варианты с радужной подсветкой, magic keyboard слишком заезженно.
Хочется такую, чтобы смотря на нее глаз радовался, руки были счастливы и люди интересовались что это за клавиатурка такая.
Может у кого есть интересные варианты?
⌨Хочу компактную, удобную стильную клавиатуру без излишетсв.
Мне не нравятся геймерские варианты с радужной подсветкой, magic keyboard слишком заезженно.
Хочется такую, чтобы смотря на нее глаз радовался, руки были счастливы и люди интересовались что это за клавиатурка такая.
Может у кого есть интересные варианты?
STACK MORE LAYERS
🥤Яндекс Кружка🏆 Неожиданно раньше пришли результаты контеста Яндекс Cup по трекам ML. С удивлением обнаружил, что я попал в призовые и получу не только футболку! Интересные замечания по поводу контеста в этом году. Трек ML в отличие от прошлого года был…
Интересный факт про Яндекс Cup. Оказывается за пятое место ничего не полагается, а спутал я это из-за плохой верстки сайта.
На главной странице показаны призы для первых вторых и так далее мест: https://yandex.ru/cup/
Но это справедливо для всех треков, кроме ml, там призы распределяются только среди первых мест. Что можно узнать, перейдя в эту секцию
https://yandex.ru/cup/ml/
Запутали, так запутали 🤷♂️
На главной странице показаны призы для первых вторых и так далее мест: https://yandex.ru/cup/
Но это справедливо для всех треков, кроме ml, там призы распределяются только среди первых мест. Что можно узнать, перейдя в эту секцию
https://yandex.ru/cup/ml/
Запутали, так запутали 🤷♂️
Yandex Cup — чемпионат по программированию
Попробуйте свои силы в решении нестандартных задач
Есть вещи, про которые разработчики могут говорить вечно, это клавиатуры, тракторы и оптимальное количество мониторов.
Клавиатуру я уже заказал, трактор пока ждет своего часа, а вот с монитором вопрос не решен.
Ultrwide? Изогнутый? С кранштейном или с подставкой?
Расскажите про свой опыт, что лучше взять сейчас
Клавиатуру я уже заказал, трактор пока ждет своего часа, а вот с монитором вопрос не решен.
Ultrwide? Изогнутый? С кранштейном или с подставкой?
Расскажите про свой опыт, что лучше взять сейчас
🚀AI Jorney 💻
Канал на время превратился в доску почета.
Поэтому немного продолжу ее.
🎉 1 Место в треке Code2Code translation на AI Jorney
В этом году Сбер сделал призовой фонд больше чем когда либо.
Я учавствовал в задаче Fusion Brain, где было необходимо обучить мульти-таск модель, которая способна решать сразу несколько задач из разных категорий - NLP, CV, CV+NLP
За первое место можно было получить до 3х млн рублей в зависимости от скора.
Я же, обладая не большим ресурсом времени, решил решать только одну подзадачу - перевод кода из java в python. За первое место подзадаче тоже полагались призы, но поменьше.
Канал на время превратился в доску почета.
Поэтому немного продолжу ее.
🎉 1 Место в треке Code2Code translation на AI Jorney
В этом году Сбер сделал призовой фонд больше чем когда либо.
Я учавствовал в задаче Fusion Brain, где было необходимо обучить мульти-таск модель, которая способна решать сразу несколько задач из разных категорий - NLP, CV, CV+NLP
За первое место можно было получить до 3х млн рублей в зависимости от скора.
Я же, обладая не большим ресурсом времени, решил решать только одну подзадачу - перевод кода из java в python. За первое место подзадаче тоже полагались призы, но поменьше.