Роадмап по AI Engineering, которому реально могут следовать новички. Всё построено на 100% бесплатных, опенсорс и комьюнити-ресурсах
Все ресурсы можно найти здесь: GitHub
👉 @PythonPortal
Все ресурсы можно найти здесь: GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Не программируй больше в одиночку в VS Code. Это расширение добавит питомцев прямо в твой редактор
Забираем здесь. GitHub тут
👉 @PythonPortal
Забираем здесь. GitHub тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤66🔥15😁8💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Чёрт, не верится, что этот инструмент бесплатный и с открытым исходником 🤯
Идеальный конвертер файлов: без ограничений по размеру, без рекламы и полностью open source.
- Конвертирует изображения, видео, документы и многое другое
- Быстрый и простой в использовании
- Поддерживает кучу форматов
- Без регистрации и прочей ерунды
Обязательная штука для разработчиков, дизайнеров, контент-мейкеров, короче, для всех, кто работает с файлами :)
👉 @PythonPortal
Идеальный конвертер файлов: без ограничений по размеру, без рекламы и полностью open source.
- Конвертирует изображения, видео, документы и многое другое
- Быстрый и простой в использовании
- Поддерживает кучу форматов
- Без регистрации и прочей ерунды
Обязательная штука для разработчиков, дизайнеров, контент-мейкеров, короче, для всех, кто работает с файлами :)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥13🏆6❤3
Совет по Python:
Кортежи - неизменяемые, то есть их нельзя менять.
Точнее говоря, сам кортеж - его длина и ссылки на объекты не могут изменяться.
Но если внутри кортежа лежит ссылка на изменяемый объект, этот объект можно менять.
👉 @PythonPortal
Кортежи - неизменяемые, то есть их нельзя менять.
Точнее говоря, сам кортеж - его длина и ссылки на объекты не могут изменяться.
Но если внутри кортежа лежит ссылка на изменяемый объект, этот объект можно менять.
>>> a = (10, ["S","u","m","m","e" ,"r"], "abc")
>>> a[1] = ["S","u","m","m","e" ,"r", "Mode"]
TypeError: 'tuple' object does not support item assignment
>>> a[1].append("Mode")
>>> a
(10, ['S', 'u', 'm', 'm', 'e', 'r', 'Mode'], 'abc')
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤15🤯2
This media is not supported in your browser
VIEW IN TELEGRAM
Stack Overflow не умер, он делает мощный камбэк
Да, наш любимый Stack Overflow, где мы все когда-то искали ответы на «почему не работает мой код», снова в игре. Они запустили Stack Overflow AI
На первый взгляд это может напоминать ChatGPT или другие AI-инструменты, но ключевое отличие в том, что он работает на базе огромной базы знаний разработчиков, которую Stack Overflow собирал годами
Похоже, Stack Overflow снова нашёл способ быть незаменимым.🩷
👉 @PythonPortal
Да, наш любимый Stack Overflow, где мы все когда-то искали ответы на «почему не работает мой код», снова в игре. Они запустили Stack Overflow AI
На первый взгляд это может напоминать ChatGPT или другие AI-инструменты, но ключевое отличие в том, что он работает на базе огромной базы знаний разработчиков, которую Stack Overflow собирал годами
Похоже, Stack Overflow снова нашёл способ быть незаменимым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84❤25🔥10😁2👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Художник показал эволюцию глубокого обучения в честь Нобелевской премии Джеффри Хинтона
В сети появилась анимация “Evolution of Deep Learning by Hand” - творческая работа, посвящённая ключевым идеям, которые Джеффри Хинтон внёс в развитие глубокого обучения. Автор вручную нарисовал эволюцию концепций, лежащих в основе современных нейросетей, в знак признания вклада Хинтона, недавно удостоенного Нобелевской премии.
👉 @PythonPortal
В сети появилась анимация “Evolution of Deep Learning by Hand” - творческая работа, посвящённая ключевым идеям, которые Джеффри Хинтон внёс в развитие глубокого обучения. Автор вручную нарисовал эволюцию концепций, лежащих в основе современных нейросетей, в знак признания вклада Хинтона, недавно удостоенного Нобелевской премии.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍7
Media is too big
VIEW IN TELEGRAM
Разработчик представил собственный open-source клон NotebookLM, который способен обрабатывать мультимодальные данные, собирать знания из разных источников и даже генерировать подкасты.
По словам автора, цель проекта не повторить оригинал, а разобраться, как работают современные инструменты для обучения и исследований, реализовав их шаг за шагом.
Функциональность впечатляет:
- обработка текста, аудио, видео, ссылок и роликов с YouTube;
- создание единой базы знаний и поиск по ней через RAG;
- система памяти, запоминающая диалоги и предпочтения пользователя;
- генерация подкастов с помощью локальной модели синтеза речи.
Весь проект полностью открытый и доступен на GitHub, а сборка работает локально, без облачных зависимостей.
👉 @PythonPortal
По словам автора, цель проекта не повторить оригинал, а разобраться, как работают современные инструменты для обучения и исследований, реализовав их шаг за шагом.
Функциональность впечатляет:
- обработка текста, аудио, видео, ссылок и роликов с YouTube;
- создание единой базы знаний и поиск по ней через RAG;
- система памяти, запоминающая диалоги и предпочтения пользователя;
- генерация подкастов с помощью локальной модели синтеза речи.
Весь проект полностью открытый и доступен на GitHub, а сборка работает локально, без облачных зависимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤7🌭3🤔2
Как работать с requirements.txt и не запутаться в зависимостях
Когда Python-проект разрастается, в нём появляется десятки библиотек. Чтобы не ставить их вручную и не ломать окружение, используется файл requirements.txt - список всех зависимостей проекта.
Чтобы сохранить список установленных библиотек, достаточно одной команды:
Она выгрузит все текущие пакеты и их версии в requirements.txt.
Чтобы развернуть проект на другой машине или сервере, выполняем:
Все нужные пакеты установятся автоматически — с нужными версиями.
В requirements.txt можно указывать версии библиотек по-разному:
И не забывай: комментарии начинаются с #.
Если проект большой то можно разбить зависимости:
Так ты отделишь продакшен-зависимости от тех, что нужны только для разработки.
Чтобы зафиксировать версии пакетов без прямого указания в основном файле, можно использовать constraints.txt:
Пример:
requirements.txt:
constraints.txt:
Для разных задач - свои зависимости:
Пример:
Чтобы подтянуть свежие версии библиотек:
Всегда изолируй зависимости:
👉 @PythonPortal
Когда Python-проект разрастается, в нём появляется десятки библиотек. Чтобы не ставить их вручную и не ломать окружение, используется файл requirements.txt - список всех зависимостей проекта.
Чтобы сохранить список установленных библиотек, достаточно одной команды:
pip freeze > requirements.txt
Она выгрузит все текущие пакеты и их версии в requirements.txt.
Чтобы развернуть проект на другой машине или сервере, выполняем:
pip install -r requirements.txt
Все нужные пакеты установятся автоматически — с нужными версиями.
В requirements.txt можно указывать версии библиотек по-разному:
numpy==1.21.0 # строгая версия
pandas>=1.3.0 # версия не ниже указанной
requests # установится последняя
И не забывай: комментарии начинаются с #.
# Основные зависимости
numpy==1.21.0
pandas>=1.3.0
# Для тестов
pytest
Если проект большой то можно разбить зависимости:
# requirements.txt
-r base.txt
-r dev.txt
Так ты отделишь продакшен-зависимости от тех, что нужны только для разработки.
Чтобы зафиксировать версии пакетов без прямого указания в основном файле, можно использовать constraints.txt:
pip install -r requirements.txt -c constraints.txt
Пример:
requirements.txt:
numpy==1.21.0
pandas
constraints.txt:
pandas<=1.3.5
Для разных задач - свои зависимости:
requirements-dev.txt # разработка
requirements-test.txt # тесты
requirements-prod.txt # продакшен
Пример:
pip install -r requirements-dev.txt
Чтобы подтянуть свежие версии библиотек:
pip install --upgrade -r requirements.txt
Всегда изолируй зависимости:
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍13🔥11💊1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤34🤔16🔥9👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Python митап от Авито 27 октября в Москве! ☄
Вечером 27 октября вас ждут в офисе на Лесной, чтобы обсудить:
➡ кейс оптимизации GC в Python от Саши Федосеева, backend-инженера из команды Main Page Tech Авито;
➡ как mypy укрощает Python в большой компании вместе с Сергеем Яхницким из Яндекса.
После докладов, как и сказали выше, вместе с участниками спикеры обсудят, подходит ли Python для запуска больших нагруженных решений в формате круглого стола.
Для тех, кто не успевает вырваться из офиса или дома, будет онлайн-трансляция.
Так что не откладывайте, регистрируйтесь и зовите коллег — все подробности по ссылке
Вечером 27 октября вас ждут в офисе на Лесной, чтобы обсудить:
После докладов, как и сказали выше, вместе с участниками спикеры обсудят, подходит ли Python для запуска больших нагруженных решений в формате круглого стола.
Для тех, кто не успевает вырваться из офиса или дома, будет онлайн-трансляция.
Так что не откладывайте, регистрируйтесь и зовите коллег — все подробности по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатный курс от MIT для начинающих по основам компьютерных наук. В этих классических лекциях разбираются такие концепции, как дизайн языков программирования, абстракция и рекурсия: https://bit.ly/46zVDEy
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍3
Вот трюк для оптимизации нейросетки, который даёт примерно 4x ускорение при передаче данных с CPU на GPU.
Представим задачу классификации изображений.
Определяем модель, загружаем и преобразуем данные.
В цикле обучения передаём данные на GPU и тренируем сеть.
В чём проблема:
Если заглянуть в профайлер,
- большая часть ресурсов уходит на ядро (то есть на само обучение),
- но заметное время тратится и на передачу данных с CPU на GPU (cudaMemcpyAsync).
Сократить это просто.
Изначально датасет состоит из пикселей в виде 8-битных целых чисел. Мы преобразуем их в 32-битные float’ы.
А потом именно эти float-тензоры гоняем на GPU. В итоге данных стало в 4 раза больше, а значит, и передача тяжелее.
Решение:
Сдвинуть шаг преобразования после передачи. То есть сначала передаём 8-битные int’ы, а уже на GPU конвертируем их в float.
В результате шаг передачи данных заметно ускорится.
Конечно, это работает не везде, например, в NLP мы изначально имеем дело с float-эмбеддингами.
Но в случаях, где это применимо, ускорение получается очень ощутимым.
👉 @PythonPortal
Представим задачу классификации изображений.
Определяем модель, загружаем и преобразуем данные.
В цикле обучения передаём данные на GPU и тренируем сеть.
В чём проблема:
Если заглянуть в профайлер,
- большая часть ресурсов уходит на ядро (то есть на само обучение),
- но заметное время тратится и на передачу данных с CPU на GPU (cudaMemcpyAsync).
Сократить это просто.
Изначально датасет состоит из пикселей в виде 8-битных целых чисел. Мы преобразуем их в 32-битные float’ы.
А потом именно эти float-тензоры гоняем на GPU. В итоге данных стало в 4 раза больше, а значит, и передача тяжелее.
Решение:
Сдвинуть шаг преобразования после передачи. То есть сначала передаём 8-битные int’ы, а уже на GPU конвертируем их в float.
В результате шаг передачи данных заметно ускорится.
Конечно, это работает не везде, например, в NLP мы изначально имеем дело с float-эмбеддингами.
Но в случаях, где это применимо, ускорение получается очень ощутимым.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30
Please open Telegram to view this post
VIEW IN TELEGRAM
😁63🤣40❤5🔥3👀2
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатная халява в Steam
Забираем Upload Labs — симулятор программиста, где тебе предстоит спасти Вселенную от тепловой смерти, создав идеальную компьютерную систему.🤣
Готовься к настоящему испытанию мозга, ведь придётся писать код, оптимизировать ресурсы и заставлять всё работать как часы.
Забираем: стим
👉 @PythonPortal
Забираем Upload Labs — симулятор программиста, где тебе предстоит спасти Вселенную от тепловой смерти, создав идеальную компьютерную систему.
Готовься к настоящему испытанию мозга, ведь придётся писать код, оптимизировать ресурсы и заставлять всё работать как часы.
Забираем: стим
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31🔥2🤯1💊1
Совет по чистому коду в Python:
Избегай наивных datetime-объектов — всегда используй те, что учитывают часовой пояс.
Работай с ними в UTC, а пользователю показывай только в его локальной таймзоне.
👉 @PythonPortal
Избегай наивных datetime-объектов — всегда используй те, что учитывают часовой пояс.
Работай с ними в UTC, а пользователю показывай только в его локальной таймзоне.
import datetime
from zoneinfo import ZoneInfo
# BAD
now = datetime.datetime.now()
print(now.isoformat())
# 2025-10-21T15:03:07.332217
# GOOD
now = datetime.datetime.now(tz=ZoneInfo("UTC"))
print(now.isoformat())
# 2025-10-21T12:04:22.573590+00:00
print(now.astimezone().isoformat())
# 2025-10-21T15:04:22.573590+03:00
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
This media is not supported in your browser
VIEW IN TELEGRAM
Один One Day Offer вам или целых три — всем? 😉
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
❤5👍2
Media is too big
VIEW IN TELEGRAM
OpenAI выпустила Atlas новый браузер с искусственным интеллектом, который умеет запоминать контекст и работает в Agent Mode.
Что известно:
Atlas полностью интегрирован с ChatGPT и использует ChatGPT Search под капотом.
В Agent Mode браузер может сам ходить по сайтам, кликать, искать и выполнять действия.
Можно открывать неограниченное число вкладок с агентами — каждый живёт своей жизнью и решает отдельные задачи.
Atlas уже доступен для пользователей Free, Plus, Pro, Go и Business по всему миру.
Пользователи Enterprise и Education могут получить доступ к бете, если админ включит её. Также в разработке версии для Windows, iOS и Android.
Скачать можно на chatgpt.com/atlas
Надеемся, что пользователи Windows скоро тоже смогут оценить этот новый браузер в деле.😎
👉 @PythonPortal
Что известно:
Atlas полностью интегрирован с ChatGPT и использует ChatGPT Search под капотом.
В Agent Mode браузер может сам ходить по сайтам, кликать, искать и выполнять действия.
Можно открывать неограниченное число вкладок с агентами — каждый живёт своей жизнью и решает отдельные задачи.
Atlas уже доступен для пользователей Free, Plus, Pro, Go и Business по всему миру.
Пользователи Enterprise и Education могут получить доступ к бете, если админ включит её. Также в разработке версии для Windows, iOS и Android.
Скачать можно на chatgpt.com/atlas
Надеемся, что пользователи Windows скоро тоже смогут оценить этот новый браузер в деле.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2💊2