我试图使用张量流中的常规神经网络以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。
发生错误的原因是因为只有1个输入图像传递给, SparseSoftmaxEntropyWithLogits而不是完整的批次。这行引起问题:
# change your single input `image` to a batch of `images`
images = tf.reshape(images, [-1, IMAGE_SIZE, IMAGE_SIZE, depth])
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。