Все потоки
Поиск
Написать публикацию
Обновить
413.52

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Эксперимент для сотрудника с нарушением слуха, ч. 2, проверка на себе

Время на прочтение9 мин
Количество просмотров1.5K

Привет! В первой части мы рассказали, зачем вообще решили заняться этим вопросом, а также поделились переводом статьи, ставшей для нас отправной точкой для собственных изысканий. Теперь хотим рассказать, как мы доработали идею под нашего сотрудника.

Отдельное спасибо комментаторам, которые отметились в комментариях к первой части. Устройства с костной проводимостью, программные решения вроде Equalizer APO 1.2.1, слуховые устройства с поддержкой Bluetooth — мы собрали и передали все ваши идеи. Может быть, что-то из этого и выйдет. Но мы расскажем о своём варианте. Возможно, он тоже окажется кому-то полезен.

Читать далее

Slicer: нарезка твердотельных объектов под раскрой

Время на прочтение5 мин
Количество просмотров5.5K

Красивая фэшн мебель, предметы роскоши и интересный интерьер - это то, что позволяет пустить пыль в глаза вашим гостям и прослыть интересными людьми. Но как все это раздобыть, если у вас ипотека и бюджет ограничен?

Этими вопросами я и задался, когда решил построить свой личный CNC станок.

Читать далее

Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 1)

Время на прочтение24 мин
Количество просмотров22K

Этот туториал содержит материалы полезные для понимания работы глубоких нейронных сетей sequence-to-sequence (seq2seq) и реализации этих моделей с помощью PyTorch 1.8, torchtext 0.9 и spaCy 3.0, под Python 3.8. Материалы расположены в эволюционном порядке: от простой и неточной модели к сложной и обладающей наибольшей точностью.

Читать далее

Как новый метод упаковки в BERT ускоряет обработку естественного языка в 2 раза

Время на прочтение11 мин
Количество просмотров2.9K

Используя новый алгоритм упаковки, в Graphcore ускорили обработку естественного языка более чем в 2 раза при обучении BERT-Large. Метод упаковки удаляет заполнение, что позволяет значительно повысить эффективность вычислений. В Graphcore предполагают, что это также может применяться в геномике, в моделях фолдинга белков и других моделях с перекошенным распределением длины, оказывая гораздо более широкое влияние на различные отрасли и приложения. В новой работе Graphcore представили высокоэффективный алгоритм гистограммной упаковки с неотрицательными наименьшими квадратами (или NNLSHP), а также алгоритм BERT, применяемый к упакованным последовательностям. К старту курса о машинном и глубоком обучении представляем перевод обзора соответствующей публикации на ArXiv от её авторов. Ссылку на репозиторий вы найдёте в конце статьи.

Читать далее

Алгебраические типы данных и Python

Время на прочтение14 мин
Количество просмотров21K

Возможно, кто-то из читателей, увидев заголовок этой статьи, подумает что-нибудь вроде:

"Что?! Алгебраические типы данных?! Это же что-то из мира функциональных языков программирования. Python?! Ну нет... Где Python со своей динамической утиной типизацией, а где типы данных, и уж тем более алгебраические..."

Что-то в таком духе. Но, на самом деле, в Python есть своя система типов, кроме того Python считается языком со строгой типизацией, а благодаря mypy и аннотациям, корректность используемых типов может быть проверена статически без непосредственного запуска программы. Помимо всех этих достаточно интересных особенностей, в Python есть возможность работать и с алгебраическими типами данных. Так что же это за типы данных, как они выглядят в Python, и какую практическую пользу приносят — попробуем разобраться в этой статье.

Читать далее

Как на Raspberry Pi запустить модель ML и сэкономить пространство одноплатника

Время на прочтение8 мин
Количество просмотров8.4K

Представьте ситуацию: впереди выходные, а у вас есть достаточно нагруженная малинка и вы — ради эксперимента — хотите посмотреть, что ML умеет на мощностях RPi, но не хотите слишком перегружать машину, даже всей облегчённой версией TF. Что можно сделать? Мы уже писали о классификации мусора с помощью RPi, а сегодня, к старту курса о глубоком и машинном обучении, делимся переводом руководства, автор которого приводит простейший пример работы с необходимым минимумом TFLite. Выводы делаются моделью менее чем за секунду, при этом не нужно устанавливать весь пакет TensorFlow; используется только tflite_runtime, поддерживающий класс Interpreter.

Читать далее

Оптимизация на простых типах данных. Часть №2 «Числа»

Время на прочтение8 мин
Количество просмотров6.5K
19 апреля автор курса «Алгоритмы для разработчиков» в Яндекс.Практикуме и разработчик в компании Joom Александра Воронцова провела открытый вебинар «Оптимизация на простых типах данных». У Аси за спиной 11 лет разработки, опыт олимпиадного программирования, а также работа в Яндексе с высоконагруженными проектами.

Мы подготовили расшифровку вебинара в двух частях. Первая часть — про строки и работу с ними, вторая — про числа.

Статья будет полезна разработчикам на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистам на других языках, которым интересны фишки, связанные с типами данных.


Десктопизация по-питоновски. Инструменты для создания автотестов

Время на прочтение9 мин
Количество просмотров19K

Автоматизация тестирования – неотъемлемая часть процесса обеспечения качества. Мы в нашей практике чаще всего разрабатываем тесты для веб-, мобильных приложений и API, но сегодня хотим рассказать о более редком направлении – тестировании десктоп-приложений.

Кратко рассмотрим подходы, инструменты, технологии и «грабли», на которые можно наступить при выполнении этой задачи. Статья будет полезна специалистам, которые хотят попробовать автоматизировать ежедневную монотонную работу, а также коллегам по цеху в сфере автоматизации gui-тестирования – как начинающим, так и разработчикам с опытом.

Читать далее

Безопасный ввод и сохранение зашифрованных паролей в конфигах Linux: пишем скрипт на Python

Время на прочтение5 мин
Количество просмотров20K
Как вывести свою систему на новый уровень безопасности с модулями python-gnupg и getpass4.


Изображение :  freeGraphicToday, via Pixabay. CC0.

В условиях растущих требований к безопасности создание и хранение паролей может вызвать вопросы не только для пользователей, но и у разработчиков и системных администраторов. Специалисты и другие осведомлённые люди знают, что пароли нужно хранить в зашифрованном виде. Уже на этапе ввода символы пароля нужно скрывать от любых глаз (даже от того человека, который его вводит). Всегда ли мы можем выполнить хотя бы эти требования?

Я единственный пользователь своего ноутбука, а на его борту крутится ОС семейства Linux. Поэтому меня не беспокоят пользователи, которые могут случайно или неслучайно посмотреть мои конфигурационные файлы, работая на этом же компьютере. Я решил заморочиться и повысить безопасность своего личного ноутбука, и на то есть свои причины. Да, я шифрую свой домашний каталог, но как только вхожу в систему, любой пароль, хранящийся в виде простого текста в файле конфигурации, потенциально может быть уязвим для чересчур любопытных глаз.

К тому же, я использую почтовый клиент Mutt. Он позволяет мне читать и составлять электронные письма прямо в Linux-терминале. Мне удобно, мне нравится. Правда, ему нужно, чтобы я хранил пароль в файле конфигурации (.mutt), либо всё время вводил пароль в интерактивном режиме. Поэтому я ограничил права доступа к моему конфигурационному файлу Mutt, чтобы его мог видеть только я. 

Но есть ещё один важный момент:
Читать дальше →

Оптимизация на простых типах данных. Часть №1 «Строки»

Время на прочтение12 мин
Количество просмотров8.1K
19 апреля автор курса «Алгоритмы для разработчиков» в Яндекс.Практикуме и разработчик в компании Joom Александра Воронцова провела открытый вебинар «Оптимизация на простых типах данных». У Аси за спиной 11 лет разработки, опыт олимпиадного программирования, а также работа в Яндексе с высоконагруженными проектами.

Мы подготовили расшифровку вебинара в двух частях. Первая часть — про строки и работу с ними, вторая — про числа.

Статья будет полезна разработчикам на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистам на других языках, которым интересны фишки, связанные с типами данных.


Читать дальше →

Книга «Python, например»

Время на прочтение6 мин
Количество просмотров9.8K
image Привет, Хаброжители! Python — стремительно развивающийся язык программирования современности. В этом увлекательном и необычном руководстве материал разбивается на доступные пошаговые фрагменты, а теория объясняется кратко и понятно. Вместо того чтобы обрушивать на читателя лавину технического жаргона, вгоняющего в ступор, эта книга предлагает ему поработать над 150 практическими задачами. Создавая программы для решения этих задач, читатель быстро перейдет от азов к уверенному использованию сопрограмм, графического пользовательского интерфейса и к работе с внешними файлами — текстовыми, в формате .csv и базами данных SQL. Книга идеально подойдет каждому, кто хочет освоить программирование на Python. В частности студенты, изучающие computer science, и преподаватели, которые хотят более уверенно овладеть Python, найдут в книге подборку готовых задач для использования на учебных
курсах.
Читать дальше →

Data Phoenix Digest — 08.07.2021

Время на прочтение3 мин
Количество просмотров801

Приветствую всех!

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning и не забывайте подписываться на наш Telegram-канал.

Также хочу пригласить всех 14 июля на долгожданный оффлайн митап одесского Open Data Science сообщества. На нем мы поговорим про управление данными и обнаружение объектов в реальном мире, а также вас ждет много живого общения, которого нам очень не хватало на карантине. Участие бесплатное, будет организована онлайн-трансляция. Детали и обязательная предварительная регистрация здесь.

Читать далее

Роль обратного распределения в построении нейросети

Время на прочтение4 мин
Количество просмотров2.9K

Прежде чем приступить к раскрытию темы, необходимо ознакомиться с общими понятиями.

Обратное распространение — это способ обучения нейронной сети. Цели обратного распространения просты: отрегулировать каждый вес пропорционально тому, насколько он способствует общей ошибке. Если мы будем итеративно уменьшать ошибку каждого веса, в конце концов у нас будет ряд весов, которые дают хорошие прогнозы.

Каждый узел в нейронной сети представляет собой нейрон, поэтому мы можем сказать, что нейронная сеть — это цепь нейронов.

Размышление, которые привели меня к использованию алгоритма обратного распределения:

1.       Прежде всего, если я хочу создать нейронную сеть мне нужно инициализировать некоторые веса.

2.       Какие бы значения я ни выбрала для весов, я не знаю насколько они верны.

3.       Чтобы проверить правильность или неправильность выбранных значений веса, я должна вычислить ошибку модели.

4.       Предположим, моя ошибка модели произошла слишком много раз.

5.       Это означает, что мой прогнозируемый результат сильно отличается от фактического. Так что мне делать? Постараюсь минимизировать ошибку.

Читать далее

Ближайшие события

Диаграмма Сэнкей (Sankey diagram) на Python

Время на прочтение10 мин
Количество просмотров27K

В этой статье рассмотрим, как пошагово создать диаграмму Сэнкей - от загрузки и генерирования необходимых данных до сохранения полученной диаграммы. Используемые инструменты - python, pandas и plotly.

Читать далее

Четыре проекта с веб-скрейпингом, которые позволят упростить себе жизнь

Время на прочтение5 мин
Количество просмотров25K
image

Подумайте обо всех тех вещах, которые вы делаете в течение дня. Возможно, вы читаете новости, отправляете электронные письма, находите самые выгодные цены на товары или ищете работу онлайн. Большинство этих задач можно автоматизировать при помощи веб-скрейпинга, поэтому вместо того, чтобы вы тратили часы на изучение веб-сайтов, компьютер может сделать это за вас в течение пары минут.

Веб-скрейпинг — это процесс извлечения данных с веб-сайта. Для изучения веб-скрейпинга достаточно пройти туториал о принципах работы таких библиотек Python, как Beautiful Soup, Selenium или Scrapy; однако если вы не будете применять на практике все изученные концепции, то время окажется потраченным впустую.

Именно поэтому стоит попробовать создавать проекты с веб-скрейпингом, которые не только помогут вам освоить теорию веб-скрейпинга, но и позволять разработать ботов. автоматизирующих повседневные задачи.

В этой статье я перечислю проекты, которые автоматизируют четыре задачи, ежедневно выполняемые многими людьми. Проекты изложены по возрастанию сложности, от начальных до продвинутых.
Читать дальше →

Аннотирование текстов при помощи BERT

Время на прочтение5 мин
Количество просмотров5.9K

BERT тюнится под множество задач и доменов. В спектр задач, которые можно решить при помощи трансформера, входит задача аннотирования – краткого пересказа текстов. В статье подробно расскажем о том, как нужно модифицировать инструмент, чтобы обучить модель экстрактивной суммаризации.

Рутинные задачи часто связаны с прочтением разного вида документов, многие из них растянуты на несколько страниц, хотя суть каждого можно было бы изложить коротко, используя всего несколько предложений. Особенную боль составляет прочтение текстов юридического или строгого канцелярского стиля, когда используется много нагруженных предложений. К таким текстам очень удобно иметь краткие содержания.

Задача создания краткой аннотации текстов решается двумя способами: 

·        Абстрактивный подход – генерация нового текста, на основе полученной информации

·        Экстрактивный подход – использование слов/словосочетаний, ранее использованных в текстах

Преимущество экстрактивного подхода заключается в том, что вероятность получить грамматически не верный текст снижается, если документ написан грамотным автором. Модель не создает новых предложений, только отбирает существующие.

Основной минус такого подхода – разметка. Если ваши тексты написаны по принципу пирамиды Минто, то вам скорее всего повезло, разметку можно провести механически, выделив первое или несколько первых предложений в качестве референсного саммари.

Читать далее

Анонсируем версию Datalore Enterprise для команд Data Science

Время на прочтение4 мин
Количество просмотров1K

Привет, Хабр!

Jupyter-ноутбуки хоть и вызывают споры, однако все равно являются самым часто используемым инструментом для решения задач Data Science. Ноутбуки просты в личном использовании. Но если вы когда-либо пробовали организовать командную работу с ними, то наверняка сталкивались со сложностями. Именно поэтому мы в JetBrains решили выпустить специальную версию Datalore Enterprise для команд Data Science!

Читать далее

Лампа для слежения за фазами Луны на Raspberry Pi и Python

Время на прочтение8 мин
Количество просмотров7.3K
Лампа для слежения за фазами Луны, об изготовлении которой я хочу рассказать, это — развитие моего проекта лампы, воспроизводящей восход Солнца, которую я сделал для того, чтобы убедить сына в том, что день не начинается в 5 часов утра.

Работая над этой новой моделью лампы, я хотел внести кое-какие улучшения в исходный проект и вырваться из моей «программистской зоны комфорта». В предыдущем проекте я кое-что сделал на скорую руку, поступая так, как мне удобно и привычно, а не так, как следовало бы поступать. Мне, кроме того, хотелось исследовать пределы возможностей Raspberry Pi в деле обеспечения энергией светодиодов NeoPixel.

Устройство «лунной» лампы похоже на устройство лампы «солнечной». Она представляет собой сферу, собранную в технике складывания фигур оригами, называемой «снапология». Свет даёт светодиодное кольцо NeoPixel, а в основе всего этого лежит Raspberry Pi. Новая лампа имеет такое же разнообразие программ освещения, что и старая. В частности, речь идёт об аналоге имитации спокойного восхода Солнца по утрам и о «программе засыпания», когда всё начинается с яркого синего света, который постепенно угасает, доходя до уровня, на котором лампа становится ночником.


Начало «программы засыпания»
Читать дальше →

Эксперимент для сотрудника с нарушением слуха, ч. 1

Время на прочтение10 мин
Количество просмотров3.9K

Привет, c вами Cloud4Y!

Есть замечательная статья 'Experimenting On My Hearing Loss' by paddlesteamer, которая сама по себе достойна перевода. Но инженер компании Дмитрий Михайлов вместе с Андреем Огурчиковым пошли дальше, испытав методику на себе. Материала получилось много, с обилием кода и аудиограмм. Поэтому мы разбили его на две части. В первой расскажем, зачем нам понадобилось "играться" со звуком и опубликуем перевод статьи, ставшей основной для последующей доработки напильником. Вторая часть будет посвящена нашему решению. Если у вас есть сотрудники с нарушениями слуха, рекомендуем к прочтению.

Читать далее

Спектрометр своими руками за 5 долларов и немного OpenCV

Время на прочтение6 мин
Количество просмотров27K

В освоении физики лабораторные эксперименты проясняют понятия гораздо лучше лекций. Но из-за пандемии у автора статьи, переводом которой мы делимся к старту флагманского курса о Data Science, уже больше года не было лабораторных занятий; при этом большинство экспериментов последнего курса физики требуют сложных, дорогих приборов. Но автору бросились в глаза эксперименты со спектроскопом, и он решил из подручных материалов сделать свой, недорогой цифровой спектрометр, а для анализа вывода прибора написал программу на Python.

Читать далее

Вклад авторов