InvalidArgumentError(请参阅上面的回溯):indexs [0] = [0,22]超出范围:需要0 <= index <[128,10]

时间:2018-09-05 02:27:20

标签: python tensorflow

在尝试使用tensorflow运行resnet时遇到以下问题。

根据错误信息,参数存在一些问题,我认为这可能是批次大小。

但是,当我调试时,批处理大小为128!

  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\client\session.py", line 1335, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[0] = [0,22] is out of bounds: need 0 <= index < [128,10]
     [[Node: SparseToDense = SparseToDense[T=DT_FLOAT, Tindices=DT_INT32, validate_indices=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](concat/_3265, SparseToDense/output_shape/_3267, SparseToDense/sparse_values/_3269, SparseToDense/default_value/_3271)]]

Caused by op 'SparseToDense', defined at:
  File "D:\Pycharm\PyCharm Community Edition 2018.2.2\helpers\pydev\pydevd.py", line 1664, in <module>
    main()
  File "D:\Pycharm\PyCharm Community Edition 2018.2.2\helpers\pydev\pydevd.py", line 1658, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "D:\Pycharm\PyCharm Community Edition 2018.2.2\helpers\pydev\pydevd.py", line 1068, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "D:\Pycharm\PyCharm Community Edition 2018.2.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "F:/PythonTensor/ResNet_cifar-master/resnet_main.py", line 263, in <module>
    tf.app.run()
  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\platform\app.py", line 125, in run
    _sys.exit(main(argv))
  File "F:/PythonTensor/ResNet_cifar-master/resnet_main.py", line 256, in main
    train(hps)
  File "F:/PythonTensor/ResNet_cifar-master/resnet_main.py", line 80, in train
    FLAGS.dataset, FLAGS.train_data_path, hps.batch_size, FLAGS.mode)
  File "F:\PythonTensor\ResNet_cifar-master\cifar_input.py", line 125, in build_input
    [batch_size, num_classes], 1.0, 0.0)
  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\ops\sparse_ops.py", line 776, in sparse_to_dense
    name=name)
  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\ops\gen_sparse_ops.py", line 2823, in sparse_to_dense
    name=name)
  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\framework\ops.py", line 3414, in create_op
    op_def=op_def)
  File "D:\Anaconda3\envs\TensorGPU\lib\site-packages\tensorflow\python\framework\ops.py", line 1740, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): indices[0] = [0,22] is out of bounds: need 0 <= index < [128,10]
     [[Node: SparseToDense = SparseToDense[T=DT_FLOAT, Tindices=DT_INT32, validate_indices=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](concat/_3265, SparseToDense/output_shape/_3267, SparseToDense/sparse_values/_3269, SparseToDense/default_value/_3271)]]


Process finished with exit code -1

我该如何处理?


我重新调试了这段代码,发现参数“批量大小”是正确的,所以我猜是“索引”是问题所在。

在加载数据库“ cifar-10”时分配了变量“ indices”,那么如果数据库只有10个类,class_number怎么会超过10?

0 个答案:

没有答案