第一次写博客,与大家分享刚刚学习的性别识别。
根据一个人的身高,体重,性别,判断性别。
一.背景
神经网络的定义
神经网络,是机器学习的一个分支,学名应该叫人工神经网络,与之相对应的是生物神经网络,我们将生物神经网络的数学模型统称为人工神经网络模型,简称人工神经网络或神经网络。
生物神经网络
大脑学习的过程包括以下三个基本步骤或系统。
(一)信息输入
(二)模式加工
(三)动作输出
BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一,具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或(Exclusive OR,XOR)和一些其他问题。从结构上讲,BP网络具有输入层、隐藏层和输出层;从本质上讲,BP算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。
算法结构模型。神经网络
隐藏层是夹在输入输入层和输出层之间的部分,一个神经网络可以有多个隐藏层。
我们已经学会了如何搭建神经网络,现在我们来学习如何训练,其实这就是一个优化的过程。
在训练神经网络之前,我们需要一个标准定义他到底好不好,以便我们进行改进。
二.安装pytorch
首先确保进入虚拟环境,输入命令:pip install torch torchvision
需要用到sex_train.txt 和 sex_val.txt,这两个文件在群里有共享python_competition.zip里,把他们放在你的代码相同目录下。该文件的格式是每行三个数,分别表示一个人的身高、体重、性别,其中性别1表示男,0表示女。
在PyCharm里新建工程,然后创建源文件(py文件),参考代码如下:
(要特别注意在PyCharm里需要设置正确的解释器。菜单-File-Settings,打开如下图。假设你在任务一里的虚拟环境是d:\Anaconda3\envs\py38,则应把解释器设置为d:\Anaconda3\envs\py38\python.exe)
import torch
import math
import torch.nn as nn
from torch.autograd import Variable
from torchvision import transforms, models
import argparse
import os
from torch.utils.data import DataLoader