⁉️Машинное обучение кажется чем-то сложным и недосягаемым? Всё проще, чем вы думаете!
Первый шаг — разобраться, как устроен 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
This media is not supported in your browser
VIEW IN TELEGRAM
Возможности Python реально впечатляют 😱
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26🥱9🕊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❤1
Уже завтра(11 ноября) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👎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
👍11❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Эффективное тестирование Python-кода
Продвинутый совет: тестируй Python-код эффективно, используя связку pytest плюс фикстуры плюс правильное тестирование через hypothesis.
Сначала проверяй основные сценарии, потом добавляй окружение через фикстуры (файлы, БД, mock API), а затем включай генерацию случайных входов — так ты поймаешь скрытые баги, не переписывая километры тестов.
Подписывайся, больше фишек каждый день !
Продвинутый совет: тестируй Python-код эффективно, используя связку pytest плюс фикстуры плюс правильное тестирование через hypothesis.
Сначала проверяй основные сценарии, потом добавляй окружение через фикстуры (файлы, БД, mock API), а затем включай генерацию случайных входов — так ты поймаешь скрытые баги, не переписывая километры тестов.
Подписывайся, больше фишек каждый день !
from hypothesis import given, strategies as st
Базовый юнит-тест
def test_add():
assert add(2, 3) == 5
Фикстура окружения (временный файл)
@pytest.fixture
def temp_file(tmp_path):
p = tmp_path / "data.txt"
p.write_text("42")
return p
def test_read_data(temp_file):
assert read_data(temp_file) == 42
Property-based тест
@given(st.integers(), st.integers())
def test_add_random(a, b):
assert add(a, b) == a + b
Запуск только упавших тестов (быстрый цикл разработки):
# pytest --lf
❤5👍1🔥1
🔥 Подборка полезных ресурсов для программистов.
Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Devops: t.iss.one/DevOPSitsec
Собеседования DS: t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg
Физика: t.iss.one/fizmat
💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://t.iss.one/addlist/w4Doot-XBG4xNzYy
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
Сохрани себе, чтобы не потерять!
Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Devops: t.iss.one/DevOPSitsec
Собеседования DS: t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg
Физика: t.iss.one/fizmat
💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://t.iss.one/addlist/w4Doot-XBG4xNzYy
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
Сохрани себе, чтобы не потерять!
🔥2👍1
Media is too big
VIEW IN TELEGRAM
🚀 Пул интерпретаторов в Python 3.14
Что появилось:
- В Python 3.14 добавили *пул интерпретаторов* — теперь в одном процессе можно запускать несколько независимых интерпретаторов.
- Это шаг к более безопасным, масштабируемым и изолированным системам на Python.
Зачем это нужно:
- Снижает зависимость от тяжёлых процессов — можно управлять несколькими интерпретаторами внутри одного процесса.
- Повышает отказоустойчивость: сбой одного интерпретатора не падает весь процесс.
- Открывает возможность частично обходить ограничения GIL, используя параллельность на уровне нескольких интерпретаторов.
Главные плюсы:
- Лучшая изоляция выполнения.
- Больше возможностей для масштабирования внутри одного процесса.
- Архитектурно Python становится ближе к моделям с lightweight-виртуальными машинами.
Главные минусы:
- Каждый интерпретатор требует своё адресное пространство → больший расход памяти.
- Увеличивается время инициализации в сравнении с потоками.
- Не во всех сценариях заменяет multiprocessing или threading.
Пул интерпретаторов - фундаментальное изменение, которое позволит по-новому строить высоконагруженные и безопасные Python-приложения, но потребует переосмысления архитектуры и учёта повышенного расхода ресурсов.
https://www.youtube.com/watch?v=Jd0MOM1dlfI
Что появилось:
- В Python 3.14 добавили *пул интерпретаторов* — теперь в одном процессе можно запускать несколько независимых интерпретаторов.
- Это шаг к более безопасным, масштабируемым и изолированным системам на Python.
Зачем это нужно:
- Снижает зависимость от тяжёлых процессов — можно управлять несколькими интерпретаторами внутри одного процесса.
- Повышает отказоустойчивость: сбой одного интерпретатора не падает весь процесс.
- Открывает возможность частично обходить ограничения GIL, используя параллельность на уровне нескольких интерпретаторов.
Главные плюсы:
- Лучшая изоляция выполнения.
- Больше возможностей для масштабирования внутри одного процесса.
- Архитектурно Python становится ближе к моделям с lightweight-виртуальными машинами.
Главные минусы:
- Каждый интерпретатор требует своё адресное пространство → больший расход памяти.
- Увеличивается время инициализации в сравнении с потоками.
- Не во всех сценариях заменяет multiprocessing или threading.
Пул интерпретаторов - фундаментальное изменение, которое позволит по-новому строить высоконагруженные и безопасные Python-приложения, но потребует переосмысления архитектуры и учёта повышенного расхода ресурсов.
https://www.youtube.com/watch?v=Jd0MOM1dlfI
❤2👍1🔥1
Добавь AI в свой Python-проект за 7 недель
На Stepik вышел курс «LangChain: с нуля до продакшн LLM приложений»:
✅ RAG-поиск по документам (FAQ-бот, база знаний)
✅ Агенты для анализа данных (CSV, JSON через Pandas)
✅ API на FastAPI с LLM под капотом
Не нужно становиться ML-инженером — интегрируешь LLM как обычный сервис.
Практика • Код из коробки • Сертификат Stepik
Скидка 25% — 3 дня 🔥
Пройти курс со скидкой
На Stepik вышел курс «LangChain: с нуля до продакшн LLM приложений»:
✅ RAG-поиск по документам (FAQ-бот, база знаний)
✅ Агенты для анализа данных (CSV, JSON через Pandas)
✅ API на FastAPI с LLM под капотом
Не нужно становиться ML-инженером — интегрируешь LLM как обычный сервис.
Практика • Код из коробки • Сертификат Stepik
Скидка 25% — 3 дня 🔥
Пройти курс со скидкой
👎3❤1🥴1🖕1
🚀 VibeThinker: Новый стандарт в моделях с малым количеством параметров
Это 1.5B модель, которая демонстрирует выдающиеся способности в решении математических задач, соперничая с гораздо более крупными моделями. Используя инновационную методику постобучения, она достигает результатов, сопоставимых с открытыми моделями, такими как GPT OSS-20B Medium, при значительно меньших затратах.
🚀Основные моменты:
- Эффективность: 1.5B параметров, производительность на уровне 1000B+ моделей.
- Инновационная методология: "Spectrum-to-Signal Principle" для улучшения разнообразия выходных данных.
- Выдающиеся результаты: Превосходит модели, в 10-600 раз большие.
- Экономичность: Разработка модели стоит всего $7,800 против сотен тысяч для конкурентов.
📌 GitHub: https://github.com/WeiboAI/VibeThinker
#python
Это 1.5B модель, которая демонстрирует выдающиеся способности в решении математических задач, соперничая с гораздо более крупными моделями. Используя инновационную методику постобучения, она достигает результатов, сопоставимых с открытыми моделями, такими как GPT OSS-20B Medium, при значительно меньших затратах.
🚀Основные моменты:
- Эффективность: 1.5B параметров, производительность на уровне 1000B+ моделей.
- Инновационная методология: "Spectrum-to-Signal Principle" для улучшения разнообразия выходных данных.
- Выдающиеся результаты: Превосходит модели, в 10-600 раз большие.
- Экономичность: Разработка модели стоит всего $7,800 против сотен тысяч для конкурентов.
📌 GitHub: https://github.com/WeiboAI/VibeThinker
#python
❤5👍2