Бывают такие нелегкие для прикладника времена, когда надо работать на низком уровне и просто ловить биты в центральном процессоре. Бывают они не часто, но случилось. Последний раз что-то подобное мне приходилось делать лет этак 30-35 назад. Так, что вспоминаем молодость и различные архитектуры процессоров, но уже не с «С++», а на Python. Он теперь ближе…
Вспоминаем , который является языком программирования низкого уровня, напрямую использующий регистры и память внутри собственного исполняемого файла. В собранном виде ассемблерный код хранится в виде двоичных данных и для каждого процессора есть своё руководство, в котором описано, как каждая инструкция закодирована в байты данных.
Ещё одно вечернее развлечение посвящаю разработке легкого инструмента командной строки для преобразования файлов PDF в картинки.
Будем использовать , универсальное настраиваемое решение для интерпретатора PDF, XPS и электронных книг, которое можно использовать в широком спектре приложений, таких как средство визуализации PDF, средство просмотра или набор инструментов. Читать далее «Как с помощью Python преобразовать pdf‑файлы в картинки»
Развлечение на сегодняшний вечер — показать вам, как можно использовать для преобразования файлов PDF в расширение docx.
Наша задача — разработать Python-модуль для преобразования одного или нескольких файлов PDF, расположенных в одной папке, в форме легкой утилиты командной строки не полагаясь на какие-либо внешние утилиты за пределами экосистемы Python. Читать далее «Как с помощью Python преобразовать pdf‑файлы в doc»
Мне часто приходится говорить, что для понимания проще нарисовать, лучше всего нарисовать. В подавляющем большинстве случаев, после того, как всё стало понятно, остальное не так и сложно, становится делом техники. То же самое и в науке о данных, и этап, на котором всё «понимается» называется Exploratory Data Analysis (EDA) или разведочный анализ данныхએ. EDA играет важнейшую роль после получения набора данных и ставит своей целью выяснить, как с ним работать и получить требуемый результат.
Итак, в этой статье познакомлю новичков с EDA. Не волнуйтесь, всё когда-то впервые и если вы только что узнали, что EDA существует, то к концу статьи вы будете иметь четкое представление обо всех основных моментах, связанных с EDA и вместе с тем увидите пошаговые практические примеры кодирования. Давайте разбираться! Читать далее «Разведочный анализ данных в Python: руководство для новичков на 2021 год»
Большинство задач, которые вы решаете в области машинного и глубокого обучения, основываны на генеративной и дискриминативной моделях. В машинном обучении нужно четко различать два типа моделирования:
Классификация изображения, например, собаки или кошки, которое подпадает под дискриминативное моделирование.
Создание реалистичного изображения, той же собаки или кошки — задача генеративного моделирования.
Чем больше нейронные сети вторгаются в нашу жизнь, тем больше разрастаются области генеративного и дискриминативного моделирования. Для понимания алгоритмов, основанных на этих моделях, необходимо изучить теорию и все концепции моделирования.
Базовое понимание машинного обучения и глубокого обучения — это то, с чего нужно начать. После того, как появится основа, переходите к более сложным темам, таким как генеративные состязательные сети или GAN. Если у вас есть какой-то опыт в задачах классификации изображений (дискриминация) или реконструкции изображений (генерация), то это будет значительным бонусом. Не понимать, что именно скрывается под капотом и как моделируются проблемы — это нормально. Читать далее «Генеративная и дискриминативная модели»
Недавний опрос 24 000 разработчиков Python в 150 странах мира, который провела компания показал, что, более половины всех разработчиков Python традиционно используют его и для веб-разработки, хотя 59% разработчиков используют его в проектах Data Scienceએ! Python обогнал Javaએ и в мире стал вторым по популярности языком программирования для Web. Уже готов богатый набор фреймворков, например, Djangoએ, Flaskએ и Pyramidએ для web-разработки. Здесь мы обсудим пять тенденций, которые делают Python наилучшим выбором для веб‑разработчиков в 2021 году. Читать далее «Топ 5 тенденций web-разработки на Python для 2021 года»
Когда в Стэнфорде появился курс (глубокое машинное обучение), то для него намеренно и специально были разработаны задания по программированию самого низкого уровня, включающие реальные вычисления, связанные с обратным распространением ошибок. Студенты должны были реализовать прямой и обратный проход каждого слоя в необработанном виде. Естественно, некоторые ученики неизбежно жаловались на доске объявлений в классе:
«Почему мы должны описывать обратный проход, когда в реальном мире есть фреймворки такие, как TensorFlow, которые вычисляют его автоматически?»
Кажется вполне разумно, на первый взгляд, что если после окончания курса вы никогда не собираетесь писать обратные проходы, то зачем в этом практиковаться? Преподаватели ради собственного развлечения мучают студентов? Некоторые простые ответы могут привести к аргументам типа «то, что скрывается под капотом есть бесполезная интеллектуальная мастурбация и надо ли этим заниматься» или «возможно, позже вы захотите улучшить основной алгоритм», однако, есть гораздо более сильный и практичный аргумент, которому я хотел бы посвятить целый пост: