我正在运行CNN进行左右skeprint classfication.我有190,000张训练图像,我用10%的图像进行验证.我的模型设置如下所示.我得到了所有图像的路径,读取它们并调整它们的大小.我规范化图像,然后将其适合模型.我的问题是我的训练准确率达到了62.5%,并且损失了大约0.6615-0.6619.我有什么不对劲吗?我怎么能阻止这种情况发生?
只需注意一些有趣的要点:
1)我首先在10张图片上对此进行了测试我遇到了同样的问题,但将优化器更改为adam,将批量大小更改为4.
2)然后我测试了越来越多的图像,但每次我都需要更改批量大小以获得准确性和损失的改进.有10,000个图像,我不得不使用批量大小500和优化程序rmsprop.然而,准确性和损失在第10纪元后才开始发生变化.
3)我现在正在训练190,000张图像,因为我的GPU处于最大值,所以无法增加批量大小.
imageWidth = 50
imageHeight = 150
def get_filepaths(directory):
file_paths = []
for filename in files:
filepath = os.path.join(root, filename)
file_paths.append(filepath) # Add it to the list.
return file_paths
def cleanUpPaths(fullFilePaths):
cleanPaths = []
for f in fullFilePaths:
if f.endswith(".png"):
cleanPaths.append(f)
return cleanPaths
def getTrainData(paths):
trainData = []
for i in xrange(1,190000,2):
im = image.imread(paths[i])
im = image.imresize(im, (150,50))
im = (im-255)/float(255)
trainData.append(im)
trainData = np.asarray(trainData)
right = np.zeros(47500)
left = np.ones(47500)
trainLabels = np.concatenate((left, …Run Code Online (Sandbox Code Playgroud)