[开源] 一个机器翻译平台 + 一个人脸识别平台

2017-08-21 15:56:03 +08:00
 icybee

说这次开源的两个东西都还有很大的改进空间,开源的目的一方面是希望给对两个项目的方向感兴趣的初学者提供一个大致的方向,还有就是希望吸引一些大牛参与进来,提一些 pull request 改进一下模型,或者交流一下。

两个项目从训练数据集到使用的方法,到训练出来的模型,到搭建 api,到展示这两个项目的网站的代码全部开源,相信对任何一个方面感兴趣的童鞋相信都可以找到一些自己喜欢的东西。对这两个个项目感兴趣的同学可以联系我: icybee@yeah.net , 这两个项目只是个人兴趣,水平上肯定比不上专门研究这些的,也请轻喷。

英文-中文翻译系统(icytranslate

大家可以通过 translate.icybee.cn 尝试一下翻译效果,不过目前只能把一些高中英语作文水平的翻译得比较能看一些。目前仅支持中文到英文的单向翻译,并且由于计算资源限制,一次只能翻译 4 句话以下的段落。

实现参考了《 Neural Machine Translation by Jointly Learning to Align and Translate 》这篇论文,一些具体的细节我写在了博客上:icybee.cn/article/66.html,开源项目列举如下:

  1. 模型训练部分: https://github.com/bupticybee/icytranslate_offline
  2. restful api: https://github.com/bupticybee/icytranslate_api 将模型的产出封装成 web api
  3. icytranslate 的网站: https://github.com/bupticybee/icytranslate_website 和 icytranslate_api 一起部署,构成 icytranslate 为了缩短训练时间,减小模型大小(为了部署到个人服务器上)做了很多妥协,最后在 test 集上的 bleu 只有 22 左右,模型都是怎么简单怎么来。

最后 icytranslate 提供开放的 api,不需要申请,如果恰好你有这方面需求可以看这里:icybee.cn/article/67.html

icyface人脸识别系统

大家可以通过 face.icybee.cn,尝试一下人脸识别的效果,网站提供一个这样的 demo:

你也可以上传一些其他照片测试。icyface 的实现细节可以参考我的博客:icybee.cn/article/64.html

icyface 同样分三个部分开源:

  1. 模型训练部分: https://github.com/bupticybee/icyface_offline 这个部分提供需要下载的数据,数据预处理,模型训练的代码,产出一个人脸识别模型
  2. api 接口部分: https://github.com/bupticybee/icyface_api 这部分将模型训练的产出封装成一个 REST api icyface 平台网站本身: https://github.com/bupticybee/icyface_website
  3. 目前 icyface 在 lfw 上的准确率约等于 95%,还有很多可以改进的地方,我在博客里都有列举,如果你觉得 icyface 的效果很挫,希望亲自来改进的话,欢迎 pull request.

icyface 也免费提供 restful api,如果你正好有这方面需求的话,查看:icybee.cn/article/65.html

The end

对项目有任何想法都欢迎骚扰: icybee@yeah.net , 如果你想大刀阔斧的改一些项目里不合理的部分,欢迎提 pull reqest.

&& 如果你很喜欢我的博客,它也是开源的( php + laravel ): http://git.oschina.net/icybee/icyblog

4521 次点击
所在节点    分享创造
14 条回复
marknote
2017-08-21 16:01:35 +08:00
不错
mkstring
2017-08-21 16:36:33 +08:00
多谢分享成果
bigporker
2017-08-21 17:15:35 +08:00
这个要赞
frinstioAKL
2017-08-21 18:18:41 +08:00
用 tensorflow 写的,太好了,去瞅瞅
natforum
2017-08-21 21:35:35 +08:00
支持大佬
dreammes
2017-08-21 21:42:37 +08:00
支持
unique
2017-08-21 21:51:23 +08:00
nice
icybee
2017-08-21 21:58:06 +08:00
@unique thx
lovestudykid
2017-08-21 22:37:11 +08:00
翻译了一下 hello world,有点惨,哈哈
icybee
2017-08-21 22:40:25 +08:00
@lovestudykid 好像是这样,看来它并没有初中生水平。。。
zuolan
2017-08-21 22:53:31 +08:00
翻译还不错,只是有些词汇漏掉了。例如我的测试语段:

The mainframes of the 1960s and 1970s had a “ centralized ” computing model where a single mainframe would serve an entire office building, and “ dumb ” terminals would send compute-jobs to the mainframe.

返回:
一个主机的计算模式,将会有整个办公楼的楼宇,“哑”终端将向大型机发送计算机工作。


好多词汇被忽视了。还是要赞,先 star。
icybee
2017-08-21 22:57:46 +08:00
@zuolan 忽略掉词是有原因的,原因是我用的是中文的字作为 token 而不是词,这样导致训练数据中不出现的词不会被<unk>替代,就是训练数据中全都是已知的词,所以模型对未知的词都会跳过
z0z
2017-08-22 13:57:48 +08:00
多谢分享
awolfly9
2017-08-23 09:14:19 +08:00
标记

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/384578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX