🤖 OpenTrack: Открытая система трекинга движений
OpenTrack — это кодовая база для трекинга движений гуманоидов, использующая MuJoCo для симуляции и поддерживающая многопроцессорное обучение. Проект ориентирован на исследование и разработку в области робототехники.
🚀 Основные моменты:
- Открытый исходный код для трекинга движений
- Поддержка многопроцессорного обучения
- Использует MuJoCo для симуляции
- Реализует различные сценарии обучения
📌 GitHub: https://github.com/GalaxyGeneralRobotics/OpenTrack
OpenTrack — это кодовая база для трекинга движений гуманоидов, использующая MuJoCo для симуляции и поддерживающая многопроцессорное обучение. Проект ориентирован на исследование и разработку в области робототехники.
🚀 Основные моменты:
- Открытый исходный код для трекинга движений
- Поддержка многопроцессорного обучения
- Использует MuJoCo для симуляции
- Реализует различные сценарии обучения
📌 GitHub: https://github.com/GalaxyGeneralRobotics/OpenTrack
❤9🔥5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Python трюк: безопасное завершение потоков через флаг события
Многие просто
Многие просто
daemon=True ставят и надеются, что всё само завершится. Но это ломает контроль и может привести к утечкам. Проще и надёжнее — использовать общий Event, чтобы уведомлять потоки о завершении.
import threading
import time
stop_event = threading.Event()
def worker():
while not stop_event.is_set():
print("Работаю...")
time.sleep(0.3)
print("Останавливаюсь корректно.")
thread = threading.Thread(target=worker)
thread.start()
time.sleep(1.2)
stop_event.set() # посылаем сигнал остановки
thread.join()
print("Все потоки завершены корректно.")
❤17👍4🔥3😁3
⚡️ Pytest markers: ускоряем разработку и тестирование
Когда проект растёт — часть тестов становится медленной (ML-тренировка, GPU-инференс, интеграционные проверки).
Pytest позволяет помечать такие тесты и запускать только нужные группы.
В примере:
-
-
-
Команды:
# Запустить только быстрые
pytest -m fast
# Запустить всё, кроме slow
pytest -m "not slow"
Идеально, когда нужно:
- быстро прогнать код перед пушем
- запускать тяжёлые тесты по расписанию/в CI
- разделить ML-тесты по ресурсам (CPU/GPU)
Используйте маркеры — и ваша разработка станет быстрее и чище 🧪⚙️
#pytest #python #testing #mlengineering #unittesting #devtools
Когда проект растёт — часть тестов становится медленной (ML-тренировка, GPU-инференс, интеграционные проверки).
Pytest позволяет помечать такие тесты и запускать только нужные группы.
В примере:
-
@pytest.mark.fast — быстрые юнит-тесты-
@pytest.mark.slow — долгие тесты (например, обучение модели)-
@pytest.mark.gpu — тесты, требующие GPUКоманды:
# Запустить только быстрые
pytest -m fast
# Запустить всё, кроме slow
pytest -m "not slow"
Идеально, когда нужно:
- быстро прогнать код перед пушем
- запускать тяжёлые тесты по расписанию/в CI
- разделить ML-тесты по ресурсам (CPU/GPU)
Используйте маркеры — и ваша разработка станет быстрее и чище 🧪⚙️
#pytest #python #testing #mlengineering #unittesting #devtools
👍8❤5🔥4
Изучили базу по Python и не знаете, как кодить еще лучше?
✅ Пройдите бесплатный курс по настройке инструментов Python в Академии Selectel.
Рассказываем, что изучать после основ и как не зациклиться на типовых навыках на старте. В программе курса:
🔸 освоим Python-инструменты для упрощения работы с кодом: SonarLint, Myry и другие;
🔸 протестируем библиотеку Tkinter, чтобы создавать приложения с графическим интерфейсом;
🔸 расскажем, как парсить данные с веб-сайтов и закрепить полученные знания на практике.
Все материалы бесплатные. Проходите курс в комфортном темпе в Академии Selectel: https://slc.tl/xc1nq
Реклама. АО "Селектел". erid:2W5zFG6QH36
✅ Пройдите бесплатный курс по настройке инструментов Python в Академии Selectel.
Рассказываем, что изучать после основ и как не зациклиться на типовых навыках на старте. В программе курса:
🔸 освоим Python-инструменты для упрощения работы с кодом: SonarLint, Myry и другие;
🔸 протестируем библиотеку Tkinter, чтобы создавать приложения с графическим интерфейсом;
🔸 расскажем, как парсить данные с веб-сайтов и закрепить полученные знания на практике.
Все материалы бесплатные. Проходите курс в комфортном темпе в Академии Selectel: https://slc.tl/xc1nq
Реклама. АО "Селектел". erid:2W5zFG6QH36
❤6😱1😢1
🧠 Дискретные диффузионные модели для генерации текста
Репозиторий предлагает аннотированную реализацию модели дискретной диффузии для генерации текста, основанную на архитектуре "baby GPT" от Андрея Карпаты. Используя подход денойзинга, модель восстанавливает и генерирует текст, обучаясь на примерах, таких как произведения Шекспира.
🚀 Основные моменты:
- Обучение на текстах с использованием дискретных диффузионных моделей.
- Параллельная генерация токенов вместо последовательной.
- Включает математическую основу и адаптацию существующих архитектур.
- Применение к различным наборам данных и настройкам модели.
📌 GitHub: https://github.com/ash80/diffusion-gpt
#python
Репозиторий предлагает аннотированную реализацию модели дискретной диффузии для генерации текста, основанную на архитектуре "baby GPT" от Андрея Карпаты. Используя подход денойзинга, модель восстанавливает и генерирует текст, обучаясь на примерах, таких как произведения Шекспира.
🚀 Основные моменты:
- Обучение на текстах с использованием дискретных диффузионных моделей.
- Параллельная генерация токенов вместо последовательной.
- Включает математическую основу и адаптацию существующих архитектур.
- Применение к различным наборам данных и настройкам модели.
📌 GitHub: https://github.com/ash80/diffusion-gpt
#python
❤4👍3🔥2
⁉️Машинное обучение кажется чем-то сложным и недосягаемым? Всё проще, чем вы думаете!
Первый шаг — разобраться, как устроен ML-процесс и научиться работать в Jupyter Notebook — инструменте, с которого начинают все специалисты в Data Science.
На открытом уроке вы шаг за шагом поймёте, как строится путь от данных до модели. Научитесь запускать эксперименты в Jupyter Notebook и Google Colab, работать с виртуальными окружениями и не бояться “сломать” систему. Всё — в формате простых и наглядных примеров.
После урока вы сможете уверенно начать свой первый ML-проект и поймёте, какие инструменты нужны, чтобы перейти от теории к практике.
➡️ 13 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Machine Learning. Basic». Регистрируйтесь и сделайте первый шаг в машинное обучение без страха и путаницы:т https://otus.pw/sLZ2/?erid=2W5zFGojX9i
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Первый шаг — разобраться, как устроен ML-процесс и научиться работать в Jupyter Notebook — инструменте, с которого начинают все специалисты в Data Science.
На открытом уроке вы шаг за шагом поймёте, как строится путь от данных до модели. Научитесь запускать эксперименты в Jupyter Notebook и Google Colab, работать с виртуальными окружениями и не бояться “сломать” систему. Всё — в формате простых и наглядных примеров.
После урока вы сможете уверенно начать свой первый ML-проект и поймёте, какие инструменты нужны, чтобы перейти от теории к практике.
➡️ 13 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Machine Learning. Basic». Регистрируйтесь и сделайте первый шаг в машинное обучение без страха и путаницы:т https://otus.pw/sLZ2/?erid=2W5zFGojX9i
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Тестируй Python-код не «на ощупь», а через три уровня.
Сначала юнит-тесты для базовой логики, затем фикстуры для реального окружения (файлы, БД, HTTP-моки), и сверху — hypothesis для автоматического поиска скрытых багов.
Так тесты будут короткими, а покрытие и надёжность — максимальными.
Сначала юнит-тесты для базовой логики, затем фикстуры для реального окружения (файлы, БД, HTTP-моки), и сверху — hypothesis для автоматического поиска скрытых багов.
Так тесты будут короткими, а покрытие и надёжность — максимальными.
import pytest
from hypothesis import given, strategies as st
# 1) Простой юнит-тест
def test_add():
assert add(2, 3) == 5
2) Фикстура для окружения (временный файл)
@pytest.fixture
def temp_file(tmp_path):
file_path = tmp_path / "data.txt"
file_path.write_text("42")
return file_path
def test_read_data(temp_file):
assert read_data(temp_file) == 42
3) Property-based тест (генерация случайных входных данных)
@given(st.integers(), st.integers())
def test_add_random(a, b):
assert add(a, b) == a + b
Быстрый запуск только упавших тестов:
pytest --lf
🔥17❤4👍2😱1