Собрали в одном месте самые важные ссылки
читайте авторский блог
В первой части я описал основные принципы обратного распространения в простой нейросети. Сеть позволила нам померить, каким образом каждый из весов сети вносит свой вклад в ошибку. И это позволило нам менять веса при помощи другого алгоритма — градиентного спуска.
Суть происходящего в том, что обратное распространение не вносит в работу сети оптимизацию. Оно перемещает неверную информацию с конца сети на все веса внутри, чтобы другой алгоритм уже смог оптимизировать эти веса так, чтобы они соответствовали нашим данным. Но в принципе, у нас в изобилии присутствуют и другие методы нелинейной оптимизации, которые мы можем использовать с обратным распространением:
Самописная система для проверки работы кода. Библиотека подает на вход функции определенное значение, а результат сравниваем с эталонным.
Модуль shelve из стандартной библиотекой можно описать одной фразой - "pickle + anydbm".
shelve позволяет сериализовать объект (прям как pickle), а потом сохранить его в виде похожем на БД (интерфейс anydbm).
Не редко возникает задача убрать лишние пробелы с начала/конца строки. Например
a = 'Доброе утро, Иван'
message, name = a.split(',')
print(name)
> ' Иван' # (лишний пробел сначала строки)
Не так давно мы начали пару проектов, в которых необходима оптическая система с каналом дальности, и решили для этого использовать Kinect v2. Поскольку проекты реализуются на Python, то для начала нужно было заставить работать Kinect из Python, а затем откалибровать его, так как Kinect из коробки вносит некоторые геометрические искажения в кадры и дает сантиметровые ошибки в определении глубины.
До этого я никогда не имел дела ни с компьютерным зрением, ни с OpenCV, ни с Kinect. Исчерпывающую инструкцию, как со всем этим хозяйством работать, мне найти тоже не удалось, так что в итоге пришлось порядком повозиться. И я решил, что будет не лишним систематизировать полученный опыт в этой статье. Быть может, она окажется небесполезной для какого-нибудь страждущего, а еще нам нужна популярная статья для галочки в отчетности.
from vycro import MacroWrapper mw = MacroWrapper() wb_kwargs = {"ReadOnly":"True"} m_args = ["arg1", "True", "111"] with mw.open_workbook("/full/path/with.extension", **wb_kwargs): mw.run_macro("macro_name", *m_args) # See declaration for function args
Только что обнаружил интересный баг (баг с точки зрения человеческой логики, но не машины), и решил им поделиться с сообществом. Программирую на django уже довольно долго, но с таким поведением столкнулся впервые, так что, думаю, кому-нибудь да пригодится. Что ж, к делу!
Статья содержит довольно подробный вводный материал для работы с бинарными данными. Рассказывается про Bytearray, как читать бинарные данные, как конвертировать между типами данных, как использовать struct
NZB - это XML формат для пересылки постов из Usenet'а
Проект https://braindump.pw/ - это органайзер заметок
Статья описывает использование JSON Schema для валидации JSON данных на Python
Аналогичный подход можно применять для валидации XML данных.
Интерфейс для вызова C-кода. Изменения описаны по ссылке https://allmychanges.com/p/python/cffi/#1.3.1. Скачать можно по ссылке: http://pypi.python.org/pypi/cffi/
Инструмент создания виртуального рабочего окружения. Изменения описаны по ссылке https://allmychanges.com/p/python/virtualenv/#0.8. Скачать можно по ссылке: http://pypi.python.org/pypi/virtualenv/
Фреймворк для работы с AMQP. Изменения описаны по ссылке https://allmychanges.com/p/python/kombu/#3.0.27. Скачать можно по ссылке: http://pypi.python.org/pypi/kombu/
Python клиент для Redis. Изменения описаны по ссылке https://allmychanges.com/p/python/redis/#2.10.5. Скачать можно по ссылке: http://pypi.python.org/pypi/redis/