Просматривая свои заметки по проектированию GUI с использованием виджетов Tk, я почувствовал какую-то неудовлетворенность. А дело оказалось в том, что я фактически упустил работу с тематическими виджетами ttk (themed tk). Они в скользь были задействованы при рассмотрении пакета Tkinter для Python и использовании дизайнера Page . Там речь шла о виджете TNotebook (блокнот, записная книжка) из пакета ttk. Читать полностью »
Рубрика «python» - 180
Как я написал приложение, которое за 15 минут делало то же самое, что и регулярное выражение за 5 дней
2017-12-04 в 20:42, admin, рубрики: data science, python, Алгоритмы, анализ текста, высокая производительность, Регулярные выраженияОт переводчика
Не так давно столкнулся с проблемой поиска набора слов в большом тексте. Разумеется главной проблемой стала производительность. Поиск готовых решений порождал больше вопросов, чем давал ответов. Часто я натыкался на примеры использования каких-то сторонних коробок или онлайн-сервисов. А мне в первую очередь нужно было простое и легкое решение, которое в дальнейшем дало бы мысли для реализации собственной утилиты.
Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки FlashText. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.
Т.к. на русском материалов подобной тематики не так много, то я решил перевести эту статью на русский. Под катом вас ждет описание проблемы, разбор принципа работы библиотеки а так же примеры тестов производительности.Читать полностью »
Вероятностная интерпретация классических моделей машинного обучения
2017-12-04 в 13:17, admin, рубрики: python, Алгоритмы, математика, машинное обучение, нейронные сети, теория вероятностейЭтой статьей я начинаю серию, посвященную генеративным моделям в машинном обучении. Мы посмотрим на классические задачи машинного обучения, определим, что такое генеративное моделирование, посмотрим на его отличия от классических задач машинного обучения, взглянем на существующие подходы к решению этой задачи и погрузимся в детали тех из них, что основаны на обучении глубоких нейронных сетей. Но прежде, в качестве введения, мы посмотрим на классические задачи машинного обучения в их вероятностной постановке.
Релиз второй версии плагина Nodejs для Sublime Text
2017-12-03 в 12:32, admin, рубрики: javascript, node.js, nodejs, plugin, python, sublime text 3Добрый день, друзья! В ноябре 2016 года я начал играться с плагином Nodejs для Sublime Text. Плагин был маленьким и имел под катом несколько давних и хорошо известных багов.
В те дни я игрался с Nodejs и моим любимым редактором для кода был Sublime Text. По давно проторенной дорожке, я пошел на packagecontrol.io и поискал плагины для Nodejs. Нашелся вот этот. Поставив и поработав, я был очень разочарован, когда обнаружил, что самые некоторые заявленные фичи плагина не работают, или работают не так как заявлено…
В таких ситуациях, я обычно, иду на страничку проекта на GitHub и изучаю проект на предмет последней активности, чтобы убедиться, что проект не заброшен. Я обнаружил, что последний коммит был в 2013 году. Печалька, подумал я, учитывая, что это был единственный плагин для работы с Nodejs в Sublime Text.
Тогда я подумал… Это две частички технологии, которые мне нравятся, и я всегда хотел контрибьютить в Open Source.
План был прост, фиксить баги, с которыми я столкнусь. С течением времени, я понял, что фикс багов начал доставлять проблемы, из-за монолитной архитектуры плагина, отсутствия тестов и инструментов для отладки.
Читать полностью »
Видеонаблюдение в подъезде своими силами
2017-12-01 в 13:53, admin, рубрики: motion, odroid, poe, python, telegram, видеонаблюдение, Работа с видео, Яндекс.Диск
Прочитал относительно недавнюю публикацию о видеонаблюдении и решил описать свой опыт. Считаю мое решение оптимальным по соотношению цена/функциональность, но с удовольствием выслушаю критику более опытных людей.
Итак, задача — минимальными материальными и временными ресурсами сделать видеонаблюдение в подъезде перед входной (в квартиру) дверью. Желательно не записывать круглые сутки “пустые” картинки, т.е. необходимо детектирование движения. Также хорошо бы иметь удаленный доступ к записям.
Читать полностью »
Hik or Hack? (НЕ)безопасность Интернета вещей на примере IP-камеры Hikvision
2017-12-01 в 6:28, admin, рубрики: hikvision, IoT, ipcamera, python, Блог компании НеоБИТ, Интернет вещей, информационная безопасность, реверс-инжинирингВ современном мире нас окружают «умные» устройства, в том или ином виде представляющие собой маленький компьютер. С точки зрения интеграции с современным оборудованием, будь то бытовая электроника и умные дома, медицинское и банковское оборудование, развлекательные системы и промышленное оборудование — все это представляет собой встраиваемые системы (embedded-устройства).
«Умные» гаджеты очень плотно влились в нашу жизнь, и их число из года в год растёт благодаря их низкой стоимости, удобству и простоте в использовании, в том числе через Интернет. Однако за рядом плюсов скрываются минусы, невидимые на первый взгляд рядовому пользователю.
В одном из докладов «Очной ставки» NeoQUEST-2017 рассматривался обширный класс embedded-устройств — IP-камеры, и обсуждались общие подходы к анализу встроенного программного обеспечения. В данной статье мы более подробно остановимся на исследовании камеры Hikvision DS-2CD2432F-IW, ее прошивки и механизмов защиты от встраивания и модификации, используемых производителем.
Читать полностью »
Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий
2017-11-30 в 14:48, admin, рубрики: php, python, telegram, Блог компании VDS.SH, интерфейсы, обработка изображенийВ интернетах не прекращается хайп вокруг чат-ботов — в частности Telegram — благодаря шуму в СМИ, неоспоримых достоинствах платформы, политике продвижения, средствам разработки и т.д.
Смотришь новости: ну жизни нет без чат-ботов!
Да если их не будет — поезда с рельс сойдут, упадут самолеты, погибнут люди от тоски, когда не смогут найти картинки с котиками.
Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет магазине через чат-бот?
Кто все эти люди, которые заказывают разработку ботов для своих магазинов?
Типичный чат-бот магазина Vasya Limited:
>> автоматизирует поток водопад заявок из 5 человек в день.
>> сливает 4 из 5 заявок, кровью добытых через Яндекс-Директ
>> если повезет — человек найдет номер телефона и позвонит
>> но вероятней всего «Эээ — куда жать?»- закроет и уйдет гуглить дальше.
Чем занят владелец, когда продажи «автоматизированы»:
>> вносит заказы в excel таблицу
>> заполняет почтовые бланки на посылках
>> стоит в очереди на почте с кучей посылок (каждый день!)
>> вносит трек номера в excel таблицу, затем рассылает клиентам
Может хватит на ровном месте встраивать «технологии» туда, где действительно нужен человек, в то время как люди загружены рутиной для роботов?
Читать полностью »
Классификация звуков с помощью TensorFlow
2017-11-29 в 8:48, admin, рубрики: devicehive, IoT, machine learning, python, TensorFlow, Блог компании DataArt, машинное обучение, нейронные сети, Работа со звуком, Разработка для интернета вещей, распознование звуковых файлов
Игорь Пантелеев, Software Developer, DataArt
Для распознавания человеческой речи придумано множество сервисов — достаточно вспомнить Pocketsphinx или Google Speech API. Они способны довольно качественно преобразовать в печатный текст фразы, записанные в виде звукового файла. Но ни одно из этих приложений не может сортировать разные звуки, захваченные микрофоном. Что именно было записано: человеческая речь, крики животных или музыка? Мы столкнулись с необходимостью ответить на этот вопрос. И решили создать пробные проекты для классификации звуков с помощью алгоритмов машинного обучения. В статье описано, какие инструменты мы выбрали, с какими проблемами столкнулись, как обучали модель для TensorFlow, и как запустить наше решение с открытым исходным кодом. Также мы можем загружать результаты распознавания на IoT-платформу DeviceHive, чтобы использовать их в облачных сервисах для сторонних приложений.
Выбор инструментов и модели для классификации
Сначала нам нужно было выбрать ПО для работы с нейронными сетями. Первым решением, которое показалось нам подходящим, была библиотека Python Audio Analysis.
Основная проблема машинного обучения — хороший набор данных. Для распознавания речи и классификации музыки таких наборов очень много. С классификацией случайных звуков дела обстоят не так хорошо, но мы, пусть и не сразу, нашли набор данных с «городскими» звуками.Читать полностью »
В продолжение предыдущих статей о применении python для построения собственной scada системы, хотелось бы описать способ организации обмена между устройствами и вывод данных посредством json — текстового формата обмена данными.
В данном случае будем использовать клиентские части modbusTCP и OPCUA библиотек.Читать полностью »