#結論
ubuntu14.04 + CUDA 7.0 + cudnn 4
から
ubuntu16.04 + CUDA 8.0 + cudnn 5に変えたら治った。
(CUDA8.0を用いる場合は、ソースコードからコンパイルする必要があるので注意。)
研究室のHPCにそれとなく付いていたgtx960を使ってMNIST等を試していたのだが、ある日gtx1080を入れることになって、差し替えてドライバを入れなおした。
エラー等全く出ないので、一安心とか思っていたら、MNISTのコードが動かなくなる。というか精度が全く上がらなくなる。原因を突き止めると、計算結果がすべて0になり、エントロピーを求める計算でlog(0)を計算していたことに気づく。詳しく調べると、tensorflow内での計算がおかしくなっていたので、これは・・・対応とかの問題ではと気づく。もしやと思い環境を変えたら治った。
はっきりとした原因がわかっているわけではないので、これで治ると断言できるわけではないです。同様の問題があまり取り扱われていないので、参考になれば・・・幸いです。