男女的身高和体重有着显著的差别,此次Python程序的任务是根据一个人的身高和体重,简单判断他(她)的性别。

采用最简单的单层神经网络,logistic regression模型,模型输入一个人身高和体重,判断性别男女。

训练样本是sex_train.txt的文本,部分训练样本数据如下,第一列数字为身高(m);第二列数字为体重(kg);第三列数字指的是性别,其中1指代男性,2指代女性。

代码需要自定义Dataset类和getitem读取数据​​​​​​​

Dataset中读取数据并放入变量Data中,通过strip去掉空格和换行符,里面的words【0】,words【1】,words【2】分别代表读取身高,体重和性别。getitem根据索引取出数据。

len函数获取样本个数

网络模型的输入输出

训练的函数

实际训练是以Dataloader加载训练样本,并以批次进行训练,batchsize表示训练单元。

正式训练设置epochs表示学习的轮数,epochs=100,进行100轮的训练。

model.train()进入训练模式,model.eval进入检测模式。

第二次for循环是取一个批次的样本进行输出。

epochs = 100for epoch in range(epochs):# training-----------------------------------model.train()train_loss = 0train_acc = 0for batch, (batch_x, batch_y) in enumerate(train_loader):batch_x, batch_y = Variable(batch_x), Variable(batch_y)out = model(batch_x)loss = loss_func(out, batch_y)train_loss += loss.item()pred = torch.max(out, 1)[1]train_correct = (pred == batch_y).sum()train_acc += train_correct.item()print('epoch: %2d/%d batch %3d/%d  Train Loss: %.3f, Acc: %.3f'% (epoch + 1, epochs, batch, math.ceil(len(train_data) / batchsize),loss.item(), train_correct.item() / len(batch_x)))optimizer.zero_grad()loss.backward()optimizer.step()scheduler.step()  # 更新learning rateprint('Train Loss: %.6f, Acc: %.3f' % (train_loss / (math.ceil(len(train_data)/batchsize)),train_acc / (len(train_data))))# evaluation--------------------------------model.eval()eval_loss = 0eval_acc = 0for batch_x, batch_y in val_loader:batch_x, batch_y = Variable(batch_x), Variable(batch_y)out = model(batch_x)loss = loss_func(out, batch_y)eval_loss += loss.item()pred = torch.max(out, 1)[1]num_correct = (pred == batch_y).sum()eval_acc += num_correct.item()print('Val Loss: %.6f, Acc: %.3f' % (eval_loss / (math.ceil(len(val_data)/batchsize)),eval_acc / (len(val_data))))# save model --------------------------------if (epoch + 1) % 1 == 0:torch.save(model.state_dict(), 'output/params_' + str(epoch + 1) + '.pth')

最后训练样本的效果

20220109

Python性别识别相关推荐

  1. python判断性别程序_python 实现性别识别

    使用keras实现性别识别,模型数据使用的是oarriaga/face_classification的模型 实现效果 准备工作 在开始之前先要安装keras和tensorflow 安装keras使用命 ...

  2. 深度学习——性别识别

    第一次写博客,与大家分享刚刚学习的性别识别. 根据一个人的身高,体重,性别,判断性别 一.背景 神经网络的定义 神经网络,是机器学习的一个分支,学名应该叫人工神经网络,与之相对应的是生物神经网络(Bi ...

  3. python人脸识别、人脸关键点检测、性别检测

    python人脸识别.人脸关键点检测.性别检测 文章目录 根据人脸预测年龄性别和情绪 (python + keras)(三) 一款入门级的人脸.视频.文字检测以及识别的项目. age-gender-e ...

  4. python判别性别的代码_python如何实现性别识别 python实现性别识别代码示例

    python如何实现性别识别?本篇文章小编给大家分享一下python实现性别识别代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 使用keras ...

  5. python性别只能为男或女_Pycaffe实践 1)分类:性别识别

    问题提出 给你一张人像图片,让你分辨照片中的人是男人还是女人(暂时不考虑其他情况).对人来说, 这是个比较简单的任务,但是对于机器来说,却不是那么简单.本文主要介绍如何使用深度学习的方法来辨别男女.同 ...

  6. 基于深度学习的人脸性别识别系统(含UI界面,Python代码)

    摘要:人脸性别识别是人脸识别领域的一个热门方向,本文详细介绍基于深度学习的人脸性别识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中可以选择人脸图片.视频进行检 ...

  7. Pytorch实现性别识别,男女分类

    本篇博文纯粹是作为一个记录,不会讲得太清楚,但是本人亲自运行验证,损失率达到了0.002,还比较满意,毕竟这是我的第一个机器识别程序. 这是训练的损失率 先看看项目目录: 其中net.pt是训练后保存 ...

  8. 深度学习项目:男女性别识别【附完整源码】

    性别分类对于人机交互应用和计算机辅助生理或心理分析等商业领域的许多应用至关重要,因为它包含有关男女特征差异的广泛信息. 本次案例收集了接近二十万的男女数据集图片. 文章目录 性别分类简介 使用 Pyt ...

  9. Python | 人脸识别系统 — 用户操作

    本博客为人脸识别系统的摄像头画面展示代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for ...

最新文章

  1. Linux查看MBR的内容
  2. 数据结构(七)图的遍历(递归非递归方法)
  3. 头发剪短了要快速生发_怎样生发效果最好最快?四个方法快速长出头发!
  4. ie6 javascript js 缺少标识符总结(转载)
  5. inline函数_逼近函数(2)
  6. 根据日期字符串获取当天星期几问题
  7. mysql 保存 union_mysql中union 查询
  8. 服务器上多个php,php – 在多个服务器上扩展cronjobs
  9. Bada项目的目录结构
  10. linux运行minecraft,如何在DeepinLinux下运行Minecraft光影整合包进行游戏
  11. 百度BAE的一些使用心得
  12. nginx根据post请求体内容转发
  13. 挺苹果的声音,iPhone 5s的两处进步
  14. 手动删除eureka多余服务
  15. 二十多个免费高清图片素材网站送给你
  16. Mathtype使用记录
  17. 基于TI-RTOS的CC2650DK开发(20)---硬件抽象层
  18. 如何往hive直接插入自定义数据values
  19. Win10系统设置炫酷下拉关机(其实很简单啦!)
  20. java/php/net/python养花助手平台设计

热门文章

  1. 【电商宝scrm分享】3C类目商家如何玩转社群营销
  2. 一个「学渣」从零开始的Web前端自学之路
  3. 不只是电脑 a豆(adol)打造年轻人首选数码品牌
  4. 派生一个类java,Java 所有的异常都是从一个名为 ___________ 的类派生出来的,他有两个直接子类 ___________ 和 ___________ 。...
  5. Web入门----------Heml
  6. 反序列化漏洞--java篇
  7. Android Java开发中一些唬人的常用关键字用法,持续更新中。。。
  8. 打破学科之间壁垒的STEAM教育
  9. EOS内存RAM买卖详解
  10. 无限层级拉新,数据建立和数据分析 php