Python Tensorflow可提高测试精度

Python Tensorflow可提高测试精度,python,numpy,matplotlib,keras,tensorflow2.0,Python,Numpy,Matplotlib,Keras,Tensorflow2.0,伙计们,我是tensorflow的新手,我刚开始学习已经有两天了。我遵循tensorflow的步骤并记录代码的含义。之后,我尝试做类似的项目,就像我在tensorflow教程中做的一样 由于只有2天的时间,我试着做一个图像分类。但测试结果的准确性很差,不能做出真实的评价 你能不能指导我,教我如何改进这段代码,或者我应该学习什么来改进这段代码 注意事项: -我已经在colabs.google中创建了这个项目(你可以通过复制代码在这里尝试) -我获取的数据集==> 这是我的代码: import te

伙计们,我是tensorflow的新手,我刚开始学习已经有两天了。我遵循tensorflow的步骤并记录代码的含义。之后,我尝试做类似的项目,就像我在tensorflow教程中做的一样

由于只有2天的时间,我试着做一个图像分类。但测试结果的准确性很差,不能做出真实的评价

你能不能指导我,教我如何改进这段代码,或者我应该学习什么来改进这段代码

注意事项: -我已经在colabs.google中创建了这个项目(你可以通过复制代码在这里尝试) -我获取的数据集==>

这是我的代码:

import tensorflow as tf

from tensorflow import keras

import numpy as np

import matplotlib.pyplot as plt

(train_i, train_l), (test_i, test_l) = tf.keras.datasets.cifar10.load_data()

classnames = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']

model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))

model = keras.Sequential([    
    keras.layers.Flatten(),
    keras.layers.Dense(100, activation='relu'), #burada kaç tane node olacağını belirtiyoruz yani mesela burada 108 se 108 tane node vardır. Node sayısını arrtırdıkça işlem hızımız düşüyor ama tahmin değerlerimiz gerçeğe daha yakın oluyor.
    keras.layers.Dense(10) #burada ise 10 diyoruz çünkü 10 tane class içinden seçecek.
])
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

model.fit(train_i, train_l, epochs=100)

test_loss, test_acc = model.evaluate(test_i,  test_l, verbose=2)
print(test_acc)
prediction = tf.keras.Sequential([model, tf.keras.layers.Softmax()]).predict(test_i)

i = 90

prediction[i]

prediction_made= np.argmax(prediction[i])

f= train_l[i]

s=str(train_l[i])
print(str(s)[1:-1])

b = int(str(s)[1:-1])

y = classnames[b]

x = classnames[prediction_made]

img = train_i
plt.grid(False)
plt.xticks([]) 
plt.yticks([]) 
plt.imshow(img[i])

plt.xlabel('The True Label is ' + repr(y) + 
           ', and The Predicted Label is ' + repr(x) + '...') 

你的“模型”是对的

  • models.Sequential()
  • 模型=keras.连续(…)
  • 所以第一部分不包括在最终的“模型”中

    像这样修改模型零件代码

    model = keras.Sequential([  
       keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32 ,3)),
       keras.layers.MaxPooling2D((2, 2)),                     
       keras.layers.Flatten(),
       keras.layers.Dense(100, activation='relu'),
       keras.layers.Dense(10)
    ])
    

    我试过了,但上面写着:第36行“^SyntaxError:无效语法@Ö.ALPERENGÜL我不知道你的第36行是什么。检查一下我做的这个colab页面。它的工作原理是:谢谢,我可以问其他人吗?为什么准确率这么低?我怎样才能提高它?@Ö.ALPERENGÜL你说的准确度是什么<代码>历元100/100 1563/1563[=============================================-36s 23ms/步-损耗:0.4011-精度:0.8601在历元100时,模型的精度为86%,这并不是那么低。