1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

python > from six.moves import xrange > Six: Python 2 と 3 の互換性ライブラリ > python2: xrange() / python3: range()

Last updated at Posted at 2016-10-11

TensorFlowというDeep Learning関連のもので、pythonコードを学習中。
https://www.tensorflow.org/versions/master/tutorials/mnist/tf/index.html#tensorflow-mechanics-101

その fully_connected_feed.py にある以下の記述について

from six.moves import xrange  # pylint: disable=redefined-builtin

Sixは、Python 2 と Python 3 の間の違いを吸収するためのシンプルなユーティリティを提供します。

同じページの下の方に対応表がある。

Six名 Python2名 Python3名
... ... ...
range xrange() range
... ... ...

Six名にすることでPython3対応しやすくするのだろう。

しかしながら fully_connected_feed.py においては以下のように Python2名で記載しているので、Python3対応するときに結局書き直さないといけない。

    # Start the training loop.
    for step in xrange(FLAGS.max_steps):

ためしに以下のようにしても実行でき、Precisionも同様になった。

    # Start the training loop.
    for step in range(FLAGS.max_steps):

元々の fully_connected_feed.py において、以下をコメントアウトしても動作に問題ないので、結局Sixは使われていないような気がする。

from six.moves import xrange  # pylint: disable=redefined-builtin
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?