cifar10:TypeError:range()至少需要2个参数(给定1个)

时间:2016-02-26 06:47:48

标签: python-2.7 tensorflow

当我构建文件:cifar10_train.py时,会出现:

  ...
  File ".../cifar10.py", line 271, in loss
    indices = tf.reshape(tf.range(FLAGS.batch_size), [FLAGS.batch_size, 1])
TypeError: range() takes at least 2 arguments (1 given)

文件cifar10.py中出现问题。

2 个答案:

答案 0 :(得分:1)

您似乎正在使用TensorFlow版本0.5和更新版本的cifar10_train.py脚本。版本0.5发布后,tf.range()的签名被更改为接受单个参数(如Python range()内置函数)。

我始终建议使用TensorFlow upgrading to the latest version,因为自首次发布以来,运行时已经有许多性能和稳定性方面的改进。

如果这不起作用,则会采用以下等效代码from the original release

indices = tf.reshape(tf.range(0, FLAGS.batch_size, 1), [FLAGS.batch_size, 1])

答案 1 :(得分:0)

我改变命令如下:

#indices = tf.reshape(tf.range(FLAGS.batch_size), [FLAGS.batch_size, 1])
indices = tf.reshape(range(FLAGS.batch_size), [FLAGS.batch_size, 1])

然后,代码运行良好。