FaceRank,最有趣的 TensorFlow 入门实战项目

TensorFlow 从观望到入门!

https://github.com/fendouai/FaceRank

最有趣?

机器学习是不是很无聊,用来用去都是识别字体。能不能帮我找到颜值高的妹子,顺便提高一下姿势水平。

FaceRank 基于 TensorFlow CNN 模型,提供了一些图片处理的工具集,后续还会提供训练好的模型。给 FaceRank 一个妹子,他给你个分数。

从此以后筛选简历,先把头像颜值低的去掉;自动寻找女主颜值高的小电影;自动关注美女;自动排除负分滚粗的相亲对象。从此以后升职加薪,迎娶白富美,走上人生巅峰。

苍老师镇楼:

项目开源:

GitHub:https://github.com/fendouai/FaceRank

依赖库:

  • Tensorflow

    安装:pip install tensorflow

    简介:Tensorflow 是谷歌的机器学习框架,FaceRank 使用了基于它的 CNN 模型。

    http://www.tensorflownews.com/2017/07/28/installing-tensorflow-tensorflow/
  • face_recognition

    简介:这个库在项目中,用来从图片中截出人脸,并保存为新文件,方便生成数据集。

    这个库比较难装,如果直接安装失败,建议使用 docker.

    The world's simplest facial recognition api for Python and the command line

    安装:pip install face_recognition

训练数据集生成工具

  • 文件夹截图

  • 标注说明

    文件夹中 1-2.jpg 表明这是 1分的图片,2是第2张。也就是 “-”前面的数字就是分数。

  • find_faces_in_picture.py

    这个脚本使用了 face_recognition 来扣人脸,它会从 上图中的 web_image 读取图片,抠图之后保存到 face_image 文件夹。

  • resize_image.py

    这个脚本会读取 face_image 文件夹,并将图片统一处理为 128*128像素。

训练

一切都准备好了,直接运行 train_model.py

这部分内容在 Github 有比较详细说明:

https://github.com/fendouai/FaceRank/

模型使用

  • FaceRank 内置了模型保存功能,训练之后,以后都可以直接运行 run_model.py 。也就是可以封装成函数或者类库使用,非常方便。

学习流程

如果看到这里有很多不懂的话,建议:

欢迎关注我的博客,因为我也还在学习中,现有的教程经常比较大,涉及到的只是比较多,我会经常拆分出小的知识点,我的博客也会把这些小的知识点记录下来。

FaceRank,带你走进 TensorFlow 的世界。

FaceRank,最有趣的 TensorFlow 入门实战项目的更多相关文章

  1. 01Prism WPF 入门实战 - 项目准备

    1.概要 这一系列将进行Prism+WPF技术的实战讲解.实战项目内容选型为Email邮件收发的客户端(WeMail),项目结构简单方便大家理解. 相关技术:C#.WPF.Prism 软件开发环境:V ...

  2. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  3. TensorFlow 中文资源全集,官方网站,安装教程,入门教程,实战项目,学习路径。

    Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...

  4. TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。

    Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...

  5. 深度学习入门实战(二)-用TensorFlow训练线性回归

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :董超 上一篇文章我们介绍了 MxNet 的安装,但 MxNet 有个缺点,那就是文档不太全,用起来可能 ...

  6. .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9977862.html 写在前面 千呼万唤始出来,首先,请允许我长吸一口气!真没想到一份来自28岁老程序员 ...

  7. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新 ...

  8. .NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入

    作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9998021.html 写在前面 上篇文章我给大家讲解了ASP.NET Core的概念及为什么使用它,接着 ...

  9. .NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

    写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了 ...

随机推荐

  1. tomcat之 Tomcat 7.0.78 单机多实例配置

    前言:JDK(JavaDevelopment Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的javaSDK. JDK是整个Java ...

  2. C++判断一个数字是否为质数

    关于素数的算法是程序竞赛比较重要的数论知识,我们来看通常会使用的几个算法. 我们先来复习几个基本概念: 质数:对于大于1的自然数,若除了1和它本身,没有别的因数,则称这个数为质数,质数也叫素数.反之, ...

  3. mysql+keepalived 双主热备高可用

    理论介绍:我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互 ...

  4. CSS3 @keyframes 规则

    今天来给大家分享一下CSS3 @keyframes 规则! 在你了解CSS3 @keyframes 规则时我先来给大家说说什么是css3中的动画 动画是使元素从一种样式逐渐变化为另一种样式的效果. 您 ...

  5. 就是要你懂Java中volatile关键字实现原理

    原文地址http://www.cnblogs.com/xrq730/p/7048693.html,转载请注明出处,谢谢 前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是j ...

  6. LODOP之票据连续套打笔记<二>

    接着上一篇博文,继续说说关于lodop,关于模板设计及相关的这里不多说了,上一篇博文最下面的推荐可以看看,说的很比较清楚,今天说说我在项目中运用套打实现分页预览和打印的, 之前弄lodop打印的时候发 ...

  7. Struts2教程

    一.初识Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的 ...

  8. java如何LOG打印出日志信息

    log4j 记录日志方式 log4j 是apache 提供的记录日志的jar 档. 下载路径: http://logging.apache.org/log4j/1.2/download.html 这里 ...

  9. Struts2拦截器记录系统操作日志

    前言 最近开发了一个项目,由于项目在整个开发过程中处于赶时间状态(每个项目都差不多如此)所以项目在收尾阶段发现缺少记录系统日志功能,以前系统都是直接写在每个模块的代码中,然后存入表单,在页面可以查看部 ...

  10. Dagger2在Android开发中的应用

    世界是普遍联系的,任何事物和个体都直接或间接相互依赖,在时空长河中共同发展.在面向对象的世界中,更是如此,类与类之间的依赖,关联关系,模块(亦或是分层架构中的层)之间的耦合关系,都是我们在软件开发实践 ...