【发布时间】:2018-01-20 01:00:58
【问题描述】:
我使用卷积神经网络在 TensorFlow 中编写代码来读取街景门牌号 (SVHN) 数据。
首先,我将每个图像的标签存储在一个数组中,然后我使用 TFRecords 读取每个图像及其数组标签。例如::
我存储包含 5348 个地址的图像的标签,例如 [4,5,3,4,8,0]。索引 1 与地址(图像)中的位数有关,最后一个数字与此索引中的无位数有关,这意味着图像有 5 位而不是 4 位,有时有 3 或 2 个。
在图层步骤中。我使用了 5 个全连接层,我不确切知道(详细)为什么我应该这样做,但我知道标签中每个数字的每个 logit。然后我对每个 logits 的损失函数求和
logits1 = fully_connected(network, 10, weights_init='xavier') #activation='softmax'
logits2 = fully_connected(network, 10, weights_init='xavier')
logits3 = fully_connected(network, 10, weights_init='xavier')
logits4 = fully_connected(network, 10, weights_init='xavier')
logits5 = fully_connected(network, 10, weights_init='xavier')
loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits1, labels= labels[:,1])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits2, labels= labels[:,2])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits3, labels= labels[:,3])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits4, labels= labels[:,4])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits3, labels= labels[:,5]))
错误是::
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits4, labels= labels[:,4])) +\
ValueError: 使用输入昏暗 1 的索引超出范围;对于 'strided_slice' (op: 'StridedSlice'),输入只有 1 个暗淡,输入形状为:[2]、[2]、[2]、[2],计算输入张量为:input[3] = .
编辑:::
the code --> 每个地址的位数都是固定的
【问题讨论】:
标签: tensorflow deep-learning conv-neural-network