Deep learning 训练准确度不低于';增加ModelNet40数据集的PointNet Tensorflow 2.0实现

Deep learning 训练准确度不低于';增加ModelNet40数据集的PointNet Tensorflow 2.0实现,deep-learning,tensorflow2.0,loss,Deep Learning,Tensorflow2.0,Loss,我使用tensorflow 2.0重新实现了pointnet,并尝试使用modelnet40数据对模型进行分类训练。训练损失会随着apoch的增加而减少,但精度不会改变,无论我是否使用数据增强。谁能帮我检查一下我的模型有什么问题吗?我写的一些图层错了吗 对于模型: 训练模型:pytho Train.py 以下是培训过程: 第5纪元的训练精度:0.05779597163203784 第5纪元的验证精度:0.04608013108372688 第6纪元的训练精度:0.0583204068243503

我使用tensorflow 2.0重新实现了pointnet,并尝试使用modelnet40数据对模型进行分类训练。训练损失会随着apoch的增加而减少,但精度不会改变,无论我是否使用数据增强。谁能帮我检查一下我的模型有什么问题吗?我写的一些图层错了吗

对于模型:

训练模型:pytho Train.py

以下是培训过程: 第5纪元的训练精度:0.05779597163203784 第5纪元的验证精度:0.04608013108372688

第6纪元的训练精度:0.05832040682435036 第6纪元的验证精度:0.04566596820950508

第7纪元的训练精度:0.05819009244441986 第7纪元的验证精度:0.04468472674489021

第8纪元的训练精度:0.0589370160687455177 第8纪元的验证精度:0.046150218695402145

第9纪元的训练精度:0.0599127858877182 第9纪元的验证精度:0.04491410776972771

第10纪元的训练精度:0.06009077653288841 第10纪元的验证精度:0.046672698110342026

第28纪元的训练精度:0.0635835943451 第28纪元的验证精度:0.0468065038728218

第29纪元的训练精度:0.06306575238704681 第29纪元的验证精度:0.04655800759792328

历元30时的训练精度:0.0629672250929331 第30纪元的验证精度:0.04646880552172661

第31纪元的训练精度:0.06284327059984207 第31纪元的验证精度:0.0456850863931679

第32纪元的训练精度:0.06370460987091064 第32纪元的验证精度:0.046411458402872086

历元33时的训练精度:0.063043504953844 第33纪元的验证精度:0.04663446918129921

第34纪元的训练精度:0.0633549913764 第34纪元的验证精度:0.04697216674685478

第36纪元的训练精度:0.063097536387329 第36纪元的验证精度:0.04523269459605217

第37纪元的训练精度:0.06364422291517258 第37纪元的验证精度:0.04645606130361557

第38纪元的训练精度:0.06378089636564255 第38纪元的验证精度:0.04643694683909416

第39纪元的训练精度:0.06462635099887848 第39纪元的验证精度:0.045532163232564926

第40纪元的训练精度:0.063810192346573 第40纪元的验证精度:0.04674915969371796

第41纪元的训练精度:0.06361879408359528 第41纪元的验证精度:0.0461247339847037

第42纪元的训练精度:0.06479480117559433
epoch 42:0.0459526963531971的验证精度经过两天的调试,我终于找到并修复了这个错误

在数据集映射函数中,我使用tf.one_hot生成标签。对于ModelNet40数据集,有40个类别,因此给定一个标签tf.one_hot将表示向量wit大小[40]。然而,tf.one_hot生成了[1,40]的二维张量。在dataset.map之后,标签张量为[batch_size,1,40]。但模型输出为[batch,40],这使得精度度量计算错误

因此,我使用tf.squence来制作标签张量[batch_size,40]