如何解决我应该如何提高转学的准确性?
我正在训练古吉拉特语语言的光学字符识别模型。输入图像是字符图像。我上了37堂课。总训练图像为22200(每节课600张),测试图像为5920(每节课160张)。我输入的图片尺寸为32x32。
下面是我的代码:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import MaxPooling2D
from tensorflow.keras.layers import Flatten
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Dropout,Activation,Flatten
from tensorflow.keras.layers import Convolution2D,MaxPooling2D
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.layers import BatchNormalization
from tensorflow.keras.layers import MaxPool2D
from tensorflow.keras.layers import ReLU
from tensorflow.keras.callbacks import TensorBoard
import pickle
import time
from datetime import datetime
from packaging import version
import tensorflow as tf
from tensorflow import keras
import numpy as np
from tensorflow.keras import layers
model = tf.keras.applications.DenseNet121(include_top=False,weights='imagenet',pooling='max',input_shape=(32,32,3))
model.trainable = True
print("Number of layers in the base model: ",len(model.layers))
fine_tune_at = 400
for layer in model.layers[:fine_tune_at]:
layer.trainable = False
base_outputs = model.layers[-1].output
final_outputs = layers.Dense(37)(base_outputs)
new_model = keras.Model(inputs=model.input,outputs=final_outputs)
new_model.summary()
from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(
shear_range=0.2,zoom_range=0.2,horizontal_flip=False)
test_datagen = ImageDataGenerator(horizontal_flip = False)
training_set = train_datagen.flow_from_directory('C:/Users/shweta/Desktop/characters/train',target_size = (32,32),batch_size = 64,class_mode = 'categorical')
test_set = test_datagen.flow_from_directory('C:/Users/shweta/Desktop/characters/test',class_mode = 'categorical')
new_model.compile(optimizer = 'adam',loss = 'categorical_crossentropy',metrics = ['accuracy'])
new_model.fit_generator(training_set,epochs = 25,validation_data = test_set,shuffle=True)
new_model.save('alphanumeric.mod')
以下是我的输出:
提前谢谢!
解决方法
重新缩放输入数据。您可以通过在ImageDataGenerator中将缩放比例因子设置为1/255来完成此操作。
,在放入模型之前,请尝试使用ImageDataGenerator来预处理数据集。您可以在Tensorflow文档中找到完整的选项:ImageDataGenerator
如前所述,在将数据放入模型之前,请尝试重新缩放数据或对其进行随机整理
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。