Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何提高图像分类模型的精度_Python_Image Processing_Keras_Deep Learning_Conv Neural Network - Fatal编程技术网

Python 如何提高图像分类模型的精度

Python 如何提高图像分类模型的精度,python,image-processing,keras,deep-learning,conv-neural-network,Python,Image Processing,Keras,Deep Learning,Conv Neural Network,我在做图像分类,我得到的列车精度是90,验证是85,请帮助我如何提高精度。这是我的模型 model = Models.Sequential() model.add(Layers.Conv2D(200,kernel_size=(3,3),activation='relu',input_shape=(64,64,3))) model.add(Layers.Conv2D(180,kernel_size=(3,3),activation='relu')) model.add(Layers.MaxPoo

我在做图像分类,我得到的列车精度是90,验证是85,请帮助我如何提高精度。这是我的模型

model = Models.Sequential()

model.add(Layers.Conv2D(200,kernel_size=(3,3),activation='relu',input_shape=(64,64,3)))
model.add(Layers.Conv2D(180,kernel_size=(3,3),activation='relu'))
model.add(Layers.MaxPool2D(2,2))
model.add(Layers.Conv2D(180,kernel_size=(3,3),activation='relu'))
model.add(Layers.Conv2D(140,kernel_size=(3,3),activation='relu'))
model.add(Layers.Conv2D(100,kernel_size=(3,3),activation='relu'))
model.add(Layers.Conv2D(50,kernel_size=(3,3),activation='relu'))
model.add(Layers.MaxPool2D(2,2))
model.add(Layers.Flatten())
model.add(Layers.Dense(180,activation='relu'))
model.add(Layers.Dropout(rate=0.5))
model.add(Layers.Dense(100,activation='relu'))
model.add(Layers.Dropout(rate=0.5))
model.add(Layers.Dense(50,activation='relu'))
model.add(Layers.Dropout(rate=0.5))
model.add(Layers.Dense(6,activation='softmax'))

model.compile(optimizer=Optimizer.Adam(lr=0.0001),loss='sparse_categorical_crossentropy',metrics=['accuracy'])
SVG(model_to_dot(model).create(prog='dot', format='svg'))
Utils.plot_model(model,to_file='model.png',show_shapes=True)
model.summary()
这是我的时代:

Epoch 28/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.3929 - acc: 0.8777 - val_loss: 0.4905 - val_acc: 0.8437
Epoch 29/35
11923/11923 [==============================] - 59s 5ms/sample - loss: 0.3621 - acc: 0.8849 - val_loss: 0.5938 - val_acc: 0.8394
Epoch 30/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.3541 - acc: 0.8865 - val_loss: 0.4860 - val_acc: 0.8570
Epoch 31/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.3460 - acc: 0.8909 - val_loss: 0.5066 - val_acc: 0.8450
Epoch 32/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.3151 - acc: 0.9001 - val_loss: 0.5091 - val_acc: 0.8517
Epoch 33/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.3184 - acc: 0.9025 - val_loss: 0.5097 - val_acc: 0.8431
Epoch 34/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.3049 - acc: 0.9015 - val_loss: 0.5694 - val_acc: 0.8491
Epoch 35/35
11923/11923 [==============================] - 58s 5ms/sample - loss: 0.2896 - acc: 0.9085 - val_loss: 0.5293 - val_acc: 0.8464

请帮助我降低错误率。

没有唯一的答案。你应该测试并发现什么能解决你的问题

有些事情你可以试试:

  • 增加辍学率
  • 更改网络体系结构:删除层,添加更多层
  • 修改培训参数:测试其他优化器、不同的纪元数和学习率
  • 使用您的培训集:有时问题出在您的数据中,分析您的数据分布,确保您的培训集能够很好地代表您的课程,并且平衡良好。根据您的问题,您也可以测试数据增强技术

我是怎么说的,没有一个唯一的答案,你必须找出什么适合你的情况。处理深度学习就是不断地做实验,以获得解决问题的最佳模型。

尝试几种具有不同体系结构/超参数的模型,看看哪一种表现最好

例如,下面是一个例子。作者使用进化元启发式来构建最佳体系结构

在竞赛中,一种有用的技巧是训练一组模型并对其预测进行平均。

如果你搜索“提高深度学习模型准确性”这一短语,你会找到比我们在这里的答案更好的资源来解释它。