TensorFlowでRNNのPTB LSTM model(ptb_word_lm.py)を実行するとエラーが出る件について, 解決したので記録

環境

  • OS X
  • Python 2.7系
  • TensorFlow 0.7系

概要

TensorFlowでRNNのPTB LSTM model(ptb_word_lm.py)の実行を試みたところ, エラーになったので, その対処をしました.
カレントディレクトリはptb_word_lm.pyがある階層です.

エラー1「AttributeError: ‘module’ object has no attribute ‘gfile’」

GitHubのissue #1121によると, ズバリ0.6.0を使ってくれとのことでした. よって今のところはブランチを0.6.0に変えて解決です(vrvさんによると現在バグ対処してくれている模様です).

エラー2「ImportError: No module named ptb」

ptb_word_lm.pyのfrom tensorflow.models.rnn.ptb import readerimport readerにして解決です.

エラー3「TypeError: unsupported operand type(s) for /: ‘Tensor’ and ‘int’」

futureのdivisionモジュールでの割り算でエラーが出ています.
これはPython 3系を使っていれば起こらないエラーのようです. 自分は2.7系なのでfrom __future__ import divisionをコメントアウトして解決です.

エラー4「NameError: global name ‘time’ is not defined」

timeモジュールが見つからないためエラーが出ています.
import timeを追加して解決です.