Keras – это библиотека, позволяющая на более высоком уровне работать с нейросетями. Она упрощает множество задач, используется в быстрых экспериментах и сильно уменьшает количество однообразного кода. В качестве бекендной библиотеки для вычислений keras может использовать theano и tenzorfow.
Theano и tensorflow отличаются в своей реализации и в скорости расчета весов нейросетей. Для разных задач каждая библиотека имеет свое преимущество. На таблице ниже показана разница в скорости расчета на СPU 2.2 GHz Intel Core i7. Задачи для сравнения взяты отсюда (https://github.com/fchollet/keras/tree/master/examples).
В следующей таблице показаны эти же задачи, но на GPU GeForce GTX 960.
Как видно, в первом случае tenzorflow быстрее считает сверточную сеть на центральном процессоре. А во втором, наоборот, theano со сверточной сетью справляется быстрее.
По умолчанию Keras устанавливается с пакетом нейросетей Theano. Но можно установить в качестве бекенда для него пакет Tenzorflow. Для этого необходимо отредактировать файл с настройками:
1 | nano ~/.keras/keras.json |
Содержимое его по умолчанию выглядит:
1 2 3 4 5 6 | { "epsilon": 1e-07, "image_dim_ordering": "th", "floatx": "float32", "backend": "theano" } |
Нужно заменить последнюю строку на «backend»: «tensorflow» .
Чтобы убедиться в успешной смене бекенда, достаточно выполнить импорт библиотеки keras в python – файле или интерактивном интерпретаторе:
1 | import keras |
И увидеть сообщение:
Using TensorFlow backend.