Обновить
17
Andrey Stepnov@jamm1985

Пользователь

7
Подписчики
Отправить сообщение

Собираем Docker-шаблон для Python с Poetry: шаг за шагом

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели10K

Это Docker-шаблон для Python + Poetry, рассчитанный на реальную работу, а не учебные примеры: воспроизводимое окружение, удобный dev-workflow, отдельные сборки под прод, dev, Jupyter и AI-инструменты.

Автор использует его в основном для DS/ML-задач, где важнее скорость и предсказуемость, чем экономия пары мегабайт образа. Шаблон обкатан в бою, экономит время и легко кастомизируется под свои нужды.

👉 Репозиторий на GitHub:
https://github.com/jamm1985/vim-python-docker-template

Почти каждый Python-проект начинается одинаково: выбрать версию Python, настроить зависимости, виртуальное окружение, переменные среды, команды запуска. На практике самые болезненные места здесь — управление зависимостями и воспроизводимость окружения: разные версии библиотек, несовпадающие Python, локальные костыли, которые сложно повторить на другой машине или сервере.

Docker помогает изолировать окружение, но сам по себе он не решает Python-специфичные задачи. Его нужно правильно наполнить: учесть работу Poetry, кеширование зависимостей, структуру проекта и базовые практики, которые одинаково хорошо работают и в разработке, и в продакшене. Именно такой шаблон мы и будем собирать дальше.

В этой статье мы шаг за шагом соберём базовый Docker-шаблон для Python с Poetry, который удобно использовать и для разработки, и для прода. В основе будет минимальное и воспроизводимое окружение, а всё остальное - Vim как IDE, Jupyter, AI-инструменты вроде Codex или Gemini - вынесено в отдельные образы и слои, которые можно подключать по мере необходимости. Начнём с самого главного - разберём Dockerfile и поймём, как собрать прочную и расширяемую базу для Python-проекта.

Читать далее

Обходим файловый кэш Google Drive в Colab

Время на прочтение2 мин
Охват и читатели11K

Про colab знают, наверное, все. Этот инструмент позволяет независимым исследователям использовать облачную инфраструктуру с GPU и TPU бесплатно или почти бесплатно.

Как всегда, проблемы возникают на больших данных. Если ваш датасэт лежит в google drive (он же Диск), то вы можете обращаться к нему напрямую из colab. Однако, если файл велик, например, 70+ GiB, то процесс обучения будет существенно медленнее, чем если бы этот же файл лежал в локальном хранилище, которое выделяется при создании инстанса.

Выход - скопировать файл с Диска в локальное хранилище (обучение станет быстрее в несколько раз!). Но дело в том, что colab и вся инфраструктура очень умная, файлы с Диска кэшируются каким то неуправляемым вами алгоритмом. И если у вашего инстанса, допустим, доступно ~120 GiB, то 70 GiB с Диска вы не скопируете, у вас закончится свободное место как раз из-за системы кэширования. То есть, команда cp не отработает корректно. И rsync то же. И tar. Кэширование работает на уровне драйвера. По сути файл копируется в локальное хранилище дважды. Шах и мат!

Так что вот вам небольшой костылёк:

Читать далее

Машинное обучение в сейсмологии

Время на прочтение18 мин
Охват и читатели7.8K

Все хотя бы раз слышали про землетрясения. Это опасное природное явление которое может привести к разрушению зданий, возникновению цунами и гибели людей. С помощью составления каталогов землетрясений и анализа сейсмической активности человечество пытается минимизировать риски от наступления сейсмических событий. Основной источник данных в сейсмологии - это непрерывные записи движения грунта, которые регистрируют с помощью сейсмических станций. Для того что бы составить представительный каталог землетрясений необходимо определить времена вступлений сейсмических волн в непрерывном потоке, рассчитать параметры очага и выполнить оценку магнитуды. Каждый этап рутинной обработки сейсмологических данных это предмет отдельной статьи, но мы с вами посмотрим на самое интересное - распознавание сейсмических волн методами машинного обучения. Определение времён вступлений сейсмических волн до сих пор выполняется (или корректируется) операторами-сейсмологами. Автоматизация этой сложной задачи позволит полностью исключить ручной труд при непрерывной обработке данных любой сейсмической сети. При этом, необходима такая модель, которая с одной стороны могла обеспечить точность отметок вступлений на уровне человека, а с другой была эффективна на этапе вывода (эксплуатация на CPU). Возможно ли это? Давайте посмотрим!

Читать далее

Владивосток, оползни и логистическая регрессия

Время на прочтение8 мин
Охват и читатели8.2K

27-28 августа во Владивостоке и Приморском крае произошли массовые оползни. К счастью, обошлось без жертв. Однако, материальные потери оказались существенными: разбитые машины, перекрытые дороги, повреждённые здания и детские площадки. Оползни сошли в момент прохождения циклона с обильными дождями. Мы робко предположили, что "осадки виновны", распаковали методы классической статистики и приступили к исследованию.

Читать далее

Вероятностный анализ сейсмической опасности

Время на прочтение12 мин
Охват и читатели11K
Причиной написания этой статьи стала распространенная рядом СМИ информация о прогнозе «мощнейшего» землетрясения, которое может произойти в ближайшие 30 лет в Японии и на Курилах с вероятностью до 40%. Ссылались журналисты на японских ученых. Нам удалось найти оригинал статьи, откуда, по всей видимости, и взяты сведения. Она была опубликована 20 декабря в Japan News и сейчас находится в платном архиве, но у нас есть замечательный ресурс wayback machine.

Ниже мы постараемся разобрать, о чем же действительно первоисточник, погружаясь в дебри математики и основы вероятностного анализа сейсмической опасности. Если в двух словах, то японские сейсмологи дали не прогноз мега-землетрясения на Курилах, а описали модельные характеристики сейсмических источников, которые учитываются при составлении карт сейсмического районирования со сроком службы зданий и сооружений на ближайшие 30 лет. Попытаемся произвести вычисления. Без суперкомпьютеров…
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Владивосток, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность