Обновить
512K+

Python *

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

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

Создание первой модели глубокого обучения Visual Studio IntelliCode: исследовательский путь

Время на прочтение4 мин
Охват и читатели4.1K
С тех пор, как первая модель завершения кода IntelliCode была представлена в Visual Studio и Visual Studio Code в 2018 году, она стала важным помощником по кодингу для миллионов разработчиков по всему миру. В последние два года мы постоянно работали над тем, чтобы адаптировать IntelliCode для большего количества языков программирования, а в то же время изучали способы повышения точности и покрытия модели, чтобы обеспечить еще большее удовлетворение пользователей. Одним из наших основных исследовательских усилий было привнести последние достижения в области глубокого обучения для моделирования естественного языка в моделирование языков программирования. После использования таких технологий, как машинное обучение Azure и среда выполнения ONNX, мы успешно реализовали первую модель глубокого обучения для всех пользователей IntelliCode Python в Visual Studio Code.


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

Кракс! Миллениалы изобрели Python фреймворк

Время на прочтение17 мин
Охват и читатели14K

Пролог


Здравствуй, Хабр! Данная статья посвящена разбору плюсов и минусов очередного Python фреймворка, который увидел свет около недели назад.

Итак, небольшое лирическое отступление. Во время всем известных событий, когда нас чуть-чуть самоизолировали, у нас появилось немножко больше свободного времени. Кто-то добрался до списка литературы, отложенной к прочтению, кто-то начал изучать ещё один иностранный язык, кто-то продолжал жать в дотан и не обратил внимание на перемены. Я же (простите, в этой статье будет очень много «Я», и мне немного стыдно) решился и попробовал сделать что-то полезное. Впрочем, о полезности можно поспорить. Очевидные вопросы, которые скорее всего возникнут у читателя в первую очередь: «Эм, Python framework? Ещё один? Простите, но зачем? Мы же не JavaScript, в конце концов!»

Собственно, именно об этом и пойдёт речь в данной статье: Нужно ли это? Если нужно, то кому? В чём отличие от того, что уже есть? Чем это может быть привлекательно и почему, например, это можно похоронить, не дожидаясь первого дня рождения. В статье не планируется много кода — примеры написания приложения и использования отдельных частей можно найти в документации (там кода значительно больше ;) ). Данная статья носит скорее обзорный характер.
Читать дальше →

Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор

Время на прочтение8 мин
Охват и читатели23K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)".

1.1 Что такое Decision Tree?


1.1.1 Пример Decision Tree


Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В зависимости от погоды и остального, мы ходили (〇) или не ходили (×) играть в гольф. Предположим, что у нас есть 14 сложившихся вариантов.



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



Например, если посмотреть на Decision Tree, изображенный на картинке выше, мы поймем, что сначала проверяли погоду. Если было ясно, мы проверяли влажность: если она высокая, то не шли играть в гольф, если низкая — шли. А если погода была облачная, то шли играть в гольф вне зависимости от других условий.
Читать дальше →

3 полезных Python-инструмента для упрощения работы с кодом

Время на прочтение4 мин
Охват и читатели22K

Любой разработчик использует те или иные вспомогательные инструменты. Какие-то из них позволяют ускорить процесс, какие-то — избавиться от ошибок, сделать код более понятным. Такие инструменты есть практически в любой сфере разработки.

Престон Бадир (Preston Badeer), Python-программист, поделился набором расширений которые, по его мнению, значительно упрощают и ускоряют кодинг. За 5 лет работы он перепробовал множество инструментов и выделил три наиболее полезных.

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса

Время на прочтение23 мин
Охват и читатели97K
Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы их работы и отличия между ними.


— Добрый вечер, меня зовут Маша, я работаю в отделе подготовки анализа данных Едадила, и сегодня у нас с вами лекция про тестирование.
Читать дальше →

Функциональное программирование в Python. Генераторы, как питонячий декларативный стиль

Время на прочтение19 мин
Охват и читатели31K
  • Общее введение
  • ФП
    • Введение в ФП
    • Основные принципы ФП
    • Основные термины
    • Встроенное ФП поведение в Python
    • Библиотека Xoltar Toolkit
    • Библиотека returns
    • Литература
  • Генераторы
    • Введение в итераторы
    • Введение в генераторы
    • Генераторы vs итераторы
    • Генераторы как пайплайн
    • Концепт yield from
    • Маршрутизация данных на генераторах (мультиплексирование, броадкастинг)
    • Пример трейсинга генератора
    • Стандартные инструменты генераторы
    • Выводы
      • Плюсы
      • Минусы
    • Литература
  • Итоги

Общее введение

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

Определяем пульс по вебкамере в 50 строчек кода

Время на прочтение4 мин
Охват и читатели36K

Привет Хабр.

Однажды мне попалось описание приложения для Android, которое определяло пульс по камере телефона, просто по общей картинке. Камера не прикладывалась к пальцу, кожа не просвечивалась светодиодом. Интересный момент был в том, что ревьюеры не поверили в возможность такого определения пульса, и приложение было отклонено. Чем дело кончилось у автора программы, не знаю, но стало интересно проверить, возможно ли это.

Для тех кому интересно что получилось, продолжение под катом.

Читать далее

Использование NLP для построения классификатора сарказма

Время на прочтение5 мин
Охват и читатели4.1K

В этой статье мы попробуем написать классификатор определяющий саркастические статьи используя машинное обучение и TensorFlow


Статья является переводом с Machine Learning Foundations: Part 10 — Using NLP to build a sarcasm classifier


В качестве обучающего набора данных используется датасет «Sarcasm in News Headlines» Ришаба Мишры. Это интересный набор данных, который собирает заголовки новостей из обычных источников новостей, а также еще несколько комедийных с поддельных новостных сайтов.


Набор данных представляет собой файл JSON с тремя столбцами.


  • is_sarcastic  — 1, если запись саркастическая, иначе 0
  • headline — заголовок статьи
  • article_link — URL-адрес текста статьи
Читать дальше →

Делаем параллельный корпус из книг с помощью sentence embeddings

Время на прочтение8 мин
Охват и читатели13K

Parallel trucks (image by Unsplash


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


Задача


Такая задача называется выравниванием текстов и может быть до какой-то степени решена следующими способами:


  • Использовать эвристики. Можно считать количество предложений в текстах, количество слов в них и на основе этого производить сопоставление. Такой способ не дает хорошего качества, но может тоже быть полезным.
  • Использовать sentence embeddings. Наверняка вы слышали про модели типа word2vec или sent2vec или видели такой пример их использования — "король" + "женщина""мужчина" = "королева". Если коротко, то суть в том, чтобы перевести слова (предложения, тексты) в векторное пространство с сохранением семантического расстояния между ними. Такой подход открывает перед нами замечательные возможности по оценке близости текстов и их кусочков по смыслу.
Читать дальше →

Компьютерное зрение на страже конфиденциальности

Время на прочтение7 мин
Охват и читатели3.7K


Профилактика – наше всё. Грамотная защита от утечек данных поможет предупредить негативные последствия, которые могут повлечь за собой многомиллионные потери. В современном мире каждая из организаций обрабатывает и хранит конфиденциальную информацию. Если речь идёт о крупных организациях, то объёмы конфиденциальной информации огромны. Состояние «безопасности» компьютера – это концептуальный идеал, достигаемый при соблюдении каждым пользователем всех правил информационной безопасности.

Находясь в офисе, любой сотрудник время от времени отлучается от своего компьютера, и тогда включённый компьютер оказывается без присмотра, зачастую с открытыми для доступа папками и файлами, поскольку многие сотрудники попросту забывают блокировать свой ПК, либо же не делают это намеренно, руководствуясь подобной фразой – «отошёл на пять метров, что его блокировать-то!?» К сожалению, такими моментами могут воспользоваться заинтересованные в материалах другие сотрудники.
Читать дальше →

Интерактивная визуализация алгоритмов на базе Jupyter

Время на прочтение15 мин
Охват и читатели16K
Jupyter уже давно зарекомендовал себя как удобную платформу для работы в различных областях на стыке программирования, анализа данных, машинного обучения, математики и других. Вот например очень известная книга по анализу данных, состоящая из Jupyter блокнотов. Поддержка $\TeX$, markdown, html дает возможность использовать использовать Jupyter в качестве платформы для удобного оформления научного-технического материала. Преимущество таких блокнотов заключается в интерактивности, возможности сопровождать сухой материал примерами программ, при этом эта интерактивность очень естественна и проста в использовании. В этой статье хотелось бы рассказать про возможность создания в Jupyter анимированных примеров работы различных алгоритмов и привести несколько из них с исходным кодом. В качестве кликбейта алгоритм Дейкстры.


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

Бот в телеграм, озвучивающий ваши эмоции в сообщении

Время на прочтение9 мин
Охват и читатели7.1K

Привет!


В этой статье я опишу своего бота в телеграм, который работает и сейчас.


Для чего бот создавался, его цель и умения


В реальности человек использует множество звуков для выражения своих эмоций и отношений. Но почти все системы искусственного интеллекта и голосовые помощники "слишком интеллектуальные". Они просто отбрасывают эмоциональные звуки, не понимают и не могут правильно использовать междометия. Поэтому я создал бота, и он открывает возможность естественной речи, полной мычанием, скрипами, всхлипываниями, рыками и сотней других эмоциональных тонов и полутонов.
Предпологаю, что разрабатываемый алгоритм будет работать в коммерческом секторе, например, отслеживая эмоциональное состояние клиента и направлять ветвление алгоритма чтобы предупредить его возможные действия. Эмоции — первые регуляторы поведения и по тону речи или, например, по хмыканью легко отследить замешательство и раздражение пользователя и среагировать до того как он начнёт ругаться и требовать.
Можно так же придать и самим голосовым помощникам больше "человечности". Они могут откашливаться перед длинной лекцией или усмехаться вместо того, чтобы стандартным голосом объяснять что сейчас была шутка.
В медицинской практике программа поможет определить состояние пациента, который не может членораздельно говорить и по отдельным всхлипываниям сориентировать персонал на процедуру лечения. Она может применяться и для отдельных категорий заболеваний, таких как аутизм и дислексия.
В мессенджерах бот поможет передать чувства и отношения через сеть наравне, в дополнении или вместо стандартных эмоджи.
Как площадку для экспериментов и разработки я использую мессенджер "Телеграм".
На текущем моменте бот @YouToneBot возвращает звук эмоции на стандартный смайлик.
В дальнейшем планируется научить бота совершать обратную операцию, то есть на звуковой тон выдавать "эмодзи".

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

Как вернуть сразу несколько значений из функции в Python 3

Время на прочтение4 мин
Охват и читатели124K
Сегодня мы делимся с вами переводом статьи, которую нашли на сайте medium.com. Автор, Vivek Coder, рассказывает о способах возврата значений из функции в Python и объясняет, как можно отличить друг от друга разные структуры данных.


Фото с сайта Unsplash. Автор: Vipul Jha
Читать дальше →

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

Tableau Hyper API – BI-команда скажет вам спасибо

Время на прочтение11 мин
Охват и читатели5.3K
Мы хотим рассказать вам о том, как мы помогли нашей BI-команде организовать автоматический процесс доставления данных на Tableau-сервер из MongoDB, используя таблошный формат хранения данных ”hyper”, а сам процесс настройки формирования данных осуществляется через простой веб-интерфейс.

В начале коротко расскажем, как выглядел процесс до и после того, как мы научили наш внутренний продукт А1 программно собирать датасорсы и публиковать их на Tableau Server. Затем подробнее разберем проблему BI-команды и найденное решение, а также заглянем под капот (здесь о создании .hyper файла, публикации файла на tableau-сервере и обновлении хайпера). Добро пожаловать под кат!

Tableau Hyper API – BI-команда скажет вам спасибо

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

Python и теория множеств

Время на прочтение11 мин
Охват и читатели166K

Python и теория множеств


В Python есть очень полезный тип данных для работы с множествами – это set. Об этом типе данных, примерах использования, и небольшой выдержке из теории множеств пойдёт речь далее.


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

Волны московской реновации

Время на прочтение9 мин
Охват и читатели42K


Доброго времени суток дорогие читатели хабра, 12 августа 2020 года были опубликованы этапы переезда по программе реновации (ознакомиться можно здесь) и мне стало интересно, а как это будет выглядеть, если эти этапы визуализировать. Тут нужно уточнить, что я никак ни связан с правительством Москвы, но являюсь счастливым обладателем квартиры в доме под реновацию, поэтому мне было интересно посмотреть, может даже с некоторой точностью предположить, куда возможно будет двигаться волна реновации в моём случае (а может быть и в вашем, если вас дорогой читатель это заинтересует). Конечно точного прогноза не получится, но хотя-бы можно будет увидеть картину под новым углом.


UPD 28 августа 2020
Получилась полная карта реновации с отмеченными на ней волнами реновации и стартовыми площадками.

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

JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году?

Время на прочтение6 мин
Охват и читатели58K
Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой индустрии, видел, как технологии приходят и уходят. Иногда эти технологии проводят свою недолгую жизнь практически незаметно. Технологиям нелегко выживать в мире программирования.

Но если вспомнить прошлое, окажется, что языки программирования имеют огромную историю. В их истории было множество заметных событий, оказавших серьёзное влияние на индустрию. Например, C и Java, одни из самых старых языков программирования, до сих пор находят широкое применение. Но если поинтересоваться их популярностью, окажется, что сейчас они занимают не самые высокие позиции.



Я — программист. Мне очень нравится JavaScript (у меня с этим языком, так сказать, «вечная связь»), я пишу на этом языке уже давно. Но если немного оглядеться, то можно заметить, что в мире разработки ПО есть и другие языки. Предлагаю поразмыслить о том, что лучше использовать для серверной разработки в 2021 году: JavaScript, Python или Go. Но, прежде чем говорить о сильных сторонах каждого из этих языков, давайте взглянем на результаты некоторых исследований.
Читать дальше →

Как защитить Python-приложения от внедрения вредоносных скриптов

Время на прочтение7 мин
Охват и читатели8.6K


Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть.

Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его в .py-файле и выполнить команду python с этим файлом (например, python my_file.py). Так же легко разбить наш файл, например, на модули my_app.py и my_lib.py и далее для подключения модулей использовать конструкцию import...from: import my_lib from my_app.py.

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

Создаем thumbnails для видео с python и opencv

Время на прочтение2 мин
Охват и читатели5.6K


Порой, разбирая завалы больших и малых видеофайлов в папке(папках) нет времени заглядывать в содержимое каждого файла. Тут на ум приходят так называемые thumbnails, которые позволяют в виде нарезки фрагментов из видео, создать представление о содержимом.

Создадим небольшую программу, которая создаст thumbnails для каждого из файлов в текущей папке windows, и добавит timeline к вырезанным файлам.
Читать дальше →

Обработка файлов RAW, полученных с камеры Raspberry Pi HQ

Время на прочтение4 мин
Охват и читатели4.9K
image

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

И тогда на помощь приходят файлы RAW. В данном контексте необработанное (raw) изображение – это прямая передача данных, полученных от пикселей фотоматрицы, и не прошедших дополнительную обработку. Обычно такие файлы имеют относительно стандартный формат байеровского изображения, названный в честь Брайса Байера, изобретшего эту технику в 1974 году во время работы на компанию Kodak. Идея в том, чтобы не дать имеющемуся на борту процессору обработки изображений (ISP) превратить необработанное байеровское изображение в пригодное для просмотра, а сделать это самостоятельно при помощи отдельной программы, которую обычно называют конвертером RAW.
Читать дальше →