Pytorch实现男女证件照性别分类
今儿个用pytorch写了一个识别证件照性别的神经网络,一开始用sgd,死活收敛不到一半,还不如蒙呢,蒙还有50%的准确率,后来用adam,一下子就收敛到接近100%了,可以商用了。我发现别放男明星的,不太准啊,这个明星娘化看来被人工智能发现了。。。
来,先上图,看看成果。
该程序用了ImageLoader加载数据,省去了自己定义数据模型的功夫。
本地图片应该如下图一样放置
test文件夹一样的结构,就不上图了。
训练代码我贴一下把,完整代码可以给我转账9.9元获取.转帐的时候备注下你的邮箱,我会及时发到你邮箱。
```python
if __name__ == '__main__':# transform = transforms.Compose(# [transforms.ToTensor(),# transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])## trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)# trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)## testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)# testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)data_transform = transforms.Compose([transforms.Resize(22),transforms.CenterCrop(20),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])hymenoptera_dataset = datasets.ImageFolder(root='MaleAndFemale',transform=data_transform)test_dataset = datasets.ImageFolder(root='Test',transform=data_transform)trainloader = torch.utils.data.DataLoader(hymenoptera_dataset,batch_size=4, shuffle=False, num_workers=2)testloader = torch.utils.data.DataLoader(test_dataset,batch_size=4, shuffle=False, num_workers=2)classes = ('男人', '女人')net = Net()criterion = nn.CrossEntropyLoss()optimizer = optim.Adam(net.parameters(), lr=0.001)for epoch in range(20): # loop over the dataset multiple timesrunning_loss = 0.0for i, data in enumerate(trainloader, 0):# get the inputsinputs, labels = data# zero the parameter gradientsoptimizer.zero_grad()# forward + backward + optimizeoutputs = net(inputs)loss = criterion(outputs, labels)loss.backward()optimizer.step()# print statisticsrunning_loss += loss.item()# if i % 4 == 19: # print every 2000 mini-batches# print('[%d, %5d] loss: %.3f' % (epoch + 1, i + 1, running_loss / 20))# running_loss = 0.0print('[%d, %5d] loss: %.3f' % (epoch + 1, i + 1, loss.item()))print('Finished Training')PATH = './cifar_net.pth'# torch.save(net.state_dict(), PATH)dataiter = iter(testloader)images, labels = dataiter.next()print('GroundTruth: ', ' '.join('%5s' % classes[labels[j]] for j in range(4)))# 输出图片imshow(torchvision.utils.make_grid(images))net.load_state_dict(torch.load(PATH))outputs = net(images)print(outputs)_, predicted = torch.max(outputs, 1)print('predicted',predicted)print('Predicted: ', ' '.join('%5s' % classes[predicted[j]] for j in range(4)))
Pytorch实现男女证件照性别分类相关推荐
- java性别分类汇总,excel表格数据男女分类汇总-在Excel中,对数据清单进行“按性别分类汇总出男女......
在Excel中,对数据清单进行"按性别分类汇总出男女... 在Excel中,对数据清单进行性别分类汇总出男女生的英语平均分"可使用AVERAGEIF函数实现. 操骤如下: 1.打开 ...
- CV:基于Keras利用CNN主流架构之mini_XCEPTION训练性别分类模型hdf5并保存到指定文件夹下
CV:基于Keras利用CNN主流架构之mini_XCEPTION训练性别分类模型hdf5并保存到指定文件夹下 目录 图示过程 核心代码 图示过程 核心代码 from keras.callbacks ...
- 用身高和/或体重数据进行性别分类
用身高和/或体重数据进行性别分类 [摘要]根据身高和/或体重等数据,利用模式识别贝叶斯(bayes)分类器来对人的性别进行分类,做出函数图,使得我们容易分析这两者之间的异同.熟练运用matlab的相关 ...
- 【项目实战课】基于Pytorch的EfficientNet血红细胞分类竞赛实战
欢迎大家来到我们的项目实战课,本期内容是<基于Pytorch的EfficientNet血红细胞分类竞赛实战>.所谓项目课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题, ...
- 实时卷积神经网络实现人脸检测和情感/性别分类
本文提出了一种通用的实现方法卷积神经网络(CNN)构建框架设计实时CNN.创建实时面部检测视觉系统,实现性别分类和情绪分类. 其中:IMDB性别分类测试准确率:96%:fer2013情绪分类测试准确率 ...
- 基于pytorch后量化(mnist分类)---浮点训练vs多bit后量化vs多bit量化感知训练效果对比
基于pytorch后量化(mnist分类)-浮点训练vs多bit后量化vs多bit量化感知训练效果对比 代码下载地址:下载地址 试了 bit 数为 1-8 的准确率,得到下面这张折线图: 发现,当 b ...
- 朴素贝叶斯分类器简介及C++实现(性别分类)
贝叶斯分类器是一种基于贝叶斯定理的简单概率分类器. 在机器学习中,朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器.朴素贝叶斯是文本分类的一种热门(基准)方法 ...
- 【小白学习PyTorch教程】十五、BERT:通过PyTorch来创建一个文本分类的Bert模型
@Author:Runsen 2018 年,谷歌发表了一篇题为<Pre-training of deep bidirectional Transformers for Language Unde ...
- Pytorch TextCNN实现中文文本分类(附完整训练代码)
Pytorch TextCNN实现中文文本分类(附完整训练代码) 目录 Pytorch TextCNN实现中文文本分类(附完整训练代码) 一.项目介绍 二.中文文本数据集 (1)THUCNews文本数 ...
最新文章
- php.ini来配置session,php.ini 配置session自动开启
- 单链表的创建示意图, 显示单向链表的分析
- 三条Windows 7小技巧
- tp5.0行为的用法,可以存入json数据,方便读取数据。
- Oracle 创建表 练习题
- 重磅!校友会2020中国大学排名出炉!为自己母校感到骄傲!
- 浅谈SDN中的OverLay与UnderLay技术
- Java 蓝桥杯 分解质因数
- GARFIELD@12-09-2004
- PHP多进程初探 --- 再次谈daemon进程
- [Java] 蓝桥杯ALGO-30 算法训练 入学考试
- 解决Python print 输出文本显示 gbk 编码错误问题
- 0到50带圆圈的数字序号有需要的吗:)
- awk 在指定字符后面插入新字符
- 快给你的Vue项目添加一个编辑图片组件吧
- python查询12306余票_【python】用GUI编写一个12306余票查询的系统,附源码
- 使用 JsDelivr作为CDN 加速服务
- JavaScript根据开始时间和结束时间计算具体礼拜几
- 设备ssh连接失败问题
- pip安装包下载地址
热门文章
- hustle castle服务器维护,《Hustle Castle》新手攻略
- 换到linux系统切换分辨率后,显示器输入不支持,input not support
- 拍照遥控器——Wifi指纹定位+图像识别Android应用
- 关于口头语和书面语的区别
- Android Notification 详解
- EXCEL技能点1-EXCEL公式汇总
- 【git】git merge 合并分支时遇上refusing to merge unrelated histories的解决方案
- python语音转换为文字的软件_如何使用Python将语音转换为文本
- 手机号码应该如何选择呢?一文解决你的选择困难症!
- 转载-为程序开发人员量身定制的12个目标