如何解决“训练数据的顺序影响准确性”?

当我使用Cat&Dog数据集训练我的cnn模型时,准确性受数据集顺序的影响。  精度计数器从输入[0]到输入[3000]增加,然后对于输入[3000]〜输入[6000]很少增加。  这意味着该模型对训练集中的每只猫进行分类,而很少对某些狗进行分类。  尽管训练是基于混合数据,但它确实发生了。  我不知道怎么了。

#Random Order
ROB = [] ; batch_size = 30 ; Total_size = 6000/batch_size
for i in range(int(Total_size)):
    x = rd.randint(0,Total_size-1)
    while x in ROB:
        x = rd.randint(0,Total_size-1)
    ROB.append(x)
#Train
for epoch in range(5):

    for i in ROB:
        start = ((i+1) * batch_size) - batch_size
        end = ((i+1) * batch_size)
        batch_xs = ip[start:end]
        batch_ys = op[start:end]
        feed_dict = {X: batch_xs,Y:batch_ys,keep_prob:0.8}
        l,_ = sess.run([loss,optimizer],feed_dict= feed_dict)
    print('Epoch:{} - Loss:{}'.format(epoch,l))
    if (epoch+1)%1 ==0:
        correct_prediction = tf.equal(tf.argmax(logits,1),tf.argmax(Y,1))
        accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
        count = 0
        for j in range(6000):
            count += sess.run(accuracy,feed_dict={X:[ip[j]],Y:[op[j]],keep_prob:1.0})
            if sess.run(accuracy,keep_prob:1.0})==1:
                print(j)
        print(count)
ranran_001 回答:如何解决“训练数据的顺序影响准确性”?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168133.html

大家都在问