根据您的历史偏好为tinder构建个性化的机器学习模型

tindetheus的Python项目详细描述


廷德修斯

基于您的 使用python的历史偏好。

这有三个部分:1。一个建立数据库的函数 记录所有你喜欢和不喜欢的个人资料。2.一个 函数将模型训练到数据库。三。使用 训练模型,自动喜欢和不喜欢新的配置文件

工作原理

经过面部分类训练的cnn的最后一层可以用作 描述个人面部的特征集只是碰巧 这个特征集与面部吸引力有关

tindetheus让我们根据 喜欢和不喜欢然后你可以训练一个分类模型 数据库。模型训练首先使用一个mtcnn来检测 数据库中的面然后在面上运行一个facenet模型 提取嵌入(cnn的最后一层)。逻辑回归 然后将模型拟合到嵌入中。logistic回归模型是 保存,并且在自动化中重复此过程以自动 喜欢和不喜欢的个人资料基于你的历史偏好。

Visual aid explaining tindetheus

讲解Tindetheus的视觉帮助

这个blog post 对tindetheus的工作原理有一个简短的描述。

有关如何以及为什么这样做的更详细描述,请参见 https://arxiv.org/abs/1803.04347

示例用法

tindetheus browse

通过喜欢和不喜欢tinder上的配置文件来构建数据库。这个 数据库以numpy数组的形式包含所有配置文件信息,而 配置文件图像保存在其他文件夹中。

tindetheus browse --distance=20

默认情况下,tindetheus以5英里半径开始,但您可以指定 通过指定–distance搜索距离上面的例子是 搜索半径20英里。重要的是要注意当你跑步的时候 在附近的用户中,tindethesus会问你是否愿意增加 搜索距离是5英里。

tindetheus train

使用机器学习建立一个你喜欢的人的个性化模型 不喜欢基于你的数据库。你浏览的个人资料越多, 你的模特会更好。

tindetheus like

使用您的个性化模型自动喜欢和不喜欢的个人资料。 您自动喜欢和不喜欢的配置文件将被存储 在al_数据库中。默认情况下,搜索半径为5英里, 增加5英里直到你用了100个喜欢的你可以改变 使用的默认搜索半径

tindetheus like --distance=20

从20英里的搜索半径开始

安装和入门

安装和入门指南现在存储在 GETTING_STARTED.md

配置文件

现在可以将所有默认可选参数存储在config.txt中! 这意味着你可以设定你的起跑距离,喜欢的次数,和 无需每次手动指定选项的图像批大小这个 是一个示例config.txt文件:

facebook_token = XXXXXXX  # your facebook token hash
# alternatively you can use the XAuthToken
# XAuthToken = xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
model_dir = 20170512-110547  # the location of your facenet model directory
# see https://github.com/davidsandberg/facenet#pre-trained-models for other
# pretrained facenet models
image_batch = 1000  # number of images to load in a batch during train
#  the larger the image_batch size, the faster the training process, at the
#  cost of additional memory. A 4GB machine may struggle with 1000 images.
distance = 5  # Set the starting distance in miles
likes = 100  # set the number of likes you want to use
#  note that free Tinder users only get 100 likes in 24 hours

在不同的数据集上使用validate函数

从0.4.0版开始,tindetheus现在包含一个validate函数这个 验证函数在 外部图像集。如果图像中有一张脸,模型将 预测你是喜欢还是不喜欢这张脸。结果是 保存在validation.csv中。有关验证的详细信息 函数read this

变更日志

所有更改现在存储在 CHANGELOG.md

开放源代码库

tindetheus使用以下开源库:

关于名字

Tindetheus是Tinder(流行的在线约会)的组合 应用程序)和希腊巨人: PrometheusEpimetheus。 普罗米修斯的意思是“先入为主”,而他的兄弟厄庇墨修斯的意思是 “事后思考”在协同作用下,它们有助于改善您的火药体验。

Epimetheus根据您查看的所有配置文件创建数据库 导火线。

普罗米修斯从你的历史偏好中学习到 新的火药档案

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
servlets Java EE+GlassFish:如果用户在其他地方登录,则强制用户注销   java在不更改源代码的情况下添加钩子   安卓 Java TextView Onclick()返回表达式错误   java Excel文件未使用Apache存储内部内存   java getRowCount()和getSelectedColumn()不起作用   无法在java中生成视图绑定。util。Android Gradle插件2.1的NoTouchElementException   Java中的类型转换运算符百分比计算为零   主java中的调用方法   java在Javasound中播放多个示例   java如何知道webDriver成功打开URL   java jmock,每次调用时返回新对象   eclipse使用Java在Selenium WebDriver中生成可执行文件   macos捆绑Java OS X应用程序默认为MacRoman编码   java我应该把我的休息网关变成一个图书馆吗?   java Eclipse插件:查找包含子字符串的行号无效   Java IOException:在Linux上发送UDP数据包时没有可用的缓冲区空间   java无法解析jaxbxjc2中的名称“xjc:globalJavaType”。2.52.罐子   java是否有HibernateAPI来检查是否创建了数据库?