李博Garvin的专栏

阿里云机器学习PD

深度学习实现NBA球星颜值打分完整案例(二)

已经上传了完整的代码和数据,数据比较少,大家可以帮忙补充。

项目地址(记得给个start):https://github.com/jimenbian/face_rank

 

最近咳嗽加班比较严重,耽误了几天,今天接着之前的文章来讲。在上一篇文章中我们已经生成了预测模型,今天要做的事情很简单,就是调用这个模型针对某一张人脸图片进行分类,看看究竟把这个人按照颜值分到class1(好看的一类)还是class2(不好看的一类)。现在直接来看face_test.py这个代码。

 

路径设置

IMAGE_PATH = './trainDataSet/class1/d.jpg'

MODEL_PATH='./model/model'

 

  • IMAGE_PATH是需要预测的图片的地址,我们就随便选了一张,帅不帅大家自己判断


 

  • MODEL_PATH是上一篇文章介绍的生成好的模型存放的路径

 

网络结构

通过conv_net函数构建的CNN网络结构

 

图片预处理

接下来我们要对预测图片做一下预处理,是得图片可以直接通过模型预测。预处理逻辑与训练的时候基本相同

image_test = tf.read_file(IMAGE_PATH)

image_test =tf.image.decode_jpeg(image_test, channels=CHANNELS)

image_test =tf.image.resize_images(image_test, [IMG_HEIGHT, IMG_WIDTH])

image_test = image_test * 1.0/127.5 - 1.0

label=0

X_test= tf.train.batch([image_test],batch_size=batch_size,capacity=batch_size *8, num_threads=4)

 

做一些解码、resize、归一化工作,然后将预测图片生成为tensorflowbatch

 

 

构建预测逻辑

logits_train = conv_net(X_test, N_CLASSES,dropout, reuse=False, is_training=True)

result=tf.argmax(logits_train, 1)

首先通过conv_net函数构建网络,因为是二分类问题,只有好看和不好看两种情况,通过tf.argmax挑选出属于class1class2的概率。

 

session中启动result的计算op,然后把结果打印。


 

预测结果

通过tf.session中的print(result1[0])把结果打印出来:

  • 如果结果是0表示预测图片属于class1

  • 如果结果是1表示属于class2


好啦,两篇分享的文章都写出来了,代码数据也贡献出来了,大家学会了没~




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gshengod/article/details/79135880
个人分类: 机器学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

深度学习实现NBA球星颜值打分完整案例(二)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭