Python 3.x 未正确编辑学习数据

Python 3.x 未正确编辑学习数据,python-3.x,deep-learning,Python 3.x,Deep Learning,我在学习深度学习 我正在制作图形分类器:圆形、矩形、三角形、五角大楼、星形。一个热编码到label2idx=dict(矩形=0,圆=1,五角大楼=2,星形=3,三角形=4) 但每个历元的每一个学习速率都是相同的,它不了解图像 我制作了一个层,使用Relu函数作为激活函数,每个层使用仿射,最后一层使用Softmax,并使用Adam优化梯度 我总共有234个RGB图像要学习,它是在window paint 2D tool上创建的,大小为128*128,但不使用整个画布来绘制图形 这幅画看起来像:

我在学习深度学习

我正在制作图形分类器:圆形、矩形、三角形、五角大楼、星形。一个热编码到label2idx=dict(矩形=0,圆=1,五角大楼=2,星形=3,三角形=4)

但每个历元的每一个学习速率都是相同的,它不了解图像

我制作了一个层,使用Relu函数作为激活函数,每个层使用仿射,最后一层使用Softmax,并使用Adam优化梯度

我总共有234个RGB图像要学习,它是在window paint 2D tool上创建的,大小为128*128,但不使用整个画布来绘制图形

这幅画看起来像:

火车的结果如何。左[]为预测,右[]为答案标签(我随机选取图像打印预测值和答案标签):

我认为它学习的越多,预测应该像
[0.00143 0.09357 0.352 0.3 0.253][1 0 0 0 0]
,这意味着答案指数应该接近于0,但事实并非如此。 甚至列车精度有时也会达到1.0(100%)

我正在用下面的代码加载和标准化图像

\data\u list=data\u list=glob('dataset\\training\\*\\\\*.jpg'))
数据集['train\u img']=\u load\u img()
def_load_img():
数据=[data_列表中v的np.array(Image.open(v)]]
a=np.数组(数据)
a=a.重塑(-1,img_尺寸*3)
归还
#正常化
对于数据集中的v:
数据集['train\u img']=数据集['train\u img'].aType(np.32)
数据集['train\u img']/=数据集['train\u img'].max()
数据集['train\u img']-=数据集['train\u img']。平均值(轴=1)。重塑(len(数据集['train\u img']),1)
编辑

我使用
Image.open(v.convert('LA')

检查我的预测值,例如:

[-3.98576886e-04  3.41216374e-05] [1 0]
[ 0.00698861 -0.01111879] [1 0]
[-0.42003415  0.42222863] [0 1]
仍然不了解图像。我删除了3个图形来测试它,所以我只有矩形和三角形共252个图像(我画了更多的图片)

而预测值通常类似于相反的值(3.1323,-3.1323或3.1323,-3.1303),我无法找出原因

不仅仅是增加数值精度,当我使用SGD作为优化器时,精度不会增加。同样准确

[ 0.02090227 -0.02085848] [1 0]
epoch:  0.5873015873015873
[ 0.03058879 -0.03086193] [0 1]
epoch:  0.5873015873015873
[ 0.04006064 -0.04004988] [1 0]
[ 0.04545139 -0.04547538] [1 0]
epoch:  0.5873015873015873
[ 0.05605123 -0.05595288] [0 1]
epoch:  0.5873015873015873
[ 0.06495255 -0.06500597] [1 0]
epoch:  0.5873015873015873

对。你的模型表现得很好。问题与规范化无关(甚至不是问题)。该模型实际预测值超出0,1,这意味着该模型非常自信

该模型不会尝试朝[1,0,0,0]方向优化,因为在计算损失时,它会首先剪裁这些值


希望这有帮助

当我尝试优化模型的梯度时,损失约为70%,SGD从未减少到0左右。甚至我用新的图像来检验它的准确率也在95%左右,但它并没有计算出图像的形状,但也许你是对的。正常化不是问题所在。谢谢,你说得对,模型工作得很好。问题是我要学的图像少了。谢谢
[ 0.02090227 -0.02085848] [1 0]
epoch:  0.5873015873015873
[ 0.03058879 -0.03086193] [0 1]
epoch:  0.5873015873015873
[ 0.04006064 -0.04004988] [1 0]
[ 0.04545139 -0.04547538] [1 0]
epoch:  0.5873015873015873
[ 0.05605123 -0.05595288] [0 1]
epoch:  0.5873015873015873
[ 0.06495255 -0.06500597] [1 0]
epoch:  0.5873015873015873