北野坂備忘録

主にインストールやプログラミングのメモを載せています。

『Python機械学習プログラミング』のKerasで引っかかる

 『Python機械学習プログラミング』をおすすめした人から、Kerasのところでつまづいたとのこと。

 エラー文を見せてもらうと、

from keras.utils import np_utils
Using TensorFlow backend.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/***/.pyenv/versions/anaconda3-4.1.0/envs/anaconda3/lib/python3.5/site-packages/keras/__init__.py", line 2, in <module>
    from . import backend
  File "/home/***/.pyenv/versions/anaconda3-4.1.0/envs/anaconda3/lib/python3.5/site-packages/keras/backend/__init__.py", line 67, in <module>
    from .tensorflow_backend import *
  File "/home/***/.pyenv/versions/anaconda3-4.1.0/envs/anaconda3/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 1, in <module>
    import tensorflow as tf
ImportError: No module named 'tensorflow'

 ファッ!?
 なぜtensorflow?
 と思ったら、KerasのデフォルトのバックエンドがTensorFlowになってる〜!
 確かにこれはTheanoしか入れてなきゃ動かないわ。

studylog.hateblo.jp

 はーなるほど。KerasがTensorFlowに統合されつつあるのね。
 Kerasがいつかの段階でバックエンドにTheanoだけでなくTensorFlowを選べるようになっていて、しかもデフォルトがTensorFlowになっているので『Python機械学習プログラミング』のとおりにやってもコケると。
 TensorFlowを入れてもいいんですが今回はバックエンドの変更で済ませました。

バックエンド - Keras Documentation

 『Python機械学習プログラミング』は2016年7月発売の本なんですけどねぇ。時代はもうこんなに変わっているのか……。