Типизация в Python с использованием модуля typing
В Python модуль typing предоставляет возможность добавлять подсказки типов для переменных, функций и классов, что делает код более явным и понятным.
Зачем использовать типизацию?
1. Ясность и понятность кода: Добавление аннотаций типов помогает читателям быстро понять, какие данные ожидаются и какие типы переменных возвращаются из функций.
2. Предотвращение ошибок: Статические анализаторы кода, такие как mypy, могут обнаруживать потенциальные ошибки до выполнения программы, что уменьшает количество багов.
3. Документация кода: Подсказки типов могут служить формой документации, особенно полезной при совместной разработке. Разработчики могут быстро понимать интерфейсы функций и классов.
Пример использования типизации для переменных и функций:
from typing import List, Tuple
def multiply(a: int, b: int) -> int:
return a * b
def process_list(data: List[int]) -> Tuple[int, int]:
sum_values = sum(data)
average = sum_values / len(data)
return sum_values, average
# Пример использования
result1 = multiply(5, 3)# Ожидается int
data_list = [1, 2, 3, 4, 5]
result2 = process_list(data_list)# Ожидается Tuple[int, int]
Здесь a: int и b: int указывают на типы аргументов функции, а -> int и -> Tuple[int, int] - на типы возвращаемых значений. Это помогает читателям кода лучше понимать ожидаемую структуру данных и типы переменных.
Типизация делает ваш код более структурированным, улучшает его читабельность и может служить документацией, облегчая разработку.
#python#typing
6 июня отмечают День русского языка. Это отличный повод вспомнить о творчестве русских поэтов и писателей🤓
Делюсь подборкой материалов, для которых провела работу по анализу текстов, нашла дополнительную фактуру и собрала результаты в единую историю:
1) Песни Виктора Цоя: моя первая подобная инфографика, которую делала еще стажером, недавно освоившим python. Было одновременно страшно и интересно😄
2) Песни Владимира Высоцкого: попыталась уместить все-все интересные факты. Получилось плотно и насыщенно (возможно, слишком)🤔
3) Визуальное и текстовое творчество Вознесенского: благодаря помощи Центра Вознесенкого удалось охватить и сравнить сразу два вида творчества❤️
4) Поэзия Владимира Маяковского: придумалась цветовая кодировка уникальных для периода слов в облаках (уверена, такое уже делали, но раньше не сообразила)☁️
5) Дневики Льва Толстого: пугал объем текстов (целая жизнь!), но все получилось💪
6) Басни Ивана Крылова: пришлось собирать данные вручную (спасибо Крылову, что практически все басни очень короткие). Открыла для себя новый тип визуализации пересечений множеств — UpSet Plot💡
Каждый проект — маленькое личное открытие. Надеюсь, эта коллекция будет и дальше пополняться🤞
#датавиз#инфографика#рабочее#python
👀 Релиз SAM 3.1 - одной из самых сильных open-source моделей для компьютерного зрения.
Модель понимает, что происходит на изображении или видео, и умеет находить объекты по текстовому описанию. Можно буквально написать «человек в красной футболке» и она найдёт нужных людей.
Работает не только с картинками, но и с видео. Объект можно задать один раз, и дальше модель будет отслеживать его между кадрами.
Ключевая идея - open-vocabulary. Модель не ограничена фиксированными классами, как старые системы. Она оперирует огромным количеством понятий и может находить практически любые объекты.
Ещё важный момент можно комбинировать способы управления: текст, клики, рамки, маски. Это даёт гораздо больше контроля и точности.
Под капотом новая архитектура, где отдельно решаются задачи поиска объектов и их отслеживания. За счёт этого модель лучше различает похожие вещи и стабильнее работает на видео.
В репозитории уже есть всё для старта: готовые веса, код, примеры и ноутбуки.
По факту это уже не просто инструмент для разметки, а полноценный vision-движок, который можно встраивать в реальные продукты от аналитики видео до автоматизации разметки данных.
Теперь модель может отслеживать до 16 объектов за один проход.
С multiplexing все объекты обрабатываются одновременно:
• меньше лишних вычислений
• нет узких мест по памяти
Результат: скорость обработки видео увеличивается примерно в 2 раза
с 16 до 32 FPS на одном NVIDIA H100!
На новом бенчмарке SA-CO, который включает 270 тысяч уникальных концептов, SAM 3 достигает 75–80% от уровня человека.
https://github.com/facebookresearch/sam3
@ai_machinelearning_big_data
#ai#ml#llm#cv#python
#вакансия#работа#remote#ds#python👋
Ищем:
DS-разработчик
Что нужно:
Python, pandas, numpy, sklearn, Понимание основ статистики: p-value, дисперсия, и пр., Умение общаться и доносить гипотезы в понятном бизнесу виде, Опыт работы с временными рядами как плюс
Задачи:
Прогнозирование спроса на товары, Работа с временными рядами, Подготовка данных и обучение линейных моделей (проект ~3мес, скорее всего с продлением)
Занятость: проектная
Тип: удаленный
Оплата: по договоренности от 1000р/час
Контакты: @olegvongola
Дополнительно:
Ищем начинающих ML/DS разработчиков на стажировку для задач, связанных с чатботами и файнтюнами.
#вакансия#python#ml#remote#fulltime
Компания: BrainShells;
Позиция: Python/ML разработчик;
Вилка: от 6000$;
Формат: удаленная работа;
Занятость: full-time;
Опыт: от 5 лет.
Мы - команда экспертов по искусственному интеллекту, работаем с фреймворками, решающими различные задачи deep learning: генерации текста, аудио и видео, а также проводим транскрибацию, распознавание объектов на видео, также решаем задачи по обогащению данных: сбор данных из соцсетей, видеохостингов и тд. Мы сфокусированы на решении различных архитектурных задач для этих проектов, а также поддержке и мониторинге работающих решений.
Находимся в поиске senior Python разработчика в нашу команду!
Чем предстоит заниматься:
- Разработка и поддержка программного обеспечения на Python;
- Разработка и реализация инновационных решений для задач ИИ: улучшение используемых алгоритмов, оптимизация производительности;
- Масштабирование существующего решений;
- Разработка и реализация инновационных решений для решения задач.
Требования к кандидату:
- Опыт коммерческой разработки python от 5 лет;
- Опыт в анализе данных / машинном обучении / deep learning;
- Понимание задач искусственного интеллекта;
- Призовые места в соревнованиях Kaggle;
- Высшее образование в области компьютерных технологий / прикладной математики и (или) прикладной информатики;
- Английский язык B2 и выше.
Будет плюсом:
- Знание и опыт работы с одним из языков программирования: Go/C/C++/C#/Java;
- Опыт работы с инструментами автоматизации, такими как Docker;
- Знание и опыт работы с базами данных: redis, postgreSQL, MySQL;
- Опыт логирования и мониторинга программного обеспечения;
- Работа с готовыми моделями текстовыми моделями, например, Hugging face и Open AI API;
- Опыт работы с asyncio, threads, и subprocesses; pytest/unittest; pandas, sklearn; pytorch/tensorflow/keras.
Что мы предлагаем:
- Участие в разработке динамично развивающегося продукта, работающего на рынке в реальном времени;
- Справедливую заработную плату по результатам собеседования и вашей квалификации в вилке от 6000$ и выше;
- Возможность прокачивать свою экспертизу за счет работы с топовыми коллегами и обучения в моменте;
- Классный молодой коллектив профессионалов, заряженных на результат. Ценим порядочность, честность и открытость;
- Возможность реализовывать смелые и амбициозные инициативы;
- Горизонтальную структуру, отсутствие бюрократии и синдромов «больших начальников»;
- Мы за результат, а не процесс. У всех наших сотрудников удобный график и полностью удаленная работа.
Для отклика пишите@valeriayanets
#вакансия#python#ml#remote#fulltime
Компания: BrainShells;
Позиция: Python/ML разработчик;
Вилка: от 4000$-5000$;
Формат: удаленная работа;
Занятость: full-time;
Опыт: от 2 лет.
Мы - команда экспертов по искусственному интеллекту, работаем с фреймворками, решающими различные задачи deep learning: генерации текста, аудио и видео, а также проводим транскрибацию, распознавание объектов на видео, также решаем задачи по обогащению данных: сбор данных из соцсетей, видеохостингов и тд. Мы сфокусированы на решении различных архитектурных задач для этих проектов, а также поддержке и мониторинге работающих решений.
Находимся в поиске Python разработчика в нашу команду!
Чем предстоит заниматься:
- Разработка и поддержка программного обеспечения на Python;
- Анализ внешних фреймворков и исправление программных багов;
- Разработка и реализация инновационных решений для задач ИИ: улучшение используемых алгоритмов, оптимизация производительности;
- Масштабирование существующего решений;
- Разработка и реализация инновационных решений для решения задач.
Требования к кандидату:
- Опыт коммерческой разработки python от 2 лет;
- Опыт в анализе данных / машинном обучении / deep learning;
- Понимание задач искусственного интеллекта;
- Высшее образование в области компьютерных технологий / прикладной математики и (или) прикладной информатики;
- Английский язык B2 и выше.
Будет плюсом:
- Знание и опыт работы с одним из языков программирования: Go/C/C++/C#/Java;
- Опыт работы с инструментами автоматизации, такими как Docker;
- Знание и опыт работы с базами данных: redis, postgreSQL, MySQL;
- Опыт логирования и мониторинга программного обеспечения;
- Работа с готовыми моделями текстовыми моделями, например, Hugging face и Open AI API;
- Опыт работы с asyncio, threads, и subprocesses; pytest/unittest; pandas, sklearn; pytorch/tensorflow/keras.
Что мы предлагаем:
- Участие в разработке динамично развивающегося продукта, работающего на рынке в реальном времени;
- Справедливую заработную плату по результатам собеседования и вашей квалификации в вилке от 4000$-5000$;
- Возможность прокачивать свою экспертизу за счет работы с топовыми коллегами и обучения в моменте;
- Классный молодой коллектив профессионалов, заряженных на результат. Ценим порядочность, честность и открытость;
- Возможность реализовывать смелые и амбициозные инициативы;
- Горизонтальную структуру, отсутствие бюрократии и синдромов «больших начальников»;
- Мы за результат, а не процесс. У всех наших сотрудников удобный график и полностью удаленная работа.
Для отклика пишите @valeriayanets
#удаленка#backend#python
Привет. Я владелец продукта в компании Гринатом (компания входит в Росатом) и мне в отдел очень нужны Backend-middle/senior'ы. В данный момент мы разрабатываем собственное OCR-решение, направленное на автоматизацию документопотока как внутри всего Росатома, так и для внешних клиентов. Решение разрабатывается под серьезную нагрузку (до 40 тысяч документов в час) и под разные цели, начиная от распознавания паспортов и заканчивая сложными, неструктурированными документами. В центре продукта лежит собственная сетка по распознаванию, которая уже делает на 70% меньше ошибок, чем Tesseract V5.
🧠 Обязанности:
• Разработка системы OCR с использованием open source решений (backend);
• Написание высоконагруженных приложений и микросервисов на Python;
• Участие в разработке уже имеющихся приложений в составе команды Data Science;
• Взаимодействие с аналитиками, DataScience-специалистами;
• Участие в принятии архитектурных решений по проекту;
• Поддержка и развитие созданных решений;
• Написание unit-тестов на pytest.
🧠 Требования:
• Опыт разработки серверных приложений – от 2-х лет;
• Уверенное знание Python 3+, SQL;
• Знание фреймворков FastAPI/Flask;
• Знание базовых алгоритмов и структур данных;
• Опыт разработки нагруженных отказоустойчивых систем;
• Умение работать с серверной инфраструктурой: Nginx, Docker и т.п.
• Опыт работы с базами данных: PostgreSQL, MongoDB, Redis;
• Опыт работы с RabbitMQ;
• Опыт работы с объектным хранилищем: s3, Minio;
• Опыт работы с GIT, знание CI/CD;
• Опыт работы с Linux.
🧠 Будет большим плюсом:
• Опыт работы с OCR системами;
• Опыт интеграционных и системных тестов;
• Опыт работы с высоконагруженными системами
🧠 Будет плюсом:
• Понимание микросервисной архитектуры;
• Знание методологии Scrum;
• Опыт работы с Open Project;
• Опыт тестирования клиент-серверных запросов;
• Опыт наставничества и codereview.
✍️Да, мы «госуха», но у нас нет проблем ни с выездом заграницу, ни с оплатой труда. Работаем полностью удаленно, поэтому в офис можешь не ходить или работать хоть из тайги. Есть классный ДМС и разные отсрочки.
✍️В отделе уже более 50 человек: бэки, фронты, ds, аналитики, разметчики, дизайнеры и много кто еще. С большими проектами работаем по скраму. С малыми в более упрощенном режиме.
💵Оклад: 150-350 на руки + до 1 млн. рублей годовой бонус
Писать: @MoveSlowAttackFaster или [email protected]