【问题标题】:cifar10: TypeError: range() takes at least 2 arguments (1 given)cifar10: TypeError: range() 至少需要 2 个参数(1 个给定)
【发布时间】:2016-02-26 06:47:48
【问题描述】:

当我构建文件: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

【问题讨论】:

    标签: python-2.7 tensorflow


    【解决方案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])
    

    【讨论】:

      【解决方案2】:

      我将命令更改如下:

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

      然后,代码运行良好。

      【讨论】:

        猜你喜欢
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        • 2012-10-08
        • 2017-05-10
        • 2013-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多