2018-06-24

vak: (Default)
Вид на внутренность вулкана Haleakalā. Он успокоился примерно миллион лет назад, и его верхушка выветрилась в форме огромной чаши. Позже в ней выпукнулись несколько молодых шлаковых конусов.

Кликайте на фотки, чтобы рассмотреть в высоком разрешении.



Вид с того же места в другую сторону, на равнину между Халеакала и западными горами. Самый высокий пик западных гор называется Кукуй.

Слева внизу в долине находится город Кихеи, где мы и остановились.



Пейзаж на тропе Halemau'u. Правильный способ пройти по ней: стартовать с верхушки вулкана, пройти мимо нескольких шлаковых конусов на первой фотке, и через шесть часов выйти к дороге, где голоснуть проезжающую машину и вернуться обратно на вершину. Там есть специальное место для хич-хайкинга, обозначенное табличкой. Мы подвезли двух голоснувших парней - оказались молодые ребята из Орегона. Ведут интересный образ жизни: по полгода живут на Мауи, водят туристические группы, потом возвращаются на материк, работают там.

vak: (Default)
Устанавливаю tensorflow на Убунту из стандартного пакета: "pip install tensorflow". Запускаю пример из книжки:

$ python mnist_training.py
Using TensorFlow backend.
2018-06-24 16:12:35.542752: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Epoch 1/5
60000/60000 [==============================] - 4s 66us/step - loss: 0.2575 - acc: 0.9259
Epoch 2/5
60000/60000 [==============================] - 4s 64us/step - loss: 0.1047 - acc: 0.9688
Epoch 3/5
60000/60000 [==============================] - 4s 65us/step - loss: 0.0696 - acc: 0.9794
Epoch 4/5
60000/60000 [==============================] - 4s 65us/step - loss: 0.0494 - acc: 0.9850
Epoch 5/5
60000/60000 [==============================] - 4s 65us/step - loss: 0.0383 - acc: 0.9888
10000/10000 [==============================] - 0s 34us/step
Test set accuracy: 0.9797

На одну итерацию уходит 65 микросекунд. Процессор моего ноутбука поддерживает совмещённое умножение-сложение (FMA) и 256-битные векторные регистры (AVX2), которые не задействованы в этой версии tensorflow. Чтобы их включить, надо пересобрать tensorflow с текстов. Процедура сборки долгая, компиляция в моём случае заняла порядка шести часов.

Пробуем пересобранную версию:

$ python mnist-training.py
Using TensorFlow backend.
Epoch 1/5
60000/60000 [==============================] - 3s 54us/step - loss: 0.2577 - acc: 0.9252
Epoch 2/5
60000/60000 [==============================] - 3s 52us/step - loss: 0.1044 - acc: 0.9685
Epoch 3/5
60000/60000 [==============================] - 3s 53us/step - loss: 0.0690 - acc: 0.9796
Epoch 4/5
60000/60000 [==============================] - 3s 52us/step - loss: 0.0507 - acc: 0.9850
Epoch 5/5
60000/60000 [==============================] - 3s 53us/step - loss: 0.0385 - acc: 0.9886
10000/10000 [==============================] - 0s 27us/step
Test set accuracy: 0.9767


Скорость улучшилась до 53 микросекунд на итерацию, или на 18%. Мелочь, а приятно.