盘点当下大热的 7 大 Github 机器学习『创新』项目

作者: cheng 发布时间: 2021-02-26 浏览: 1829 次 编辑

本文将会分享近期发布的七大GitHub机器学习项目。这些项目广泛覆盖了机器学习的各个领域,包括自然语言处理(NLP)、计算机视觉、大数据等。

最顶尖的Github机器学习项目

1. PyTorch-Transformers(NLP)

传送门: https://github.com/huggingface/pytorch-transformer...

自然语言处理(NLP)的力量令人叹服。NLP改变了文本的处理方式,几乎到了无法用语言描述的程度。

在最先进的一系列NLP库中,PyTorch-Transformers出现最晚,却已打破各种NLP任务中已有的一切基准。它最吸引人的地方在于涵盖了PyTorch实现、预训练模型权重及其他重要元素,可以帮助用户快速入门。

运行最先进的模型需要庞大的计算能力。PyTorch-Transformers在很大程度上解决了这个问题,它能够帮助这类人群建立起最先进的NLP模型。

这里有几篇深度剖析PyTorch-Transformers的文章,可以帮助用户了解这一模型(及NLP中预训练模型的概念):

· PyTorch-Transformers:一款可处理最先进NLP的惊人模型库(使用Python)

https://www.analyticsvidhya.com/blog/2019/07/pytor...

· 8个入门NLP最优秀的预训练模型

https://www.analyticsvidhya.com/blog/2019/03/pretr...

· PyTorch——一个简单而强大的深度学习库

https://www.analyticsvidhya.com/blog/2018/02/pytor...

2. NeuralClassifier (NLP)

传送门: https://github.com/Tencent/NeuralNLP-NeuralClassif...

在现实世界中,文本数据的多标签分类是一个巨大的挑战。早期面对NLP问题时,我们通常处理的是单一标签任务,但在真实生活中却远不是这么简单。

在多标签分类问题中,实例/记录具备多个标签,且每个实例的标签数量并不固定。

NeuralClassifier使我们能够在多层、多标签分类任务中快速实现神经模型。我最喜欢的是NeuralClassifier,提供了各种大众熟知的文本编码器,例如FastText、RCNN、Transformer等等。

用NeuralClassifier可以执行以下分类任务:

· 双层文本分类

· 多层文本分类

· 多标签文本分类

· 多层(多标签)文本分类

以下两篇优秀的文章介绍了究竟什么是多标签分类,以及如何在Python中执行多标签分类:

· 使用NLP预测电影类型——多标签分类的精彩介绍

https://www.analyticsvidhya.com/blog/2019/04/predi...

· 使用Python构建你的第一个多标签图像分类模型

https://www.analyticsvidhya.com/blog/2019/04/build...

3. TDEngine (大数据)

传送门: https://github.com/taosdata/TDengine

TDEngine数据库在几乎不到一个月的时间内就累积了近10,000个star。继续往下读,你立马就能明白这是为何。

TDEngine是一个开源大数据平台,针对:

· 物联网(IoT)

· 车联网

· 工业物联网

· IT基础架构等等

本质上,TDEngine提供了一整套与数据工程相关的任务,用户可以用极快的速度完成所有这些工作(查询处理速度将提高10倍,计算使用率将降低到1/5)。

目前有一点需要注意——TDEngine仅支持在Linux上执行。TDEngine数据库包含完整的文件资料以及包含代码的入门指南。

建议你阅读这一篇针对数据工程师的综合资源指南:

· 想成为数据工程师?这里列出了入门应看的综合资源

https://www.analyticsvidhya.com/blog/2018/11/data-...

4. Video Object Removal (计算机视觉)

传送门: https://github.com/zllrunning/video-object-removal

你是否接触过图像数据?计算机视觉是一种十分先进的技术,用于操纵和处理图像的。想要成为计算机视觉专家,图像的目标检测通常被认为是必经之路。

那么视频呢?如果要对几个视频中的目标绘制边界框,虽然看似简单,实际难度却远不止如此,而且目标的动态性会使任务更加复杂。

所以Video Object Removal非常棒,只要在视频中某一目标周围绘制边界框,即可将它删除。就是这么简单!以下是一个范例:

如果你在计算机视觉的世界里还是个小白,这里有两篇能帮助你入门并快速上手的文章:

· 对基础目标检测算法的全面介绍

https://www.analyticsvidhya.com/blog/2018/10/a-ste...

· 使用深度学习2.0掌握计算机视觉

https://courses.analyticsvidhya.com/courses/comput...

5. Python Autocomplete (编程)

传送门: https://github.com/vpj/python_autocomplete

你一定会爱上Python Autocomplete的。数据科学家的所有工作就是对各种算法进行试验(至少是大多数人),而Python Autocomplete可以利用一个LSTM简单模型自动写完Python代码。

下图中,灰色的部分就是LSTM模型自动填写的代码(结果位于图像底部):

开发人员如是描述:

首先清除Python代码中的注释、字符串和空行,然后进行训练和预测。模型训练的前提是对python代码进行标记化,相比使用字节编码来预测字节,这似乎更为有效。

如果你曾花费(浪费)时间编写一行行单调的Python代码,那么这一模型可能正是你所寻找的。不过它的开发还处于非常早期的阶段,操作中不可避免会出现一些问题。

如果你想知道LSTM到底是什么,请阅读这篇文章中的介绍:

· 深度学习的要点:长短时记忆(LSTM)入门

https://www.analyticsvidhya.com/blog/2017/12/funda...

6. tfpyth–从TensorFlow到PyTorch再到TensorFlow (编程)

传送门: https://github.com/BlackHC/tfpyth

TensorFlow和PyTorch两大模型都坐拥庞大的用户群,但后者的使用率高得惊人,在未来一两年内很可能超过前者。不过请注意:这并不会打击Tensorflow,因为它的地位相当稳固。

所以如果你曾经在TensorFlow中写了一串代码,后来又在PyTorch中写了另一串代码,现在希望将两者结合起来用以训练模型——那么tfpyth框架会是一个好选择。Tfpyth最大的优势就在于用户不需要重写先前写好的代码。

这一项目对tfpyth的使用方法给出了结构严谨的示例,这无疑是对TensorFlow与PyTorch争论的一种重新审视。

安装tfpyth易如反掌:

pip install tfpyth

以下是两篇深度介绍TensorFlow和PyTorch如何运作的文章:

· 深度学习指南:使用Python中的TensorFlow实现神经网络

https://www.analyticsvidhya.com/blog/2016/10/an-in...

· PyTorch——一个简单而强大的深度学习库

https://www.analyticsvidhya.com/blog/2018/02/pytor...

7. MedicalNet

MedicalNet中包含了一个PyTorch项目,该项目将《Med3D:用迁移学习分析3D医学图像》(https://arxiv.org/abs/1904.00625)这篇论文中的想法付诸实践。这一机器学习项目将医学数据集与不同的模态、目标器官和病理结合起来,以构建规模较大的数据集。

众所周知,深度学习模型(通常)需要大量训练数据,而TenCent发布的MedicalNet是一个相当出色的开源项目,希望大家都能尝试使用它。

MedicalNet的开发人员已经发布了四个预训练模型,这些模型基于23个数据集。如果你需要,下文对迁移学习进行了直观的介绍:

· 迁移学习及在深度学习中使用预训练模型的艺术

https://www.analyticsvidhya.com/blog/2017/06/trans...