【资源说明】
基于python实现的一个普通的动漫角色分类模型源码+项目说明.zip
使用方法
把这个仓库下载后把1张图片输入`predict`里就可以了:
```python
from PIL import Image
from predict import predict
print(predict(Image.open('urusai.jpg'))) # [('momoi (blue archive)', 1.4793390460772633), ('midori (blue archive)', 2.2018390494738482), ('iijima yun', 2.309663538692209)]
```
| 图片 | 预测结果 1 | 预测结果 2 | 预测结果 3 |
| ---- | ---- | ---- | ---- |
|  | momoi (blue archive), 1.4793390460772633) | midori (blue archive), 2.2018390494738482 | iijima yun, 2.309663538692209)] |
## 关于训练
这次用的数据集是[danbooru2022](https://huggingface.co/datasets/animelover/danbooru2022)。
下了4%的数据出来训练,因为数据太多了,下不动啦。然后过滤出只包含一个女性角色的图片,总的训练样本数大概是60000。
- 训练集下了36个包,是 `data-0\d[0257]1.zip`。
- 测试集是 `data-0000.zip`。
测完发现这个瞎搞的准确率其实没有很高,top1命中74%,top3命中80%。
嘛,毕竟有5684个分类,长尾的分类太多了。我自己都认不出74%的图,那它已经比我认得多啦!
不过因为只给所有的图打一次标签,相当于只需要炼1个epoch,训练很快。
## 标签是怎么做成embedding的
其实是这样的,因为我们有一个先验知识,就是一般来说,不同图中的一个角色,衣服会变,但是发型、发色、瞳色之类的一般不会变,所以我直接把和这些概念有关的标签用手一个一个拿出来,按相同顺序拼成一个embedding,没有就补0。
举个例子,假如我们有4个标签,分别是`黄色头发`、`粉色头发`、`黄色眼睛`、`粉色眼睛`,然后我们输入一张[momoi的图片](urusai.jpg),就应该得到embedding = `[1, 0, 1, 0]` (实际上由于标签模型拿不到1,有可能是`[0.9, 0, 0.9, 0]`)。
以及我也试过暴力搜一些标签出来,大部分是没作用(甚至更坏)的,有几个有用的能优化几个点,就顺手偷进我的标签里啦。
【备注】
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。
3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。
欢迎下载,沟通交流,互相学习,共同进步!
, 相关下载链接:
https://download.csdn.net/download/DeepLearning_/88280486?utm_source=bbsseo