動機

とりあえずVGG16動かしたい。Kerasを使うのがよさそう。公式によるとまずバックエンドをインストールせよとのこと。無難に推奨されているTensorflowを選択してTensorflowの公式に行った。どうやらpipでインストールできるようなので迷いなく

pip install tensorflow

した。

Python3.7でTensorflow使えない

しかしDependenciesが条件満たしていないので無理だとはねられた。具体的にはPythonのバージョンが<=3.6でないと無理というやつ。少し調べると現時点(2019.1.14)ではTensorflow使うにはPython3.6にダウングレードするしかないと。そんなことある?逆ならともかく下げないといけないってどういう現象なの?普通に考えて3.7でobsoleteになったか削除された機能をふんだんに使っているとかしないと起こんないと思うんですが。

なくなくPython3.6を落としてきて再びインストールした。同時に3.7と共存させるためにパスもいったん切り替えるなどして準備をした。ライブラリも3.6と3.7で共用できないので例によってnumpyをunofficial windows binaryから落としてきてインストール。matplotlibとかscipyとかも入れた。

Python3.7でもTensorflow使える?

numpyをunofficial windows binaryから取ってくるときにtensorflow 3.7みたいなのを目にした。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow

おいおい話が違うじゃないかと。3.7でTensorflowできないのでバージョンを落とせと言っていたのに何なんだ。とりあえず落としてみてpython3.7のほうのpipに食わせてみたところ一応問題なくインストールされる。(この時なぜかsetuputilが古いバージョンで再インストールされてしまったけど)

そして再びKerasの公式に戻り続きをみるとこちらもpipで出来るそうなので

pip install keras

した。すると入った。どうせ初回のimport時に無理とかぬかしてくるのかと思ったらなんかメッセージは出たけど普通に動きました。まだ実践的なコードは動かしていませんが。ひとまず一旦入れてしまったpython3.6、消してまた結局無理でもう一度いれるのはアレなので置いておきます。ディスク容量が無駄すぎる。