В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость.
Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных.
Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора.
!!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты.
________________________________________
Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации.
Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн.
К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд.
На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру.
Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится.
Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего.
#dev
https://github.com/riga/tfdeploy
Google's TensorFlow framework is taking off big-time now that it's at a full 1.0 release. One common question about it: How can I make use of the models I train in TensorFlow without using TensorFlow itself?
#Tfdeploy is a partial answer to that question. It exports a trained TensorFlow model to "a simple #NumPy-based callable," meaning the model can be used in Python with Tfdeploy and the the NumPy math-and-stats library as the only dependencies. Most of the operations you can perform in TensorFlow can also be performed in Tfdeploy, and you can extend the behaviors of the library by way of standard Python metaphors (such as overloading a class).
Now the bad news: Tfdeploy doesn't support GPU acceleration, if only because NumPy doesn't do that. Tfdeploy's creator suggests using the gNumPy project as a possible replacement.
#Machine_learning
5 ta eng mashhur Python kutubxonasi
Python dasturlash tili kuchli kutubxonalar bilan mashhur. Quyida eng ommabop va keng qo‘llaniladigan 5 ta Python kutubxonasi bilan tanishing.
🔹1. TensorFlow –🔗Rasmiy sayt
– Google va Brain jamoasi tomonidan ishlab chiqilgan mashinaviy o‘rganish (ML) kutubxonasi.
– Katta hajmdagi ma’lumotlar bilan ishlash va neyron tarmoqlarni yaratish imkonini beradi.
🔹2. Keras –🔗Rasmiy sayt
– Mashinaviy o‘rganish uchun eng qulay va kuchli kutubxonalardan biri.
– Neyron tarmoqlarni yaratish va o‘qitish uchun sodda API taqdim etadi.
🔹3. NumPy – 🔗Rasmiy sayt
– Sonli hisob-kitoblar va massivlar bilan ishlash uchun ishlatiladi.
– TensorFlow va boshqa ML kutubxonalari NumPy’dan foydalanadi.
🔹4. Scikit-learn –🔗Rasmiy sayt
– Ma’lumotlarni tahlil qilish va mashinaviy o‘rganish uchun eng mashhur kutubxonalardan biri.
– NumPy va SciPy asosida yaratilgan.
🔹5. Django –🔗Rasmiy sayt
– Veb-saytlar yaratishni tezlashtiradigan kuchli Python kutubxonasi.
– Kamroq kod bilan ko‘proq ish bajarish imkonini beradi.
🚀Qaysi kutubxonadan foydalanasiz? Izohlarda fikringizni qoldiring!
#Python#Django#MachineLearning#Numpy
💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida!
https://github.com/pytorch/pytorch
#PyTorch doesn't only port #Torch to Python, but adds many other conveniences, such as #GPU acceleration and a library that allows multiprocessing to be done with shared memory (for partitioning jobs across multiple cores). Best of all, it can provide GPU-powered replacements for some of the unaccelerated functions in #NumPy.
#machine_learning
http://scikit-learn.org/stable/
scikit-learn
#Machine#Learning in Python
Simple and efficient tools for data mining and data analysis
Accessible to everybody, and reusable in various contexts
Built on #NumPy, #SciPy, and #matplotlib
Open source, commercially usable - BSD license
http://scitools.org.uk/cartopy/docs/latest/index.html
Cartopy is a Python package designed to make drawing maps for data analysis and visualisation as easy as possible.
#Cartopy makes use of the powerful #PROJ.4, #numpy and #shapely libraries and has a simple and intuitive drawing interface to #matplotlib for creating publication quality maps.
Some of the key features of cartopy are:
object oriented projection definitions
point, line, vector, polygon and image transformations between projections
integration to expose advanced mapping in matplotlib with a simple and intuitive interface
powerful vector data handling by integrating shapefile reading with Shapely capabilities
#вакансия#ml#cv#pytorch#numpy#opencv#SOTA#DL#удалённо
Senior ML Engineer (Computer Vision)
от 450 000 ₽ на руки
Требуемый опыт работы: 3–6 лет
Полная занятость, удаленная работа
Мы в Gradient ищем талантливого и опытного ML инженера для создания новых передовых технологий и улучшения текущих пайплайнов обработки фото и видео для приложений Gradient и Persona.
Gradient — мобильное приложение для редактирования фото и видео:
- Самое скачиваемое приложение в мире за месяц в 2019, 2020 годах
- Best of 2019 среди приложений по мнению Apple
Persona — передовой бьюти фото и видео редактор с уникальными технологиями обработки селфи
Совокупно наша аудитория составляет больше 100 миллионов пользователей
Наш идеальный кандидат:
- Имеет опыт работы в качестве ML Engineer или CV Engineer от 3 лет
- Идеально знает Pytorch, numpy, opencv
- Прекрасно разбирается во фреймворках для деплоя под mobile и server (CoreML, TFlite, torchscript)
- Имеет опыт обучения production ready GAN моделей
- Знает основные SOTA Computer Vision статьи и имеет практический опыт в их реализации
- Обладает отличным математическим бэкграундом - линейная алгебра, теория вероятностей, мат. анализ
- Активно следит за статьями с профильных конференций по Deep Learning: CVPR, NIPS, ICML, ICLR, ECCV, ICCV и может извлекать из них ключевые идеи.
Будет плюсом, если:
- Вы работали с задачами в области face beautification
- У вас есть публикации на arxiv или популярные github репозитории
Отправить резюме и задать вопросы по вакансии можно @axcher
http://devarea.com/machine-learning-with-python-introduction/#.Whs6iCehU8o
#Machine_Learning With Python – Introduction
#Numpy is package for multi dimension arrays – very effective implementation
#Scipy – package for scientific programming , mathematics , signal processing and more
#Pandas – package for data handling
#Matplotlib – package for data visualization (graphs)
#Seaborn – extend Matplotlib with statistical graphs
#Scikits – many extensions to spicy for specific fields like x-ray, image processing , deep learning and many more
#вакансия#ml#cv#ComputerVision#pytorch#numpy#opencv#SOTA#DL#удалённо#fulltime
Вакансия: Python Developer (Computer Vision)
Компания: Megainsight
Полная занятость, удаленная работа
Зарплатная вилка: от 3000 usd
Megainsight — динамично развивающаяся команда специалистов, создающая продукт для оптимизации и увеличения LTV клиентов в торговых сетях. Наше решение SAAS включает в себя технологии машинного обучения и компьютерного зрения, которые позволяют розничным сетям расширять и поддерживать базу данных лояльных клиентов, а также оптимизировать маркетинговые кампании.
Основные задачи:
Мы разрабатываем систему рекомендаций на основе видеопотоков в реальном времени с различными алгоритмами обнаружения и распознавания для анализа поведения покупателей в розничной торговле.
- Вам необходимо быстро погрузиться в текущий этап проекта системы видеоаналитики и взяться за реализацию блока бизнес-логики – обработки и синхронизации событий на основе видеоданных;
- Мы ожидаем от кандидата решения задач по интеграции бизнес-логики с блоком компьютерного зрения, а также участия в решении задач детекции и трекинга объектов;
- Осуществлять проектирование и внедрение сервисов, их взаимодействие;
- Проектирование архитектуры и серверной реализации решения;
Требования:
- Опыт коммерческой разработки на Python от 5 лет в качестве CV Engineer/ML Engineer;
- Опыт в разработке и реализации проектов в области компьютерного зрения от сбора данных до внедрения в продакшен;
- Опыт настройки межсервисного взаимодействия, знание механизмов синхронизации, multithreading, multiprocessing;
- Уверенные знания фреймворков для решения задач компьютерного зрения (Pytorch/Keras/Tensorflow, opencv, numpy), хорошая математическая подготовка;
- Опыт работы с PostgreSQL, ClickHouse;
- Опыт работы с Linux, Docker and Git/Gitlab;
- Английский – чтение технической литературы и научных статей;
- Способность прогнозировать и балансировать долгосрочное стратегическое проектирование и краткосрочные тактические решения;
- Самоорганизованность и инициативность, опыт оформления проведенных экспериментов и результатов работы.
Будет преимуществом:
- Знакомство с Triton, ClearML/MLFlow, K8s
- Опыт мониторинга сервисов, а также оценки качества работы моделей в продакшен-среде
Контакты для связи: [email protected]
#вакансия#ml#rl#python#numpy#pandas#pytorch#jax#mlflow#rllib
О НАШЕМ ПРОЕКТЕ
Мы работаем над системой управления доходами (RMS). Наши клиенты - российские авиакомпании.
Приглашаем в команду Data scientist для разработки и обучения RL-агента для управления доходами авиаперевозчика на уровне рынка.
Основной стек: Python, PyTorch/JAX, NumPy/Pandas, MLFlow/Weights & Biases, приветствуются RLlib/Acme/Stable-Baselines.
🧑💻Чем предстоит заниматься:
🖊постановка формальной задачи RL: определение пространств состояний/действий/вознаграждения, ограничений и KPI;
🖊разработка и валидация симулятора рыночной среды на основе исторических данных (реакции спроса, сезонность, шоки);
🖊исследование и внедрение алгоритмов RL/IL (value-based, policy-gradient, actor-critic, off-policy/offline RL);
🖊экспериментальный дизайн: off-policy оценка, А/В в симуляторе, подготовка к онлайн-экспериментам;
🖊инструменты качества: стабильность обучения, воспроизводимость, мониторинг метрик (reward, RM KPI, робастность к шокам);
🖊 взаимодействие с продуктом/инженерией: требования, передача моделей в прод, контроль деградаций.
🧑💻Что ожидаем:
🖊сильная подготовка в RL/оптимизации/статистике (магистр/кандидат или сопоставимый опыт);
🖊практике в PyTorch/JAX; опыт построения и отладки сложных обручающих циклов;
🖊 желателен опыт causal inference/ контрафактической оценки;
🖊будет плюсом: временные ряды, эконометрика спроса, ценовые эксперименты;
🖊умение формализовать задачу и защитимо сравнивать политики.
🧑💻Мы предлагаем:
- СТАБИЛЬНОСТЬ: оформление и оклад в соответствии с ТК РФ (гпх, фриланс - невозможны);
- БЕЗОПАСНОСТЬ: работа в аккредитованной IT-компании, отсрочка и т.д;
- УДАЛЕННУЮ РАБОТУ: график работы 5/2 по МСК в интервале 09-18.00 -/+2 часа (гибкое начало рабочего дня с учетом планирования общих коммуникаций);
- РАЗВИТИЕ: современный стек, наставничество в первый месяц работы, карьерный рост;
- процессы без бюрократии, политика «открытых дверей» руководства.
📝 Ждём ваши резюме
89287653141, тг @MariP_rnd
https://pypi.python.org/pypi/numpy
#NumPy is a general-purpose #array-processing package designed to efficiently manipulate large #multi-dimensional arrays of arbitrary records without sacrificing too much speed for small multi-dimensional #arrays. NumPy is built on the #Numeric code base and adds features introduced by #numarray as well as an extended #C-API and the ability to create arrays of arbitrary type which also makes NumPy suitable for interfacing with general-purpose #data-base applications.
Мы – компания Sense Machine - лидеры на российском рынке нейробиологических исследований. Изучаем эмоциональный отклик на рекламные ролики, ТВ контент, прототипы приложений и многое другое, вплоть до дизайна интерьера банков с использованием собственной facial coding платформы. Являемся сердцем крупнейшей в Европе UX - лаборатории Альфа – банка и работаем с самыми большими клиентами российского рынка, такими как Альфа-банк, МТС, Danone, Ozon, Мail.ru, Lamoda, Самокат, Sokolov
Компания представляет из себя команду людей, по-настоящему увлечённых наукой и её технической интерпретацией, которая делает уникальный продукт, меняющий представление о познании и востребованный самыми крупными игроками. Этот продукт показывает рост в одном из наиболее востребованных сегментов современного наукоёмкого бизнеса - нейробиологических исследованиях, которые до 2024 года по оценке Gartner будут применяться в 50% всех маркетинговых тестов.
Мы строим настоящий двигатель того, как будут совершаться открытия о человеческом восприятии в ближайшее время и уверены, что талантливые и открытые знаниям люди – это то, что нам нужно на этом пути
На данном этапе, мы в поиске профессионального Lead Data Scientist в нашу драйвовую команду.
Требования к кандидату:
- Высшее профильное образование (инженерное или математическое)
- Опыт коммерческой разработки в области DS/ML на Python
- Наличие успешных коммерческих проектов или проектов в эксплуатации
- Опыт поддержки и развития продуктов находящихся в эксплуатации
- Уверенные знания и опыт работы с #Python для анализа данных, включая основные библиотеки ( #numpy, #scipy, #pandas, #Scikit-learn)
- Опыт работы с технологиями Face Detection, Face Analyze, Computer Vision.
- Опыт работы с #Tensorflow / #PyTorch / #OpenVINO
- Умение разбираться в чужом коде
- Опыт постановки задач
Желательно:
- Опыт работы с #SQL
- Опыт работы с Apache Spark ( #Pyspark / Scala, #Spark SQL)
- Знание #Docker
Ваши обязанности:
• Рефакторинг существующей системы
• Создание улучшенного решения на основании текущего
• Постановка и контроль выполнения задач
• Построение процессов тестирования решений на базе технологий обработки видео с помощью нейросетевых моделей
• Разработка алгоритмов преобразования данных
• Организация процессов разработки и руководство командой ML-специалистов
• Взаимодействие с командой аналитики и разработки инфраструктуры
• Контроль исполнения задач
Что предлагаем мы:
- Работа в команде разработчиков, сердцем которой является data science. - Большое количество очень интересных гипотез, которые основаны на современных научных теориях и большой простор в их проверке, освоение которого будет поддержано профессиональными и увлечёнными коллегами
- Амбициозные задачи, масштабные проекты и возможность создать по-настоящему уникальный продукт, который сможет быть стандартом индустрии.
- Большую продуктовую команду мечты – все ребята ладят с методами изучения данных и ходят не с проблемами, но с предложениями
- Всю нужную инфраструктуру и поддержку в экспериментах
Участие в работе крупнейшей в Европе ux лаборатории
- Оплата обучения и тренингов для вашего профессионального роста
- Белая заработная плата.
- Фиксированный, достойный оклад от 300 до 500 k ( обсуждаем на собеседовании)
- Возможность работать удаленно
Уютный "pet-frendly" офис, в 2-минутах от метро Парк Культуры (да, можно приносить/приводить с собой пушистых любимцев)
- Официальное трудоустройство с первого рабочего дня, полное соблюдение ТК РФ
- Отсутствие строгого дресс-кода и бюрократии, открытость и лояльность руководства, общение на - "ты"
Мы всегда готовы принять в команду талантливых и перспективных сотрудников, готовых стать частью нашей классной команды и делать мир рекламы лучше с помощью нашей платформы. В свою очередь мы готовы делится своим опытом, экспертностью, всячески направлять и поддерживать
Откликайтесь или отправляйте свое резюме:
https://t.me/hr_sensemachine
почта- [email protected]
Просьба в письме указывать желаемый уровень заработной платы!