ChatCrawlerпоиск по публичному Telegram Открыть приложение
S

SenatorovAI | IT-разработка и консалтинг | Школа Data Science Руслана Сенаторова

сообщение · 2026-07-11 09:36 UTC
М
Я тут немного поностальгировал и решил рассказать вам о своём первом опыте коммерческой разработки. До этого проекта у меня не было вообще никакого коммерческого опыта. Были обучение, учебные задачи, свои небольшие проекты, но одно дело делать что-то для себя, где дедлайн можно перенести, а ошибку никто, кроме тебя, не заметит. И совсем другое — когда есть заказчик, конкретное ТЗ и ответственность за результат. Так у меня появился CarPrediction. Нужно было собрать не менее 10 000 качественных и уникальных фотографий китайских автомобилей, равномерно распределить их по классам, подготовить датасет и обучить модель распознавать 54 модели машин. Вместе с моделью заказчик должен был получить код, веса, конфигурацию, метрики, графики обучения и матрицу ошибок. Когда я впервые прочитал ТЗ, задача выглядела вполне понятной: собрать фотографии, обучить модель, оформить результат. Что тут может пойти не так? Как оказалось, примерно всё. Одних только фотографий требовалось десять тысяч. Мы собирали их с автомобильных площадок, в основном с Auto.ru и «Дрома», немного из Google. Для этого написали парсер, который проходил по списку автомобилей, открывал объявления и сохранял изображения. Но просто скачать картинки недостаточно. Нужно проверить качество, убрать дубли, правильно разложить данные по 54 классам, выровнять количество фотографий и подготовить всё к обучению. Некоторые изображения приходилось обрабатывать отдельно. А ещё нужно было следить, чтобы модель училась именно распознавать автомобили, а не запоминала случайные детали фотографий. Весь проект вели через GitHub: отдельные ветки, коммиты, pull request и ревью. Для меня это тоже было частью первого коммерческого опыта. До этого Git казался просто местом, куда можно загрузить код. Здесь я впервые почувствовал, что это рабочий инструмент команды и что один неудачный коммит может устроить очень весёлый вечер. Так и случилось. В какой-то момент из репозитория пропала часть фотографий. Начали разбираться, смотреть историю изменений и выяснять, на каком этапе данные потерялись. Файлы удалось восстановить через историю Git, но времени и нервов мы на это потратили прилично. Отдельным приключением стало обучение модели. Сначала мы проверяли подход на 16 классах, затем готовили полный датасет на 54 модели. Обучение запускали в Kaggle, с которым я до этого практически не работал. Пришлось на ходу разбираться с окружением, путями к данным, зависимостями и переносом проекта с локальной машины. И вот здесь я хочу отдельно поблагодарить Валентина. Валентин — сеньор в Data Science и Machine Learning. Он не просто сделал свою часть и ушёл. Он объяснял мне, как устроено обучение модели, помогал разбираться с кодом, проверял результаты, отвечал на вопросы и вытаскивал нас из технических проблем. Причём вопросы у меня тогда были буквально обо всём. Работать рядом с сильным специалистом оказалось намного полезнее, чем пытаться самостоятельно угадать правильное решение по статьям и видео. Я видел не готовый ответ, а то, как опытный разработчик рассуждает, проверяет гипотезы и принимает решения. Валентин, спасибо тебе за терпение, помощь и знания, которыми ты со мной делился. В результате мы собрали датасет из 10 000 изображений для 54 моделей китайских автомобилей и обучили модель с Precision 0,91 и Recall 0,91. Подготовили код, веса, графики обучения, таблицы с метриками и матрицу ошибок. Проект сдали. По самой работе правок не получили. Посмотреть результат можно здесь: github.com/SENATOROVAI/CarPrediction Сейчас я смотрю на этот проект совсем иначе. Вижу места, которые можно было сделать быстрее или организовать лучше. Но именно поэтому он для меня важен. Это был момент, когда разработка перестала быть просто обучением и стала настоящей работой: с командой, заказчиком, ошибками, дедлайном и результатом, за который отвечаешь. Первый коммерческий опыт редко начинается со слов: «Я полностью готов». Обычно ты ещё многого не знаешь, но рядом есть люди, которые помогают не утонуть, и реальная задача, которая заставляет быстро расти.
106 ·

Вся лента · оригинал в Telegram

Открыть в Telegram Лента t.me/s Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог