⁉️Машинное обучение кажется чем-то сложным и недосягаемым? Всё проще, чем вы думаете!
Первый шаг — разобраться, как устроен ML-процесс и научиться работать в Jupyter Notebook — инструменте, с которого начинают все специалисты в Data Science.
На открытом уроке вы шаг за шагом поймёте, как строится путь от данных до модели. Научитесь запускать эксперименты в Jupyter Notebook и Google Colab, работать с виртуальными окружениями и не бояться “сломать” систему. Всё — в формате простых и наглядных примеров.
После урока вы сможете уверенно начать свой первый ML-проект и поймёте, какие инструменты нужны, чтобы перейти от теории к практике.
➡️ 13 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Machine Learning. Basic». Регистрируйтесь и сделайте первый шаг в машинное обучение без страха и путаницы:т https://otus.pw/cARZ/?erid=2W5zFGrhViQ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Первый шаг — разобраться, как устроен ML-процесс и научиться работать в Jupyter Notebook — инструменте, с которого начинают все специалисты в Data Science.
На открытом уроке вы шаг за шагом поймёте, как строится путь от данных до модели. Научитесь запускать эксперименты в Jupyter Notebook и Google Colab, работать с виртуальными окружениями и не бояться “сломать” систему. Всё — в формате простых и наглядных примеров.
После урока вы сможете уверенно начать свой первый ML-проект и поймёте, какие инструменты нужны, чтобы перейти от теории к практике.
➡️ 13 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Machine Learning. Basic». Регистрируйтесь и сделайте первый шаг в машинное обучение без страха и путаницы:т https://otus.pw/cARZ/?erid=2W5zFGrhViQ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤2
⚡️ Хитрая задача на Python: кратчайший подмассив с суммой ≥ K (O(n))
Задача. Дан массив
Подвох. С отрицательными числами не работает двухуказательную. Решение — префиксные суммы + монотонная дека.
Идея.
Пусть
Храним индексы
- Пока текущий
- Пока
- Затем добавляем
Сложность: каждый индекс заходит/вылетает из деки по разу →
Короткая реализация
Почему это работает?
Если у нас есть два индекса j1 < j2 и P[j1] ≥ P[j2], то j1 никогда не даст более короткого валидного подмассива, чем j2, — его можно выбросить (инвариант монотонной деки).
Задача. Дан массив
A (могут быть отрицательные) и K. Найти минимальную длину подмассива с суммой ≥ K. Если нет — вернуть -1.Подвох. С отрицательными числами не работает двухуказательную. Решение — префиксные суммы + монотонная дека.
Идея.
Пусть
P[i] — префиксная сумма до i. Нам нужно минимизировать i - j при условии P[i] - P[j] ≥ K. Храним индексы
j в деке так, что значения P[j] строго возрастают:- Пока текущий
P[i] − P[deque[0]] ≥ K — обновляем ответ и выкидываем голову (нашли короткий кандидат).- Пока
P[i] ≤ P[deque[-1]] — выкидываем хвост (бессмысленные, более «жирные» префиксы).- Затем добавляем
i.Сложность: каждый индекс заходит/вылетает из деки по разу →
O(n).Короткая реализация
from collections import deque
from math import inf
from typing import List
def shortest_subarray_at_least_k(A: List[int], K: int) -> int:
P = [0]
for x in A: P.append(P[-1] + x)
dq, ans = deque(), inf # dq хранит индексы префиксов, их суммы возрастают
for i, s in enumerate(P):
while dq and s - P[dq[0]] >= K:
ans = min(ans, i - dq.popleft())
while dq and P[dq[-1]] >= s:
dq.pop()
dq.append(i)
return -1 if ans is inf else ans
# Примеры
if __name__ == "__main__":
print(shortest_subarray_at_least_k([2, -1, 2], 3)) # 3 (весь массив)
print(shortest_subarray_at_least_k([1, 2, 3, 4], 6)) # 2 (3+3 нет, но 2+4 или 3+4 длина 2)
print(shortest_subarray_at_least_k([84, -37, 32, 40, 95], 167)) # 3
Почему это работает?
Если у нас есть два индекса j1 < j2 и P[j1] ≥ P[j2], то j1 никогда не даст более короткого валидного подмассива, чем j2, — его можно выбросить (инвариант монотонной деки).
❤3
Не пропусти МТС True Tech Champ — масштабный фестиваль 21 ноября для тех, кто живет технологиями 🔥
Тебя ждут:
▫️ Конференция с международными спикерами. Эксперты расскажут о трендах в ИИ и инновациях в индустрии.
▫️ ИТ-качалка. Наращивай экспертизу на воркшопах.
▫️ Шоу-финал ИТ-чемпионата. Более 250 талантов со всей России сразятся в лайв-кодинге и программировании роботов на скоростное прохождение лабиринтов со спецэффектами. Выбирай и болей за фаворитов.
▫️ Айтивности. Тебя ждут бои роботов, кодерские челленджи, пайка плат и не только. Заработай True Coins и обменяй их на стильный мерч.
▫️ HR-Hub. Команда МТС расскажет о возможностях для развития в компании и поможет перезагрузить карьерный трек.
▫️ Афтепати со звездными хэдлайнерами. Зажги под популярные хиты.
Когда: 21 ноября, МТС Live Холл в Москве и онлайн.
Регистрируйся на сайте. Участие бесплатно, количество мест ограничено.
Тебя ждут:
▫️ Конференция с международными спикерами. Эксперты расскажут о трендах в ИИ и инновациях в индустрии.
▫️ ИТ-качалка. Наращивай экспертизу на воркшопах.
▫️ Шоу-финал ИТ-чемпионата. Более 250 талантов со всей России сразятся в лайв-кодинге и программировании роботов на скоростное прохождение лабиринтов со спецэффектами. Выбирай и болей за фаворитов.
▫️ Айтивности. Тебя ждут бои роботов, кодерские челленджи, пайка плат и не только. Заработай True Coins и обменяй их на стильный мерч.
▫️ HR-Hub. Команда МТС расскажет о возможностях для развития в компании и поможет перезагрузить карьерный трек.
▫️ Афтепати со звездными хэдлайнерами. Зажги под популярные хиты.
Когда: 21 ноября, МТС Live Холл в Москве и онлайн.
Регистрируйся на сайте. Участие бесплатно, количество мест ограничено.
🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Возможности Python реально впечатляют 😱
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23🥱7🕊2🥴1
🧠 DeepSeek-OCR: Оптимизация оптического распознавания текста
DeepSeek-OCR — это модель для исследования роли визуальных энкодеров в контексте LLM. Она предлагает новые подходы к сжатию визуального текста и поддерживает различные режимы разрешения. Идеально подходит для задач OCR и обработки документов.
🚀Основные моменты:
- Модель для оптического распознавания текста.
- Поддержка нескольких режимов разрешения.
- Интеграция с Hugging Face для удобного использования.
- Исследование сжатия визуального текста.
📌 GitHub: https://github.com/deepseek-ai/DeepSeek-OCR
#python
DeepSeek-OCR — это модель для исследования роли визуальных энкодеров в контексте LLM. Она предлагает новые подходы к сжатию визуального текста и поддерживает различные режимы разрешения. Идеально подходит для задач OCR и обработки документов.
🚀Основные моменты:
- Модель для оптического распознавания текста.
- Поддержка нескольких режимов разрешения.
- Интеграция с Hugging Face для удобного использования.
- Исследование сжатия визуального текста.
📌 GitHub: https://github.com/deepseek-ai/DeepSeek-OCR
#python
GitHub
GitHub - deepseek-ai/DeepSeek-OCR: Contexts Optical Compression
Contexts Optical Compression. Contribute to deepseek-ai/DeepSeek-OCR development by creating an account on GitHub.
👍2
Уже завтра(11 ноября) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👎1😁1
git init - создаёт новый Git-репозиторий в текущей папке (начинает контроль версий).
git add - запоминает изменения, подготавливая их для сохранения.
git commit - сохраняет подготовленные изменения с твоим комментарием (например, «починил баг» или «добавил кнопку»).
git push - отправляет сделанные коммиты в облачный (удалённый) репозиторий, чтобы их видели другие.
git pull - забирает последние изменения из облака и добавляет их в твою рабочую версию (автоматически объединяет).
git remote - помогает управлять ссылками на удалённые репозитории (добавлять новые или смотреть, какие уже подключены).
git branch - показывает существующие ветки, создаёт новые и позволяет переключаться между ними (чтобы работать параллельно с разными версиями кода).
git fetch - скачивает последние изменения из облака, но не объединяет их с текущим кодом (можно посмотреть заранее, что изменилось).
git checkout - переключает твою рабочую папку на другую ветку или на конкретный коммит (например, для тестирования).
git merge - объединяет изменения из одной ветки с текущей веткой (сливает их воедино).
git status - показывает, какие файлы были изменены, какие готовы к коммиту, а какие ещё нет (текущее состояние проекта).
git reset - позволяет вернуться назад по истории кода, отменив изменения до конкретного коммита (например, если что-то пошло не так).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1