Tensorflow预测总是相同的结果

约翰尼000

我正在尝试使用自己的数据运行TensorFlow示例,但是以某种方式分类器始终为每个测试示例选择相同的类。输入数据始终先洗牌。我有约4000张图像作为训练集,有500张图像作为测试集。

我得到的结果看起来像:

Result: [[ 1.  0.]] Actually: [ 1.  0.] 
Result: [[ 1.  0.]] Actually: [ 0.  1.] 
Result: [[ 1.  0.]] Actually: [ 1.  0.] 
Result: [[ 1.  0.]] Actually: [ 1.  0.] 
Result: [[ 1.  0.]] Actually: [ 0.  1.] 
Result: [[ 1.  0.]] Actually: [ 0.  1.]
...

右侧保留所有500张图像[1. 0.]分类是二进制的,所以我只有两个标签。

这是我的源代码:

import tensorflow as tf
import input_data as id

test_images, test_labels = id.read_images_from_csv(
    "/home/johnny/Desktop/tensorflow-examples/46-model.csv")

train_images = test_images[:4000]
train_labels = test_labels[:4000]
test_images = test_images[4000:]
test_labels = test_labels[4000:]

print len(train_images)
print len(test_images)

pixels = 200 * 200
labels = 2

sess = tf.InteractiveSession()

# Create the model
x = tf.placeholder(tf.float32, [None, pixels])
W = tf.Variable(tf.zeros([pixels, labels]))
b = tf.Variable(tf.zeros([labels]))
y_prime = tf.matmul(x, W) + b
y = tf.nn.softmax(y_prime)

# Define loss and optimizer
y_ = tf.placeholder(tf.float32, [None, labels])
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(y_prime, y_)
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

# Train
tf.initialize_all_variables().run()
for i in range(10):
    res = train_step.run({x: train_images, y_: train_labels})
# Test trained model
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(accuracy.eval({x: test_images, y_: test_labels}))

for i in range(0, len(test_images)):
    res = sess.run(y, {x: [test_images[i]]})
    print("Result: " + str(res) + " Actually: " + str(test_labels[i]))

我错过了一点吗?

ry

您的代码中存在三个潜在的问题:

  1. 权重W初始化为零。来自stats.stackexchange.com的这个问题很好地讨论了为什么这会导致不良的培训结果(例如陷入局部最低水平)。相反,您应该随机初始化它们,例如,如下所示:

    W = tf.Variable(tf.truncated_normal([pixels, labels],
                                        stddev=1./math.sqrt(pixels)))
    
  2. cross_entropy将其最小化之前,应将其汇总为单个标量值,例如tf.reduce_mean()

    cross_entropy = tf.reduce_mean(
        tf.nn.softmax_cross_entropy_with_logits(y_prime, y_))
    
  3. 如果您在小型批次(甚至单个示例)上进行训练,而不是一次对整个数据集进行训练,则可能会获得更快的收敛速度:

    for i in range(10):
            for j in range(4000):
                res = train_step.run({x: train_images[j:j+1],
                                      y_: train_labels[j:j+1]})
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于回归的tensorflow深层神经网络总是可以在一批中预测相同的结果

来自分类Dev

为什么我的 keras 模型总是预测相同的结果?

来自分类Dev

解码器总是预测相同的令牌

来自分类Dev

Huggingface TFBertForSequenceClassification总是预测相同的标签

来自分类Dev

TensorFlow LSTM预测相同的值

来自分类Dev

Keras 预测每次都返回相同的结果

来自分类Dev

为什么我的Spark SVM总是预测相同的标签?

来自分类Dev

Tensorflow 2图像批量预测返回结果

来自分类Dev

QString :: mid()总是返回相同的结果

来自分类Dev

random.choice总是打印相同的结果

来自分类Dev

为什么“if”函数总是输出相同的结果

来自分类Dev

为什么tensorflow模型总是预测同一类?

来自分类Dev

sklearn管道模型对所有输入预测相同的结果

来自分类Dev

Keras C3DNN 预测结果相同

来自分类Dev

Tensorflow预训练的CNN:预测图像的相同类别

来自分类Dev

tensorflow 2.0中的批次标准化使预测结果更糟

来自分类Dev

Tensorflow.js的预测结果不会改变

来自分类Dev

字符串hashCode():总是相同的结果吗?

来自分类Dev

为什么NOT IN不总是与Oracle中的MINUS检索相同的结果?

来自分类Dev

查询计划是否总是给出相同的结果顺序?

来自分类Dev

为什么optim()总是给我相同的结果?

来自分类Dev

为什么我的if语句在React中总是给出相同的结果?

来自分类Dev

字符串hashCode():总是相同的结果吗?

来自分类Dev

函数中的Math.Random总是相同的结果

来自分类Dev

MongoDB是否总是以相同顺序返回查询结果?

来自分类Dev

我的Keras卷积模型预测了从不同路径导入的相同图像,但预测结果不同

来自分类Dev

为什么TensorFlowJS中的model.predict()总是返回相同的预测?

来自分类Dev

Caffe在Python中总是给出相同的预测,但是训练的准确性很好

来自分类Dev

rand()函数是否总是使用相同的种子产生相同的结果?

Related 相关文章

  1. 1

    用于回归的tensorflow深层神经网络总是可以在一批中预测相同的结果

  2. 2

    为什么我的 keras 模型总是预测相同的结果?

  3. 3

    解码器总是预测相同的令牌

  4. 4

    Huggingface TFBertForSequenceClassification总是预测相同的标签

  5. 5

    TensorFlow LSTM预测相同的值

  6. 6

    Keras 预测每次都返回相同的结果

  7. 7

    为什么我的Spark SVM总是预测相同的标签?

  8. 8

    Tensorflow 2图像批量预测返回结果

  9. 9

    QString :: mid()总是返回相同的结果

  10. 10

    random.choice总是打印相同的结果

  11. 11

    为什么“if”函数总是输出相同的结果

  12. 12

    为什么tensorflow模型总是预测同一类?

  13. 13

    sklearn管道模型对所有输入预测相同的结果

  14. 14

    Keras C3DNN 预测结果相同

  15. 15

    Tensorflow预训练的CNN:预测图像的相同类别

  16. 16

    tensorflow 2.0中的批次标准化使预测结果更糟

  17. 17

    Tensorflow.js的预测结果不会改变

  18. 18

    字符串hashCode():总是相同的结果吗?

  19. 19

    为什么NOT IN不总是与Oracle中的MINUS检索相同的结果?

  20. 20

    查询计划是否总是给出相同的结果顺序?

  21. 21

    为什么optim()总是给我相同的结果?

  22. 22

    为什么我的if语句在React中总是给出相同的结果?

  23. 23

    字符串hashCode():总是相同的结果吗?

  24. 24

    函数中的Math.Random总是相同的结果

  25. 25

    MongoDB是否总是以相同顺序返回查询结果?

  26. 26

    我的Keras卷积模型预测了从不同路径导入的相同图像,但预测结果不同

  27. 27

    为什么TensorFlowJS中的model.predict()总是返回相同的预测?

  28. 28

    Caffe在Python中总是给出相同的预测,但是训练的准确性很好

  29. 29

    rand()函数是否总是使用相同的种子产生相同的结果?

热门标签

归档