数据集https://pan.baidu.com/s/1oZ4yMlTU3YwnX9KR0huzyQ 提取码:k7bc
我分几个部分跟大家讲解:
1:算法思想(这个很简单)
2:代码详解
一:算法思想
这里数据集一共有39620张,而且背景单一,所以纸币面值的识别不是一个很难的问题。我用resnet18(自己稍微改了一些结构,影响不大)去训练这个数据集,迭代24次可以达到99.96%的精度。但这里要注意resnet不需要用预训练模型,然后resnet的最后的全连接改成number=9(因为数据集的label只有9种)。细节我会在代码中给大家介绍。
二.代码详解
代码部分我主要分以下几点讲解:
1:数据加载预处理
2:model修改
3:train过程。
1.数据加载预处理
class MyDataset(Dataset):
def __init__(self, path):
self.filenames = []
self.labels = []
tags = {"0.1": 0,
"0.2": 1,
"0.5": 2,
"1": 3,