python

Самая простая нейронная сеть на Python

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

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

В качестве данных будем использовать известную в мире распознания чисел подборку данных MNIST.

Функция print в Python 2.7

Как Вы наверное знаете, в Python 3 оператор print был заменен одноименной функцией.
И это очень удобно, например для вывода в консоль без символа конца строки, или со своим символом.
Оказывается можно использовать функцию print и в Python 2.7.
Для этого импортируем её:

from __future__ import print_function

Теперь для вывода чисел через запятую в одну строку:

Развёртывание django приложения на OpenShift хостинге от Red Hat

Давным давно, писал статью на хабр. Перенесу сюда, пусть будет.

Преимущества облачного хостинга в наше время объяснять не приходиться, а Red Hat предлагает нам ещё и опробовать все вкусности бесплатно (естественно с некоторыми ограничениями).
Вы не платите за хостинг и получаете:

Pyside QML Hello World

Программисту Python порой очень хочется запрограммировать еще и какой нибуть GUI.
Есть всем известный pyqt. Но ребята жадничают с лицензией и вы не сможете использовать его в комерческих целях.
А разучивать очередной продукт без интереса рабочего тоже как то не весело.
Так вот. Есть еще проект pyside, начатый уже после продажи Qt из Nokia в Digia.
Скажу честно, знаток PyQt я никакой. Но эта библиотека мне както ближе к телу.
Посмотрим как можно сделать QML привет мир.
QML файл в котором создаем интерфейс.

Перечисления в Python

Перечисления (Enum) - один из самых важных элементов в современном программировании. И да, без них можно обойтись и не чувствовать себя лишенным. Но не делайте так.
Думаю многие из Вас уже сталкивались с кодом в котором невозможно разобраться. Enum это именно то, что делает код понятнее и удобочитаемее.
В Python работать с перечислениями одно удовольствие.
Перед использованием нужно импортировать класс.

from enum import Enum

А теперь нужно просто унаследоваться от него при создании своего перечисления.
Например вот так:

Работаем с Excel файлами в Python

Excel очень прочно вошел в нашу жизнь. Ну ладно.. Возможно не именно он. Но табличные редакторы сильно облегчают нам жизнь.
И согласитесь, было бы очень круто иметь возможность работать с файлами Excel в Python.
И такая возможность есть. Установим openpyxl.

pip install openpyxl

Пользоваться ей очень просто!

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = "Hello blablacode!"

import datetime
ws['A2'] = datetime.datetime.now()

wb.save("c:\sample.xlsx")

Получается вот так:

RSA шифрование в Python

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

Работа с USB в Python

Соорудил на своей stm32f4discovery собственное usb устройство. Все довольно просто, одна BULK конечная точка. Плата принимает данные и переключает светодиоды, которых в наличии четыре.
Собственно о программе контроллера как-то в другой раз, а сейчас о том, как с данным дивайсом работать с ПК.

Использование сторонних dll при помощи ctypes в python

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

Конвертация графических файлов осциллограмм Rigol

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

Я решил поправить эту ситуацию. Поправить просто изменив размеры пикселей. Т.е. сделать из одного пикселя - четыре.
Для этого я воспользовался python и библиотекой Pillow.

Над скриптом особо не парился.