🐍 Хитрая задача на Python для опытных разработчиков
🔹 Уровень: Advanced
🔹 Темы: изменяемые объекты, ссылки, list multiplication, side effects
📌 Условие
Что выведет следующий код?
❓ Вопросы
1. Почему изменяется весь первый столбец, а не только
2. Как работает
3. Как правильно создать независимую матрицу 3×3 из нулей?
🔍 Разбор
✅ Ожидаемый (и удивительный!) вывод:
🔧 Почему так происходит
- Выражение
-
⚠️ Подвох
Это один из самых частых скрытых багов в Python, особенно при создании вложенных списков.
🧠 Решение
Нужно использовать генератор списка, чтобы создать три независимых объекта:
Теперь
📌 Всегда проверяй, создаёшь ли ты уникальные объекты, особенно если работаешь с вложенными структурами.
🔹 Уровень: Advanced
🔹 Темы: изменяемые объекты, ссылки, list multiplication, side effects
📌 Условие
Что выведет следующий код?
matrix = [[0] * 3] * 3
matrix[0][0] = 1
for row in matrix:
print(row)
❓ Вопросы
1. Почему изменяется весь первый столбец, а не только
[0][0]
? 2. Как работает
[[0]*3]*3
и почему это опасно? 3. Как правильно создать независимую матрицу 3×3 из нулей?
🔍 Разбор
✅ Ожидаемый (и удивительный!) вывод:
[1, 0, 0]
[1, 0, 0]
[1, 0, 0]
🔧 Почему так происходит
- Выражение
[[0] * 3] * 3
создаёт три ссылки на один и тот же вложенный список.-
matrix[0][0] = 1
меняет все строки, потому что они указывают на один и тот же объект в памяти.⚠️ Подвох
Это один из самых частых скрытых багов в Python, особенно при создании вложенных списков.
🧠 Решение
Нужно использовать генератор списка, чтобы создать три независимых объекта:
matrix = [[0] * 3 for _ in range(3)]
Теперь
matrix[0][0] = 1
затронет только первую строку:
[1, 0, 0]
[0, 0, 0]
[0, 0, 0]
📌 Всегда проверяй, создаёшь ли ты уникальные объекты, особенно если работаешь с вложенными структурами.
🧠 AI-репетитор: диктовка на слух с проверкой — учим язык с ИИ
Хочешь прокачать английский или французский, как в старой доброй школе — диктантами на слух? Только теперь вместо учителя — нейросеть, которая читает тебе текст клонированным голосом, а потом проверяет, насколько правильно ты всё понял и набрал.
📚 Это идеальный способ:
• тренировать восприятие на слух
• учить грамматику, орфографию и пунктуацию
• делать всё без учителя, когда удобно
🧰 Что умеет скрипт
1. Генерирует аудио по заданному тексту (можно голосом носителя или твоим клонированным)
2. Диктует текст — ты вводишь, что услышал
3. Проверяет результат, выводит ошибки, % совпадения
4. Даёт подробный разбор отличий
🔧 Установка зависимостей
🧪 Пример скрипта
🎯 Расширения, которые можно добавить
• использовать микрофон и распознавание речи (Whisper)
• генерировать несколько уровней сложности
• выводить количество ошибок по категориям: пунктуация, слова, пропуски
• озвучивать ошибки вслух после проверки
• вести личную статистику прогресса по дням
🧠 Зачем это нужно
• идеально для изучающих иностранные языки
• может использоваться как проверка ученика в интерактивной форме
• подойдёт даже для диктовок детям или взрослым
Хочешь прокачать английский или французский, как в старой доброй школе — диктантами на слух? Только теперь вместо учителя — нейросеть, которая читает тебе текст клонированным голосом, а потом проверяет, насколько правильно ты всё понял и набрал.
📚 Это идеальный способ:
• тренировать восприятие на слух
• учить грамматику, орфографию и пунктуацию
• делать всё без учителя, когда удобно
🧰 Что умеет скрипт
1. Генерирует аудио по заданному тексту (можно голосом носителя или твоим клонированным)
2. Диктует текст — ты вводишь, что услышал
3. Проверяет результат, выводит ошибки, % совпадения
4. Даёт подробный разбор отличий
🔧 Установка зависимостей
pip install TTS torchaudio gradio difflib
🧪 Пример скрипта
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts
import difflib
# Инициализация TTS
config = XttsConfig()
model = Xtts.init_from_config(config)
model.load_checkpoint("tts_models/multilingual/multi-dataset/xtts_v2")
# Текст диктанта
text = "Artificial intelligence is transforming education worldwide."
# Генерация речи
speaker_embedding = model.get_speaker_embedding("native_speaker.wav")
audio = model.tts(text, speaker_embedding=speaker_embedding)
model.save_wav(audio, "dictation.wav")
# Пользователь вводит услышанное
user_input = input("Введите, что вы услышали: ")
# Сравнение
diff = difflib.ndiff(text.split(), user_input.split())
print("\n📊 Сравнение:")
print("\n".join(diff))
# Расчёт точности
matcher = difflib.SequenceMatcher(None, text, user_input)
accuracy = matcher.ratio() * 100
print(f"\n✅ Точность: {accuracy:.2f}%")
🎯 Расширения, которые можно добавить
• использовать микрофон и распознавание речи (Whisper)
• генерировать несколько уровней сложности
• выводить количество ошибок по категориям: пунктуация, слова, пропуски
• озвучивать ошибки вслух после проверки
• вести личную статистику прогресса по дням
🧠 Зачем это нужно
• идеально для изучающих иностранные языки
• может использоваться как проверка ученика в интерактивной форме
• подойдёт даже для диктовок детям или взрослым
Forwarded from DevOps Docker
Расширенный_гайд_по_Docker_для_DevOps_специалистов_1_2.pdf
391.1 KB
• как устроен Docker изнутри
• как упаковать любое приложение в контейнер
• как запускать десятки сервисов одной командой
• как дебажить, оптимизировать и защищать контейнеры
• как не сойти с ума с volumes, networks и образами
Сохраняй и делись с коллегами, чтобы не потерять
@DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
Спустя чуть больше двух месяцев, Tencent опубликовала веса и код инференса проекта HunyuanPortrait - системы на основе диффузионных моделей для создания реалистичных анимированных портретов.
На вход подается видео, с которого движения переносятся на целевое изображение для "оживления". Режима "тext-to-motion", судя по всему - нет.
Под капотом - набор моделей на основе SVD, DiNOv2, Arc2Face и YoloFace.
Разработчики уверяют, что инференс заводится на 24 Гб VRAM и их метод лучше контролирует анимацию и делает более плавные переходы между кадрами, чем существующие аналоги.
⚠️ WebUI нет, адаптации под ComfyUI - пока тоже нет.
# Clone repo
git clone https://github.com/Tencent-Hunyuan/HunyuanPortrait
# Install requirements
pip3 install torch torchvision torchaudio
pip3 install -r requirements.txt
# Run
video_path="your_video.mp4"
image_path="your_image.png"
python inference.py \
--config config/hunyuan-portrait.yaml \
--video_path $video_path \
--image_path $image_path
@ai_machinelearning_big_data
#AI #ML #HunyuanPortrait
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Руководство_по_ускорению_и_оптимизации_Python_кода.pdf
264.6 KB
В этом руководстве рассмотрены продвинутые техники оптимизации Python-программ, особенно актуальные для backend-разработки.
Здесь разобрано профилирование, выбор структур данных и алгоритмов, эффективное использование стандартной библиотеки, оптимизацию циклов, применение таких инструментов как Numba/Cython/PyPy, параллелизм и асинхронность, работу с вводом-выводом, кеширование, обработку больших данных, компиляцию/упаковку кода и общие советы по написанию быстрого и поддерживаемого кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создавай технологии, которые меняют рынок 💻
На AIFT учат не просто ИИ. Здесь создают людей, которые меняют финтех.
Магистратура от Сбера, РЭШ и Сколтеха — это экономика, финансы, машинное обучение, цифровой банкинг и реальный опыт.
Что ты получишь ⤵️
— проектную работу со Сбером
— самых сильных экспертов рынка
— доступ к инфраструктуре и карьерным возможностям
— стипендию и сразу два диплома
Поступай, пока набор открыт: до сентября 2025 👌
На AIFT учат не просто ИИ. Здесь создают людей, которые меняют финтех.
Магистратура от Сбера, РЭШ и Сколтеха — это экономика, финансы, машинное обучение, цифровой банкинг и реальный опыт.
Что ты получишь ⤵️
— проектную работу со Сбером
— самых сильных экспертов рынка
— доступ к инфраструктуре и карьерным возможностям
— стипендию и сразу два диплома
Поступай, пока набор открыт: до сентября 2025 👌
🐳 Зачем и как контейнеризировать Python-приложения?
Контейнеризация — не просто модный DevOps-термин. Это способ упаковать твоё Python-приложение так, чтобы оно запускалось одинаково везде — локально, на сервере и в облаке.
🔥 Зачем это нужно:
▪ никакого "у меня работает, а у него — нет"
▪ изолированные зависимости и окружение
▪ быстрый деплой и масштабирование
▪ меньше багов при переносе между средами
📦 Простой Dockerfile для Python:
🧪 Дальше всё просто:
🎯 Добавь .dockerignore, настрой .env, используй docker-compose, а для продакшена — оптимизируй образ под размер и безопасность.
📌 Если твой Python-проект всё ещё живёт в "сыром" виде — пора пересесть на контейнеры.
🔗 Полный гайд:
https://www.kdnuggets.com/why-how-to-containerize-your-existing-python-apps
Контейнеризация — не просто модный DevOps-термин. Это способ упаковать твоё Python-приложение так, чтобы оно запускалось одинаково везде — локально, на сервере и в облаке.
🔥 Зачем это нужно:
▪ никакого "у меня работает, а у него — нет"
▪ изолированные зависимости и окружение
▪ быстрый деплой и масштабирование
▪ меньше багов при переносе между средами
📦 Простой Dockerfile для Python:
FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]
🧪 Дальше всё просто:
docker build -t my-python-app .
docker run -it my-python-app
🎯 Добавь .dockerignore, настрой .env, используй docker-compose, а для продакшена — оптимизируй образ под размер и безопасность.
📌 Если твой Python-проект всё ещё живёт в "сыром" виде — пора пересесть на контейнеры.
🔗 Полный гайд:
https://www.kdnuggets.com/why-how-to-containerize-your-existing-python-apps
Ищете готовые скрипты 💻 на Python ❓
На канале Python_Scripts всегда огромный выбор🚀 :
📍 боты 🤖
📍 парсеры 📁
📍 чекеры 🔍
📍 автоматизация 🔧
📍 многое другое 💻
Подписывайтесь и пользуйтесь❕
👇👇👇 Ссылка на канал : 👇👇👇
https://yangx.top/Py_Script
На канале Python_Scripts всегда огромный выбор
Подписывайтесь и пользуйтесь
👇👇👇 Ссылка на канал : 👇👇👇
https://yangx.top/Py_Script
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 Шпаргалка по Python-профайлингу: как найти узкие места в коде
Разбираем 4 мощных инструмента для анализа производительности и памяти в Python.
🧠 `cProfile` — встроенный профайлер времени
✅ Показывает, сколько времени тратится на каждую функцию
✅ Идеально для быстрого анализа
Форматированный вывод с
Для Jupyter:
🐍
✅ Не требует изменений в коде
✅ Работает с чужими процессами
✅ Без тормозов, можно запускать в проде
👉 Показывает flame graph: удобная визуализация bottleneck-функций.
🔥 `Scalene` — профайлинг CPU, памяти и аллокаций
✅ Отслеживает:
- сколько времени тратит CPU
- где происходят аллокации
- сколько памяти реально используется
👉 Выделяет проблемные строки, показывает выделение памяти по строчкам кода, а не только по функциям.
🧮 `memory_profiler` — анализ использования памяти
✅ Показывает, сколько памяти потребляет каждая строка
✅ Полезен для data science скриптов
Добавь декоратор:
Запуск:
💡 Как выбрать?
Разбираем 4 мощных инструмента для анализа производительности и памяти в Python.
🧠 `cProfile` — встроенный профайлер времени
✅ Показывает, сколько времени тратится на каждую функцию
✅ Идеально для быстрого анализа
python -m cProfile your_script.py
Форматированный вывод с
pstats
:
python -m cProfile -o result.prof your_script.py
python -m pstats result.prof
Для Jupyter:
%load_ext cprofile
%cprofile some_function()
🐍
py-spy
— суперлёгкий sampling-профайлер✅ Не требует изменений в коде
✅ Работает с чужими процессами
✅ Без тормозов, можно запускать в проде
py-spy top --pid <PID>
py-spy record -o profile.svg -- python your_script.py
👉 Показывает flame graph: удобная визуализация bottleneck-функций.
🔥 `Scalene` — профайлинг CPU, памяти и аллокаций
✅ Отслеживает:
- сколько времени тратит CPU
- где происходят аллокации
- сколько памяти реально используется
pip install scalene
scalene your_script.py
👉 Выделяет проблемные строки, показывает выделение памяти по строчкам кода, а не только по функциям.
🧮 `memory_profiler` — анализ использования памяти
✅ Показывает, сколько памяти потребляет каждая строка
✅ Полезен для data science скриптов
pip install memory-profiler
Добавь декоратор:
from memory_profiler import profile
@profile
def my_func():
...
Запуск:
python -m memory_profiler your_script.py
💡 Как выбрать?
| Инструмент | Что профилирует | Подходит для |
|--------------------|----------------------|------------------------------|
| `cProfile` | Время (встроенно) | Быстрый старт, базовый анализ |
| `py-spy` | Время (sampling) | Прод, чужие процессы, flame graphs |
| `Scalene` | Время + память + аллокации | Глубокий анализ по строкам |
| `memory_profiler` | Только память | Data science, отладка RAM |