Python академия
Открыть в Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Больше7 182
Подписчики
-224 часа
-107 дней
-3930 день
Архив постов
7 182
UserList
UserList — это похожий на список контейнерный тип данных, который является классом-оболочкой для списков.
Синтаксис будет следующим: collections.UserList([list]).
Вы передаете обычный список в качестве аргумента userlist. Этот список хранится в атрибуте ‘data’ и доступен через метод UserList.data.
Подписывайтесь на канал 👉@pythonofff
7 182
🧐Как при помощи CBV создать приложение в декларативном стиле и сократить время на разработку?
👉Узнайте СЕГОДНЯ, 16.09 в 20:00 мск на бесплатном вебинаре онлайн-курса «Python Developer. Professional» - «Django Class Based Views»: регистрация
На занятии посмотрим на использование CBV для создания веб-приложений. CBV позволяют создать представления, не написав ни строчки бизнес-логики, так как всё генерируются автоматически!
Вебинар будет полезен для тех, кто уже знаком с Python и хочет начать разрабатывать веб-приложения, либо уже пробовал другие фреймворки: Flask, FastAPI.
После прохождения вебинара вы сможете легко и быстро создавать свои представления на основе классов в Django за несколько строчек кода.
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
7 182
Углубляемся в Итератор
Итератор нужен для доступа к объектам без раскрытия внутреннего предоставления.
Существует два вида итераторов: внешний,внутренний.
Внешний итератор — когда процессом обхода управляет клиент, с помощью магического метода __next__.
Внутренний итератор — принимает callback функции и уведомляет клиента о получение следующего элемента.
Сам итератор это объект, который возвращает свои элементы по одному разу. В Python это любой объект у которого есть магический метод __next__. Метод возвращает следующий элемент, если он существует, в другом случаи вернет StopIteration.
Так-же у каждого итератора должна быть метод __iter__, он возвращает сам итератор.
Интерфейса итератора состоит из first,next,current.
first — возвращает итератор к началу агрегата,что-то вроде reset.
next — переходит на следующий элемент агрегата, в случаи если нет следующего элемента, то будет StopIteration.
current — возвращает текущий элемент.
Подписывайтесь на канал 👉@pythonofff
7 182
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
7 182
Зачем использовать namedtuple вместо обычного словаря
Основным преимуществом namedtuple является то, что он занимает меньше места (памяти), чем аналогичный словарь.
Поэтому, в случае больших данных именованные кортежи эффективны.
Выполняя приведенный выше код, вы обнаружите, что namedtuple имеет размер 64 байта, тогда как словарь занимает гораздо больше — 240 байт. Это почти в 4 раза больше памяти.
Подписывайтесь на канал 👉@pythonofff
7 182
Станьте AI-разработчиком на Python и зарабатывайте от 150.000₽ в месяц 🔥🔥🔥
Мы научим вас создавать и тренировать нейронные сети, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тыс. ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тыс. ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
На интенсиве будет много практики: создадим 9 нейросетей за 1 вечер:
🧬 Оценка выброса CO2 по параметрам машины
🧬 Сегментация изображения для робота доставщика
🧬 Трекинг людей на видео
🧬 Распознавание речи
и другие
Ведущий интенсива - Senior AI-разработчик и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайшую среду. Вы узнаете, как освоить самую востребованную профессию!
7 182
Чтение аудио-файлов в массив numpy
Одним из основных действий в начале аудиоанализа конечно же является чтение аудио-файла и выгрузка его звукового временного ряда в виде массива numpy. Для этих целей хорошо подходит модуль scipy.io.wavfile, входящий в состав библиотеки scipy и предоставляющий функции для чтения и записи wav файлов.
Для чтения используем функцию read, которая возвращает частоту дискретизации и массив numpy со значениями звукового давления для каждого кадра. Т.к. файлы формата wav могут состоять из одного(моно) либо из двух(стерео) каналов, то и массив numpy будет, соответственно, являться одномерным либо двумерным (по подмассиву на каждый канал).
В качестве примера также добавили построение в matplotlib графика сигнала по полученным значениям.
Подписывайтесь на канал 👉@pythonofff
7 182
Альтернативный способ создания namedtuple
В качестве альтернативы вы можете передать список, состоящий из имен полей, вместо просто имен полей, разделенных пробелом.
Доступ к элементам в namedtuple возможен как по индексу, так и по идентификатору.
Подписывайтесь на канал 👉@pythonofff
7 182
Работа с датасетами
Datasets — легкая и расширяемая библиотека для обмена и доступа к наборам данных (они же датасеты).
Наборы данных также предоставляют доступ к оценочным метрикам, предназначенных для того, что бы сообщество могло делиться новыми наборами данных.
Из плюсов библиотеки можно выделить следующее:
— Кэширование данных;
— Совместимость с NumPy, pandas, PyTorch, TenserFlow 2 и JAX;
— Все наборы данных отображаются в памяти.
Основные методы, которые понадобятся в работе с датасетами:
list_dataset() — показывает доступные датасеты;
load_dataset() — создает экземпляр датасета;
list_metrics() — показывает доступные метрики;
load_metric() — создает экземпляр метрики.
Подписывайтесь на канал 👉@pythonofff
7 182
Сохранение и загрузка модели
Передайте model.state_dict() в качестве первого аргумента. Это просто словарь, который сопоставляет слои с их соответствующими изученными параметрами (весами и смещениями).
В качестве второго аргумента дайте имя вашей модели (принято сохранять модели PyTorch с использованием расширений .pth или .pt). Также можно указать полный путь, если вы хотите сохранить его в определенном каталоге.
torch.save(model.state_dict(), "cifar_fc.pth")
Если вы хотите загрузить свою модель для логического вывода, используйте torch.load(), чтобы получить сохраненную модель, и сопоставьте изученные параметры с помощью load_state_dict.
Подписывайтесь на канал 👉@pythonofff7 182
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
7 182
Работа с форматированием текста
textwrap — это стандартная библиотека, которая спользуется для форматирования текста в тех случаях, когда нам нужна красивая печать.
Он предлагает функциональность аналогичную текстовым редакторам и текстовым процессорам.
Немного о возможностях:
textwrap.fill() — принимает текст и возвращает отформатированный текст, первая строка сохраняет свой отступ, а пробелы в начале каждой последующей строки вставляются в абзац.
textwrap.dedent() — используется для удаления общего префикса пробела из всех строк в тексте.
textwrap.indent() — используется для добавления текст префикса ко всем строкам в параграфе
Подписывайтесь на канал 👉@pythonofff
7 182
Обучение модели
Укажите количество epochs, на которых вы хотите обучить модель. Каждая эпоха будет проходить цикл train, который выводит прогресс каждые 2000 выборок. Затем он проверяет модель на тестовом наборе и выводит точность и потери на тестовом наборе.
Подписывайтесь на канал 👉@pythonofff
7 182
Работаем с USB
PyUSB — это библиотека, которая обеспечивает легкий доступ к USB. Имеет поддержку изохронной передачи, если её поддерживает бэкенд.
Основные методы для работы с USB, такие как find(), show_devices() и т. д, хранятся в usb.core.
Пакет usb.util содержит вспомогательные функции.
Функция find() используется для поиска устройств, подключенных к системе.
Также есть реализация внешнего и внутреннего интерфейса, для изоляции API от деталей реализации системы. Связующим звеном между двумя слоями является интерфейс IBackend.
PyUSB поставляется со встроенными бэкэндами для libusb 1.0, libusb 0.1 и OpenUSB.
Подписывайтесь на канал 👉@pythonofff
7 182
Определение метода тестирования
Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом наборе. Большие отличия от метода тестирования заключаются в том, что мы используем model.eval(), чтобы перевести модель в режим тестирования, и torch.no_grad(), который отключит вычисление градиента, так как мы не используем обратное распространение во время тестирования. Наконец, мы вычисляем средние потери для набора тестов и общую точность.
Подписывайтесь на канал 👉@pythonofff
7 182
Валидация email-адресов
Для проверки корректности email-адреса а также действительности его существования существует неплохой модуль validate_email.
Модуль предоставляет одну основную одноименную функцию, предназначенную для валидации адреса, с помощью уже написанных регулярных выражений. Также в функции реализована проверка mx-записи у сервера и существования переданного адреса, за это отвечают необязательные параметры-флаги функции verify и check_mx.
Для обращения validate_email к DNS записям необходимо предварительно установить модуль py3dns.
Подписывайтесь на канал 👉@pythonofff
7 182
Результат обратного распространения и обучения
Для шага обратного распространения нам нужно сначала запустить optimizer.zero_grad(). Это устанавливает градиент в ноль перед запуском обратного распространения, поскольку мы не хотим накапливать градиент за последующие проходы.
Метод
loss.backward() использует потери для вычисления градиента, затем мы используем Optimizer.step() для обновления весов.
Подписывайтесь на канал 👉@pythonofff7 182
Работаем с данными
pandas - это мощный инструмент для анализа данных в Python. С помощью данного фреймворка, работа с «реляционными» или «помеченными» данными простой и интуитивно понятной. Сегодня мы применим его для модификации csv файла.
Чтобы загрузить датафрейм из файла (пример), используем метод pd.read_csv().
Применим фильтр по полю sepal.length > 5. В SQL данная операция выглядела бы таким образом:
SELECT * FROM df WHERE sepal.length > 5.
В pandas же для получения необходимых строк фрейма можем использовать метод loc, передав в нее необходимый фильтр:
df = df.loc[df['sepal.length'] > 5]
Для удаления одной или нескольких колонок можно использовать метод df.drop():
df = df.drop(columns=['petal.width', 'petal.length'])
При сохранении в файл мы можем дополнительно указать pandas не добавлять генерирующийся индекс строкам, если он нам не нужен:
df.to_csv('new_iris.csv', index = False)
Подписывайтесь на канал 👉@pythonofff
7 182
Уже слышали про Platform V App Environment?
5 сентября в 11:00 пройдет вебинар от СберТеха об экосистеме инструментов для создания и масштабирования пользовательских порталов и приложений
Приходите, чтобы познакомиться с решением, которое объединяет компоненты для создания и масштабирования типового рабочего места сотрудника и узнать о том, как:
- снизить нагрузку на внутреннюю ИТ-поддержку
- упростить управление аутентификацией в большом количестве приложений и ролей
- существенно снизить потребление vCPU
- минимизировать искажения в UI при масштабировании
- держать рост нагрузки без сбоев и зависаний
- формировать большое количество отчетов и документов
Будет интересно! Регистрация по ссылке ниже
Зарегистрироваться
#реклама 16+
platformv.sbertech.ru
О рекламодателе
7 182
Модули Dataset и DataLoader
Как и Tensorflow, PyTorch имеет несколько наборов данных, включенных в пакет (например, Text, Image и Audio). В этом руководстве будет использоваться один из таких встроенных наборов данных изображений — CIFAR10.
Эти датасеты очень распространены и широко задокументированы в сообществе ML. Они отлично подходят для прототипирования и сравнительного анализа моделей, поскольку вы можете сравнить производительность своей модели с тем, чего смогли достичь другие.
Подписывайтесь на канал 👉@pythonofff
