开发者社区> 问答> 正文

尺寸必须相等,但对于'SparseSoftmaxCrossEntropyWithLogits,尺寸应

我试图使用张量流中的常规神经网络以png格式读取图像。我遇到了无法在读取数据步骤中处理标签的问题,因此,这给了我一个错误。

我以为第一件事是当我创建批处理队列并随机播放时发生了问题。这是tf.train.shuffle_batch中预期的1-D 问题,但实际上它的形状为3-D。

我修好了 然后给我损失函数中的另一个错误

子代码在这里

问题是::

追溯(最近一次通话最近):tf.app.run()中的文件“ SVHN.py”,第280行,文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform /app.py”,第48行,在运行_sys.exit(main(_sys.argv [:1] + flags_passthrough))文件“ SVHN.py”,第269行,在主train_op = SVHN_architecture_AND_optimize()文件中,“ SVHN.py ”,第203行,在SVHN_architecture_AND_optimize cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits,标签=标签)文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/nn_ops。 py”,第1742行,在sparse_softmax_cross_entropy_with_logits上,precise_logits,标签,名称=名称)文件“ / home / ashwaq / anaconda3 / lib / python3。6 / site-packages / tensorflow / python / ops / gen_nn_ops.py“,第2418行,位于_sparse_softmax_cross_entropy_with_logits features = features,labels = labels,name = name)中,文件“ /home/ashwaq/anaconda3/lib/python3.6/site” -packages / tensorflow / python / framework / op_def_library.py”,行768,位于apply_op op_def = op_def中)“ / home / ashwaq / anaconda3 / lib / python3.6 / site-packages / tensorflow / python / framework / ops”文件。 py”,第2338行,在create_op set_shapes_for_outputs(ret)文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”中,行1719,在set_shapes_for_outputs形状= shape_func中(op)文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”,第1669行,在call_with_requiring中返回call_cpp_shape_fn(op,require_shape_fn = True)文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py”,行610,在call_cpp_shape_fn中debug_python_shape_fn,require _call_cpp_shape_fn_impl中的文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py”第676行,引发ValueError(err.message)ValueError:尺寸必须相等,但输入形状为[1,10],[128]的“ SparseSoftmaxCrossEntropyWithLogits / SparseSoftmaxCrossEntropyWithLogits”(操作数:“ SparseSoftmaxCrossEntropyWithLogits”)为1和128。py”,第610行,在call_cpp_shape_fn中debug_python_shape_fn,require_shape_fn)文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py”,第676行,在_call_cpp_shape_fn_impl中引发err.message)ValueError:尺寸必须相等,但对于输入形状为[1,10],[128]的'SparseSoftmaxCrossEntropyWithLogits / SparseSoftmaxCrossEntropyWithLogits'(op:'SparseSoftmaxCrossEntropyWithLogits'),尺寸必须为1和128。py”,第610行,在call_cpp_shape_fn中debug_python_shape_fn,require_shape_fn)文件“ /home/ashwaq/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py”,第676行,在_call_cpp_shape_fn_impl中引发err.message)ValueError:尺寸必须相等,但对于输入形状为[1,10],[128]的'SparseSoftmaxCrossEntropyWithLogits / SparseSoftmaxCrossEntropyWithLogits'(op:'SparseSoftmaxCrossEntropyWithLogits'),尺寸必须为1和128。但对于“ SparseSoftmaxCrossEntropyWithLogits / SparseSoftmaxCrossEntropyWithLogits”(op:“ SparseSoftmaxCrossEntropyWithLogits”),输入形状为[1,10],[128]则为1和128。但对于“ SparseSoftmaxCrossEntropyWithLogits / SparseSoftmaxCrossEntropyWithLogits”(op:“ SparseSoftmaxCrossEntropyWithLogits”),输入形状为[1,10],[128]则为1和128。

展开
收起
祖安文状元 2020-02-23 16:40:18 5447 0
1 条回答
写回答
取消 提交回答
  • 发生错误的原因是因为只有1个输入图像传递给, SparseSoftmaxEntropyWithLogits而不是完整的批次。这行引起问题:

    # change your single input `image` to a batch of `images`
    images = tf.reshape(images, [-1, IMAGE_SIZE, IMAGE_SIZE, depth])
    
    2020-02-23 16:40:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载