December 22nd, 2014

Выходные (интеграл не сходится, не растёт кокос)

Если прошлые выходные начались и продолжились чрезвычайно эффективно, то эти уже не.

Ещё в пятницу при помощи/присутствии serov_sergey на летающего оптеронного монстра был взгромождён свежий Debian, но он как-то не зажил с терминалом, не инициализируюя Clitter? Clutter? Что-то подобное. В общем, гном там хотел видел GLXные библиотеки, но они были на терминале, а не на самой машине. Надо или терминал переставлять или библиотек подкидывать. Пока не знаю.

Далее удалось только съездить (в том же составе) за бухлом на НГ и за мясом на стейки. Вот стейки получились, да, а остальное не очень.

Генератор не завёлся. Тактовый для ЦАПа (вообще-то два, на две самые употребимые частоты, с переключанием парализованной поляризованной релюшкой) на операционниках работал на частоте на два порядка ниже, чем надо (при замене кварца). Немного частоту можно было поднять вместе с напряжением питания, обвесив кварц конденсаторами - но не на два порядка же! Нафиг, в помойку, на запчасти! Сначала хотел вместо микросхемного делать генератор Колпица, но чуть подумав, что это такое есть, решил всё-таки генератор Колпитца делать.

Жёсткий диск ноутбука содержал две висты и убунту. Утоптать убунту раза в два средствами её менеджера дисков (с parted и resize2fs внутри) я смог, а отогнав её в конец диска, расшиперив висты на оставшееся место (в них ничего нет и не поставить ничего - места нет - а хотелось бы mingw как минимум) - нет. Решил просто сделать разделы разделов на новом диске с зазорами, перелить висты и расшиперить - а вот фиг - диск так просто не вынимается, хоть и не под материнкой, но под крышкой, а значит и её и клавиатуру снимать... лень вообще-то. Потом.

Об внутренности верхней части колонки я обломал 3 конфирмата и 2 сверла и если свёрла я выкинул, то обломки конфирматов остались замурованными. В принципе их не жалко, но как-то неаккуратно.

И всё так. Программировать даже не пытался. Выспаться тоже не получилось - без видимых причин. Раз на раз не.

Смотреть всегда полезно

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

Решаю в качестве перерыва наладить вывод в консоль образов как их видит сеть (ну только всё-таки не линейно, а в двух измерениях). Псевдографикой, в красивой рамочке. За 0 беру пробел, а далее до единицы '.', 'I', 'O' и '#' - каждая следующая буква в консоли всё более яркая.

Запускаю. Кроме поехавших рамок (первый блин-с!) вижу инвертированные буквы со съеденными тонкими штрихами. Смотрю - а "адаптация" пикселя к входу сети у меня похоже кривая: беру "зелёный" из RGB (правильно), делю на 255, вгоняя в диапазон 0...1 (правильно), инвертирую, вычитая из единицы (правильно) и... возвращаю не результат, а "зелёный" компонент (вот это как раз неправильно вообще!).

Получается, что сеть училась распознавать "тёмные" буквы в "ярких" квадратиках (так как вокруг букв нулевые значения добавлялись как раз правильно), причём от букв мало чего оставалось.

 /------------------------------------------------------------------\
 |                                                                  |
 |                                                                  |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ####################    ##################                   |
 |     ############################  ############                   |
 |     ############    ##############  ##########                   |
 |     ##########      ##############    ########                   |
 |     ##########    ################    ########                   |
 |     ##############################    ########                   |
 |     ##############################    ########                   |
 |     ##########################        ########                   |
 |     ##############################    ########                   |
 |     ##############################    ########                   |
 |     ##############  ##############    ########                   |
 |     ##########    ################    ########                   |
 |     ########    ##################    ########                   |
 |     ########    ##################    ########                   |
 |     ######      ##################    ########                   |
 |     ########    ##################    ########                   |
 |     ##########    ##################    ######                   |
 |     ##############      ######################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |     ##########################################                   |
 |                                                                  |
 |                                                                  |
 \------------------------------------------------------------------/


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

 /------------------------------------------------------------------\
 |                                                                  |
 |                                                                  |
 |                       II                                         |
 |                     ####II  ..########OO..                       |
 |                 II########################OO                     |
 |                 II########OO..      II######OO                   |
 |                   OO####OO            II######..                 |
 |                   OO####II              ######OO                 |
 |                   OO####II              II######..               |
 |                   OO####II              ..######..               |
 |                   OO####II                ######..               |
 |                   OO####II                ######II               |
 |                   OO####II                ######II               |
 |                   OO####II                ######II               |
 |                   OO####II                ######..               |
 |                   OO####II                ####OO                 |
 |                   OO####II              ..####II                 |
 |                   II######              OO####..                 |
 |                   ..######..          ..####II                   |
 |                   ..########II      ..####OO                     |
 |                   OO####################..                       |
 |                   OO######IIIIII####OO..                         |
 |                   OO######                                       |
 |                   OO######                                       |
 |                   OO######                                       |
 |                   OO######                                       |
 |                   OO######                                       |
 |                   OO######                                       |
 |                   OO######OO                                     |
 |                 ..##########..                                   |
 |                                                                  |
 |                                                                  |
 \------------------------------------------------------------------/


Вот такую букву "р" видит сеть (а не огрызок и не половинку).