这 25 个开源机器学习项目,一般人我不告诉 Ta

原文链接: https://yq.aliyun.com/articles/672510
TB1le8arkvoK1RjSZFDXXXY3pXa.jpg

本文为 AI 研习社编译的技术博客,原标题 :

25 Open-Source Machine Learning Repos to Inspire Your Next Project

作者 | Khoa Pham

翻译 | 狒狒    校对 | 姚秀清

整理 | 菠萝妹

原文链接:

https://heartbeat.fritz.ai/25-open-source-machine-learning-repos-to-inspire-your-next-project-3b027a90155

很有启发性的25个开源机器学习项目

TB1WnFXra6qK1RjSZFmXXX0PFXa.jpg

在过去几年中,机器学习开辟了很多新的领域,出现了很多高级应用案例:Facebook的脸部识别、Netflix的电影推荐、PrimaAI的图像风格转移、Siri的语音识别、Google Allo的自然语言处理等等。

除了这些用例之外,GitHub上还有大量优秀的开源机器学习项目。以下列出了目前最受欢迎的项目。希望读者能从中学到新东西,并受到启发。 

  TensorFlow

TB14.M7q9zqK1RjSZFLXXcn2XXa.jpg

TensorFlow是一个用于研究和生产的开源机器学习库。TensorFlow为初学者和专家提供了用于桌面、移动、web和云开发的API接口。

TB18Pc6q4TpK1RjSZR0XXbEwXXa.jpg

TensorFlow最初由谷歌大脑团队开发,用于内部使用,2015年11月9日TensorFlow根据Apache 2.0开源许可协议进行正式对外发布。 

最新版本的TensorFlow支持Keras,这是一种高级神经网络API,用Python编写,能够基于TensorFlow、CNTK或Theano运行。还有支持Javascript和Swift的接口。  

  scikit-learn

TB1EvRXrgHqK1RjSZJnXXbNLpXa.png TB1mtg7q6TpK1RjSZKPXXa3UpXa.jpg

Scikit-learn最初是由David Cournapeau在夏季谷歌代码活动上编写的。它的名字或多或少参考了SciPy工具包。Scikit-learn拥有基于NumPy、SciPy和Matplotlib的简单高效的数据挖掘和数据分析工具。因为它简单易用,所以经常与TensorFlow一起配合使用。  

  MXNet

TB19TlxriLaK1RjSZFxXXamPFXa.png

除了TensorFlow、Keras和Scikit-learn之外,还有来自Apache的MXNet深度学习框架。 它是为效率和灵活性而设计的——它允许您混合使用符号和指令式编程来最大化效率和生产力。可以访问它的模型社区获取更多采用MXNet的模型。

TB1qfNXrkvoK1RjSZPfXXXPKFXa.jpg

  PyTorch

TB1uk35q9zqK1RjSZPcXXbTepXa.png

如果没有提到PyTorch,这个列表就不完整了,PyTorch是机器学习爱好者的另一个流行选择。  PyTorch基于Torch,由Facebook作为机器学习的框架而分发。 PyTorch是一个Python包,它提供了两个高级特性:带强GPU加速的张量计算(比如NumPy)和基于tape的autograd系统的深层神经网络。 

TB1nntxriLaK1RjSZFxXXamPFXa.jpg

 https://twitter.com/pytorch/status/966324198758006784

  magenta

TB1MCM8q3TqK1RjSZPhXXXfOFXa.jpg

Magenta  是一个研究项目,探索机器学习在艺术和音乐创作过程中的作用。 这主要涉及开发新的深度学习和增强学习算法,以生成歌曲、图像、绘图和其他材料。 但这也是在构建智能工具和接口方面的探索,这些工具和接口允许艺术家和音乐家使用这些模型扩展(而不是替换!)他们的创作过程。 

主要的repo采用Python语言,但针对Javascript语言也有magenta.js。 在展示先进的机器学习应用方面,Magenta 是一个完美的项目。我们大多数人从未想到过。若对  Magenta感兴趣,可以使用声音和绘图生成器来查看一些演示。 

  style2paints

这个项目旨在给线条艺术着色。人工智能可以根据给定的颜色风格在草图上作画,创建自己的颜色风格并在草图上作画,或者转移另一个插图的风格。  

TB1bnhXrkPoK1RjSZKbXXX1IXXa.jpg

 有一些新的功能,如图像锚和图像转换,值得一看。

  Image-to-image translation in PyTorch

这个项目有两个组件——cyclegan和pix2pix,它们包含用于非成对和成对图像到图像转换的PyTorch实现。一开始,它看起来像另一个相当普通的风格转换的解决方案,但它可以做一些不同的事情,比如把一匹马转换成斑马,或者把现场照片转换成莫奈风格的画作。这个过程足够快,可以在视频直播中使用。

TB1a_0Xra6qK1RjSZFmXXX0PFXa.jpg

  Deep voice conversion

我们有一些用于图像和视频的样式转换工具,那么声音呢?深度语音对话就是这种能力的一个完美案例。  

如果你能模仿一位名人的声音或者像一位著名歌手那样唱歌呢?这个项目一开始的目标是将某人的声音转换为特定的目标声音。这就是所谓的语音风格转换。我们致力于这个项目,旨在将某人的声音转换为著名的英国女演员凯特温斯莱特的声音。我们实现了一个深度神经网络来实现这一点,并且使用了超过2小时的由Kate Winslet朗读的有声书读物作为数据集。  

TB1QExcrkzoK1RjSZFlXXai4VXa.jpg

如果你还不相信,那就去SoundCloud,有很多Kate Winslet声音的Demo。

  StarGAN in PyTorch

StarGAN是这篇论文的一个PyTorch实现: 多区域图像到图像转换的统一生成对抗性网络。  

它超越了样式转换,通过应用不同的发型、皮肤类型、年龄、性别和不同的情绪来转换源图像。非常棒。  

TB1e7hbrgHqK1RjSZFkXXX.WFXa.jpg

  Face detection

这听起来可能并不有趣,因为现在我们可以很容易地在iOS和Android上使用Core ML或ML Kit。但更深入的观察显示这是多么的棒。它不仅能识别人脸,还能识别情绪和性别。  

实时人脸检测和情感/性别分类使用fer2013/IMDB数据集与Keras CNN模型和OpenCV。

TB1dVxargHqK1RjSZFgXXa7JXXa.jpg

  Deep universal probabilistic programming

TB175M4q9rqK1RjSZK9XXXyypXa.png

Uber AI Labs建立了这个深度概率软件库,以帮助简化其交通服务的预测和优化。这个库对于任何处理概率建模的人来说都很有兴趣。

机会范围从匹配乘客与司机,建议最佳路线,并到找到合理的资源池组合,甚至是创造下一代智能汽车。为了解决这些挑战,我们将最先进的人工智能(AI)技术与拥有丰富专业知识的数据科学家、工程师和其他用户相结合。我们正在探索一种工具优先的方法,使我们和其他人能够创造出下一代人工智能解决方案。 

  ParlAI

TB1NSZ_qZbpK1RjSZFyXXX_qFXa.png

作为Facebook研究项目的一部分,ParlAI是一个框架,用于训练和评估各种基于公开可用对话数据集的人工智能模型。ParlAI使得研究人员可以访问许多流行的数据集,同时拥有一个统一的框架来共享和测试对话模型。你可以在这里阅读更多关于ParlAI的内容。

TB1RpA7q3DqK1RjSZSyXXaxEVXa.jpg

  facets

facet是可视化机器学习数据集的工具。  

可视化实现为 Polymer  web组件,由Typescript代码支持,可以很容易地嵌入到Jupyter笔记本或网页中。  

可视化的关键方面是跨多个数据集的离群点检测和分布比较。有趣的值(例如高比例的缺失数据,或者跨多个数据集的不同特性分布)用红色突出显示。  

TB1H0A7q6TpK1RjSZKPXXa3UpXa.jpg

  ELF with AlphaGoZero

TB1cutXrkvoK1RjSZFNXXcxMVXa.jpg

ELF是一个使用AlphaGoZero/AlphaZero重新实现的游戏研究平台。ELF为游戏研究提供了端到端解决方案。它包括小型实时战略游戏环境、并发模拟、基于数千台机器的分布式训练、直观的api、基于web的可视化以及一个由PyTorch提供支持的强化学习框架。 

  Detectron

Detectron是Facebook AI 研究部门的软件系统,它实现了最先进的目标检测算法,包括Mask R-CNN。它是用Python编写的,并由Caffe2深度学习框架提供支持。  

TB10EBjrhYaK1RjSZFnXXa80pXa.jpg

  Fast Style Transfer

采用TensorFlow CNN实现,这可能是图像风格转换的最好例子之一,正如它的名字所暗示的,它的运行非常快。实现了基于Gatys艺术风格的神经算法,Johnson对实时风格转换和超分辨率的感知损失,以及Ulyanov的实例规范化。

TB1OS78q3TqK1RjSZPhXXXfOFXa.jpg

  Face recognition

TB1d9.8q3TqK1RjSZPhXXXfOFXa.jpg

这个工具为面部识别提供了简单的api。它能发现面部特征,并能猜出照片中的人是谁。  

使用dlib最先进的面部识别技术进行深度学习。该模型对自然环境中被标记的人脸的测试准确率为99.38%。  也提供了一个简单的命令来进行执行面部识别。

face_recognition 

命令行工具,允许您从命令行对图像文件夹进行面部识别!

  Deep photo style transfer

另一个极好的风格转换项目。这个repo包含代码和一篇研究论文:深度照片风格变换。它提供了简单的api来处理合并样式和源图像。令人印象非常深刻的照片风格变换。  

TB1Dho_qY2pK1RjSZFsXXaNlXXa.jpg

  Fast Text

TB1m1BXrkvoK1RjSZFNXXcxMVXa.jpg

fastText  是一种高效学习词汇表示和句子分类的库。 

为了更好地了解这个项目,可以查看他们的文本分类教程,该教程展示了如何在监督学习中使用这个库。文本分类的目的是将文档(如电子邮件、帖子、短信、产品评论等)分配给一个或多个类别。

  AirSim

AirSim是一个基于虚幻引擎来模拟无人机、汽车的应用。它是开源的,跨平台的,它支持流行的飞行控制器硬件,如PX4用于物理和视觉的仿真。它是一个虚拟插件,可以简单地放到任何你想要的不真实的环境中。 

TB1i3hXrkvoK1RjSZPfXXXPKFXa.jpg

  Image restoration

机器学习能做的比我们想象的更多。 Deep Image Prior ,它采用神经网络修复图像——但不需要学习。  

TB1VjA_q9zqK1RjSZFHXXb3CpXa.jpg

 这个工具可以恢复带有刮痕,坏点,或不需要的文本标记损坏的图像。

  Open Pose

TB1LVs8q9zqK1RjSZFLXXcn2XXa.jpg

Open Pose  是第一个实时多人系统,可以在单个图像上同时检测人体、手、面部和脚的关键点(总共135个关键点)。它能探测到脚、身体、脸和手。

  pirateAT

PirateAI在模拟环境(岛屿)中训练自主个体(海盗)。  这个程序运行一个训练管道,在游戏(寻找宝藏)和模型训练(Keras + hyperopt)之间交替进行。

TB1LMtXrgHqK1RjSZJnXXbNLpXa.jpg

  EmojiIntelligence

与这个列表中的许多项目相比,这是相当简单的,但是它是学习神经网络如何工作的一个很好的起点。  这个实现是纯Swift的,没有使用任何库,而且很容易模仿。 

TB1b20XrbrpK1RjSZTEXXcWAVXa.jpg

  Deep Exemplar-Based Colorization

Deep Exemplar-Based Colorization  是基于范例进行局部着色的第一个深度学习方法。 给定一个参考的彩色图像,我们的卷积神经网络直接将灰度图像转换成彩色图像输出。 这是论文“基于深度范例的色彩化”的应用。 

TB1quQ_q5rpK1RjSZFhXXXSdXXa.jpg

谢谢你浏览这个列表。我希望你已经找到了一些能激励和吸引你的东西。相对而言,机器学习刚刚起步,所以未来肯定会有更多有趣的新项目。这里有更多的资源供进一步探索:

GitHub Machine Learning Collection: 每天都能发现热门机器学习项目  

Awesome machine learning: 有一个关于所有事情的“令人惊讶的列表”——这个列表以机器学习为中心,它的管理令人印象深刻。  

Fantastic machine learning:   这个列表主要是关于ML相关的核心项目。 雷锋网雷锋网雷锋网(公众号:雷锋网)

欢迎在Hacker News和Reddit上讨论这篇文章  

想要继续查看该篇文章相关链接和参考文献?

长按链接点击打开或点击【这25个开源机器学习项目,一般人我不告诉Ta】:

http://ai.yanxishe.com/page/TextTranslation/1122

AI研习社每日更新精彩内容,观看更多精彩内容:

使用 SKIL 和 YOLO 构建产品级目标检测系统

AI课程/书籍/视频讲座/论文精选大列表

如何极大效率地提高你训练模型的速度?

数据科学家应当了解的五个统计基本概念:统计特征、概率分布、降维、过采样/欠采样、贝叶斯统计

你可能感兴趣的:(这 25 个开源机器学习项目,一般人我不告诉 Ta)