【发布时间】:2019-01-12 01:17:17
【问题描述】:
我在 Ubuntu 系统下使用 CPU 版本的 Tensorflow 1.9 和 Python 3.6 运行 python object_detection/builders/model_builder_test.py,出现 NameError: name 'xrange' is not defined,有人知道为什么会发生这种情况以及如何处理它?谢谢。这是我遵循的指南。
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md
Traceback (most recent call last):
File "object_detection/builders/model_builder_test.py", line 311, in test_create_ssd_resnet_v1_fpn_model_from_config
model = model_builder.build(model_proto, is_training=True)
File "/home/tensorflow/models/research/object_detection/builders/model_builder.py", line 110, in build
add_background_class)
File "/home/tensorflow/models/research/object_detection/builders/model_builder.py", line 214, in _build_ssd_model
ssd_config.anchor_generator)
File "/home/tensorflow/models/research/object_detection/builders/anchor_generator_builder.py", line 91, in build
cfg.normalize_coordinates
File "/home/tensorflow/models/research/object_detection/anchor_generators/multiscale_grid_anchor_generator.py", line 61, in __init__
for scale in xrange(scales_per_octave)]
NameError: name 'xrange' is not defined
【问题讨论】:
-
xrange 在 python 3 上不存在。使用范围
-
@joaquin 值得注意的是,python 2 中不存在范围,因此如果 OP 需要在早于 python 3 的 python 版本中使用它,则应使用 xrange
-
@Adi219 他正在使用帖子中声明的 Python 3.6
-
@joaquin 我知道,这就是为什么我说它“值得注意”:)(因为它对于偶然发现这个问题的用户仍然是有用的信息)
-
@Adi219
range确实存在于 Python 2 中,它返回一个列表而不是生成器。
标签: python python-3.x tensorflow