当前位置: 首页 > 编程日记 > 正文

2019年不可错过的45个AI开源工具,你想要的都在这里

640?wx_fmt=png

整理 | Jane

出品 | AI科技大本营(ID:rgznai100)

一个好工具,能提高开发效率,优化项目研发过程,无论是企业还是开发者个人都在寻求适合自己的开发工具。但是,选择正确的工具并不容易,有时这甚至是一项艰巨的任务。

Google

640?wx_fmt=png
开源地址:
https://github.com/google/jax
2、AdaNet【Stars:2.9k】

AdaNet 是一款基于TensorFlow 的轻量型框架。可以使用最少的专家干预来自动学习高质量模型,AdaNet提供的通用框架,不仅可以用于学习神经网络架构,还可以学习集成,从而获得更好的模型。
开源地址:
https://github.com/tensorflow/adanet

640?wx_fmt=png
开源地址:
https://github.com/tensorflow/tfx

开源地址:
https://github.com/tensorflow/federated

640?wx_fmt=png
开源地址:
https://github.com/google/mediapipe

640?wx_fmt=png
开源地址:
https://github.com/google/tensornetwork

7、GPipe
GPipe 是一个分布式机器学习库,使用同步随机梯度下降和流水线并行技术进行训练,适用于任何由多个序列层组成的 DNN。重要的是,GPipe 让研究人员无需调整超参数,即可轻松部署更多加速器,从而训练更大的模型并扩展性能。
开源地址:
https://github.com/tensorflow/lingvo/blob/master/lingvo/core/gpipe.py

8、 MLIR【Stars:1.5k】
MLIR 通过定义一个通用的中间表示,将在TensorFlow和类似的ML框架中执行高性能机器学习模型所需的基础设施进行统一,包括高性能计算技术应用或强化学习这类搜索算法的集成。MLIR旨在降低开发新硬件的成本,并提高现有TensorFlow用户的可用性。
开源地址:
https://github.com/tensorflow/mlir

DeepMind

核心的 OpenSpiel 实现基于 C ++ 和 Python 绑定,这有助于在不同的深度学习框架中采用。该框架包含一系列游戏,允许 DRL agent 学会合作和竞争行为。同时,OpenSpiel 还包括搜索、优化和单一 agent 等多种 DRL 算法组合。
开源地址:
https://github.com/deepmind/open_spiel

开源地址:

https://github.com/deepmind/spriteworld

640?wx_fmt=png

开源地址:

https://github.com/deepmind/bsuite

Facebook

全部开源:

https://ai.facebook.com/results/open-source/?content_types%5B0%5D=blog

开源地址:

https://github.com/facebookresearch/LASER

Detectron2已经包含了众多保质量实现的目标检测算法,包括:DensePose, panoptic feature pyramid networks和Mask RCNN的各种变种。,其模块化特性也使其能够有效帮助研究人员探索最先进的算法设计。

开源地址:

https://github.com/facebookresearch/detectron2

3、Habitat-Sim【Stars:549】
Habitat-Sim 是一个仿真的、灵活、高性能的3D模拟器,可配置代理、多个传感器和通用3D数据集处理,让我们可以在其中训练和评估 AI智能体。
640?wx_fmt=png

开源地址:

https://github.com/facebookresearch/habitat-sim

PyText 是一个基于 PyTorch 构建的 NLP 建模(基于深度学习)框架,核心功能可以支持文本分类、序列标注等神经网络模型。PyText 可以简化工作流程,加速试验,同时还能促进大规模部署。
开源地址:
https://github.com/facebookresearch/pytext

5、Nevergrad【Stars:2.1k】
Nevergrad 是Facebook 内部也在使用的一个无梯度优化 Python工具箱。除了内部项目中使用,还可以广泛运用在机器学习的多种问题中,比如多模态问题、可分离或旋转问题、部分可分离问题、离散、连续或混合等问题。
640?wx_fmt=png

开源地址:

https://github.com/facebookresearch/nevergrad

6、QNNPACK【Stars:1.2k】
QNNPACK(量化神经网络包)是一个针对低精度高性能神经网络推理的移动端优化库。据官方公布,QNNPACK可以成倍提升神经网络的推理效率,已经成为 PyTorch 1.0 的一部分, 也已经被集成到 Facebook 的应用程序中,部署到数十亿台设备上。

开源地址:

https://github.com/pytorch/QNNPACK

PBG 比常用的嵌入软件更快,并在标准基准上生成与最先进模型质量相当的嵌入。有了这个新工具,任何人都可以用一台机器或多台机器并行地读取一个大图并快速生成高质量的嵌入。
640?wx_fmt=png

开源地址:

https://github.com/facebookresearch/PyTorch-BigGraph

8、 CrypTen【Stars:274】
CrypTen是一个基于PyTorch的隐私保护机器学习框架 。它的目标是让机器学习的实践者能够使用安全地进行计算。
640?wx_fmt=png

开源地址:

https://github.com/facebookresearch/crypten

640?wx_fmt=png

开源地址:

https://www.captum.ai/

10、DLRM【Stars:1.5k】
Facebook 开源的深度学习推荐模型DLRM 是基于 PyTorch 和 Caffe2 平台实现。这也是一个在生产环境中提供个性化结果的模型,通过结合协同过滤算法和预测分析方法,使模型获得进一步效果的提升。

开源地址:

https://github.com/facebookresearch/dlrm

11、Pythia【Stars:2.9k】
Pythia 是一个模块化的深度学习框架。它可以支持视觉和语言领域的多任务处理,内置各种数据集,同时还支持数据并行和分布式数据并行的分布式训练,满足用户对损失、度量、调度和优化器的定制需求。

640?wx_fmt=png

开源地址:

https://github.com/facebookresearch/pythia


亚马逊

开源地址:
http://dgl.ai
https://github.com/dmlc/dgl

2、Neo-AI
Neo-AI 是 AWS 开源一个AI模型优化框架,包含了对 TVM、Treelite、DLR 所做多一些改进与创新。Neo-AI 运行时占用的空间并不大,转换模型的速度可以加快2 倍,但精度并不会受到损失,在目标硬件上运行时并不依赖于框架。

开源地址:

https://github.com/neo-ai

微软

开源地址:

https://github.com/microsoft/nni/blob/master/README_zh_CN.md

微软开源的 AI 计算平台,帮助加速机器学习的模型训练过程。提供了完整的 AI 模型训练和资源管理能力,能轻松扩展,并支持各种规模的私有部署、云和混合环境。

开源地址:

https://github.com/microsoft/pai/blob/master/README.md

3、lnterpretML【Stars:2.1k】
微软开源的可解释机器学习工具包 lnterpretML。它不仅能执行很多可理解的模型,也希望帮助开发人员能尝试各种方法解释模型和系统。

开源地址:

https://github.com/interpretml/interpret

4、PipeDream【Stars:34】
几个月以前,微软研究院宣布了Fiddle项目的创立,其包括了一系列的旨在简化分布式深度学习的研究项目。PipeDreams是Fiddle发布的第一个侧重于深度学习模型并行训练的项目之一。PipeDream采用一种有别于其它方法的方式,利用称为“流水线并行”的技术来扩展深度学习模型的训练。

开源地址:

https://github.com/msr-fiddle/pipedream

Uber

1、Ludwig【Stars:5.9k】
一个基于TensorFlow的工具箱,不用写代码就能够训练和测试深度学习模型。可以帮助开发者更好地理解深度学习方面的能力,并能够推进模型快速迭代。对AI专家来说,Ludwig可以简化原型设计和数据处理过程,从而让他们能够专注于开发深度学习模型架构。

开源地址:

https://github.com/uber/ludwig

OpenCV

1、OpenVINO【Stars:873】
OpenVINO 是一个模型训练框架,提供了大量的预训练模型,同时提供模型重新训练与部署的拓展通道。

开源地址:

https://github.com/opencv/dldt

SciSharp STACK
一个基于 .NET 的机器学习生态,提供一个和 Python 生态体验一致的工具库,让模型迁移更容易、学习曲线最低。SciSharp 从最基本的张量计算库 NumSharp 开始构建,到 TensorFlow Binding,再到吸纳其它深度学习库 SiaNet 做 ArrayFire.NET,最后到开发ICSharpCore以支持Jupyter Notebook调试。

640?wx_fmt=png

开源地址:

https://github.com/SciSharp/TensorFlow.NET


640?wx_fmt=png

开源地址:

https://github.com/SciSharp/Numpy.NET

阿里

开源地址:

https://github.com/alibaba/euler/wiki

640?wx_fmt=png

开源地址:

https://github.com/alibaba/x-deeplearning

640?wx_fmt=png
开源地址:
https://github.com/alibaba/MNN/blob/master/README_CN.md

腾讯

640?wx_fmt=png

开源地址:

https://github.com/Angel-ML/angel

字节跳动

1、BytePS【Stars:1.9k】
BytePS 是今年字节跳动发布的一款高性能的通用分布式训练框架。它支持TensorFlow、Keras、PyTorch 和 MXNet,可以在TCP或RDMA网络上运行。BytePS在很大程度上优于现有的开源分布式培训框架。
640?wx_fmt=png

开源地址:

https://github.com/bytedance/byteps

商汤

开源地址:

https://github.com/open-mmlab/mmdetection

2、PySOT【Stars:2.7k】
PySOT 目标跟踪库实现了目前 SOTA 的多个单目标跟踪算法,包括SiamRPN和SiamMask。PySOT 是用 Python 编写,基于 PyTorch 框架实现,同时该项目还包含一个评估跟踪器的Python 接口。
640?wx_fmt=png
开源地址:
https://github.com/STVIR/pysot


搜狗

1、SMRC【Stars:547】
SMRC(Sogou Machine Reading Comprehension)目前业内最全的TensorFlow版本的阅读理解工具集合,从相关数据集的下载到最后模型的训练和测试,一应俱全。
640?wx_fmt=png

开源地址:

https://github.com/sogou/SMRCToolkit

蚂蚁金服

开源地址:

https://github.com/sql-machine-learning/elasticdl/


其他

该框架可以帮助学术研究人员快速开发算法原型;为工业界人员快速开发应用提供一种简洁有效的解决方案,支持在多场景下的开拓和应用;借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU)和设备(桌面设备、服务器集群、移动设备等)

开源地址:

https://www.fedai.org.cn/cn/

https://github.com/FederatedAI/FATE

2、DeepCTR【Stars:2.2k】
DeepCTR 一个易于使用、模块化和可扩展的基于深度学习的 CTR 模型包,带有许多核心组件层,可用于轻松构建自己定制的模型。

开源地址:

https://github.com/shenweichen/DeepCTR

3、ALiPy【Stars:356】
ALiPy是一个基于Python实现的主动学习工具包,内置20余种主动学习算法,并提供包括数据处理、结果可视化等工具。ALiPy根据主动学习框架的不同部件提供了若干独立的工具类,这样一方面可以方便地支持不同主动学习场景,另一方面可以使用户自由地组织自己的项目,用户可以不必继承任何接口来实现自己的算法与替换项目中的部件。此外,ALiPy不仅支持多种不同的主动学习场景,如标注代价敏感,噪声标注者,多标记查询等。

开源地址:

https://github.com/NUAA-AL/ALiPy

4、Real-Time Voice Cloning【Stars:9.1k】
Real-Time Voice Cloning 是论文《Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis(SV2TTS)》的实现。SV2TTS 是一个三阶段深度学习框架,可以在 5 秒的音频中创建一个语音的数字表示,并使用它来调整一个经过训练的文本到语音模型,以推广到新的语音。

开源地址:

https://github.com/CorentinJ/Real-Time-Voice-Cloning

5、Weights and Biases 【Stars:1.3k】
640?wx_fmt=png
一个在机器学习实验过程中用于可视化和跟踪的工具。它与框架无关,比TensorBoard更轻。每次运行一个装有 wandb 的脚本时,都会保存超参数和输出度量。在训练过程中可视化模型,还能轻松对比模型的版本,还会自动跟踪你的代码、系统指标和配置参数的状态。
开源地址:
https://github.com/wandb/client

送礼时间



2019年CSDN软件开发者大调查活动已经正式启动了!作为技术开发社区的一份子,我们诚邀你加入我们的大调查活动,重磅礼品狂送不停!

参与即有机会获赠,还等什么,快来试试吧~~此外,所有参与调查并提交有效信息的用户,都将第一时间获赠“2019-2020中国开发者调查报告”电子版!
640?wx_fmt=png

推荐阅读

相关文章:

swift中delegate与block的反向传值

swift.jpg入门级 此处只简单举例并不深究,深究我也深究不来。对于初学者来说delegate或block都不是一下子能理解的,所以我的建议和体会就是,理不理解咱先不说,我先把这个格式记住,对就是格式,delegate或blo…

Direct2D (15) : 剪辑

为什么80%的码农都做不了架构师?>>> 绘制在 RenderTarget.PushAxisAlignedClip() 与 RenderTarget.PopAxisAlignedClip() 之间的内容将被指定的矩形剪辑。 uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject); varcvs: TDirect2DCanvas;…

女朋友啥时候怒了?Keras识别面部表情挽救你的膝盖

作者 | 叶圣出品 | AI科技大本营(ID:rgznai100)【导读】随着计算机和AI新技术及其涉及自然科学的飞速发展,整个社会上的管理系统高度大大提升,人们对类似人与人之间的交流日渐疲劳而希望有机器的理解。计算机系统和机械人如果需要…

提高C++性能的编程技术笔记:构造函数和析构函数+测试代码

对象的创建和销毁往往会造成性能的损失。在继承层次中,对象的创建将引起其先辈的创建。对象的销毁也是如此。其次,对象相关的开销与对象本身的派生链的长度和复杂性相关。所创建的对象(以及其后销毁的对象)的数量与派生的复杂度成正比。 并不是说继承根…

swim 中一行代码解决收回键盘

//点击空白收回键盘 override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { view.endEditing(true) }

WinAPI: SetRect 及初始化矩形的几种办法

为什么80%的码农都做不了架构师&#xff1f;>>> 本例分别用五种办法初始化了同样的一个矩形, 运行效果图: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)Butto…

Windows10上使用VS2017编译OpenCV3.4.2+OpenCV_Contrib3.4.2+Python3.6.2操作步骤

1. 从https://github.com/opencv/opencv/releases 下载opencv-3.4.2.zip并解压缩到D:\soft\OpenCV3.4.2\opencv-3.4.2目录下&#xff1b; 2. 从https://github.com/opencv/opencv_contrib/releases 下载opencv_contrib-3.4.zip并解压缩到D:\soft\OpenCV3.4.2\opencv_contrib-3…

swift 跳转网页写法

var alert : UIAlertView UIAlertView.init(title: "公安出入境网上办事平台", message: "目前您可以使用网页版进行出入境业务预约与查询&#xff0c;是否进入公安出入境办事平台&#xff1f;", delegate: nil, cancelButtonTitle: "取消", o…

智能边缘计算:计算模式的再次轮回

作者 | 刘云新来源 | 微软研究院AI头条&#xff08;ID:MSRAsia&#xff09;【导读】人工智能的蓬勃发展离不开云计算所带来的强大算力&#xff0c;然而随着物联网以及硬件的快速发展&#xff0c;边缘计算正受到越来越多的关注。未来&#xff0c;智能边缘计算将与智能云计算互为…

WinAPI: 钩子回调函数之 SysMsgFilterProc

为什么80%的码农都做不了架构师&#xff1f;>>> SysMsgFilterProc(nCode: Integer; {}wParam: WPARAM; {}lParam: LPARAM {} ): LRESULT; {}//待续...转载于:https://my.oschina.net/hermer/blog/319736

提高C++性能的编程技术笔记:虚函数、返回值优化+测试代码

虚函数&#xff1a;在以下几个方面&#xff0c;虚函数可能会造成性能损失&#xff1a;构造函数必须初始化vptr(虚函数表)&#xff1b;虚函数是通过指针间接调用的&#xff0c;所以必须先得到指向虚函数表的指针&#xff0c;然后再获得正确的函数偏移量&#xff1b;内联是在编译…

ICCV 2019 | 无需数据集的Student Networks

译者 | 李杰 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;本文是华为诺亚方舟实验室联合北京大学和悉尼大学在ICCV2019的工作。摘要在计算机视觉任务中&#xff0c;为了将预训练的深度神经网络模型应用到各种移动设备上&#xff0c;学习一个轻便的网络越来越重要。…

oc中特殊字符的判断方法

-(BOOL)isSpacesExists { // NSString *_string [NSString stringWithFormat:"123 456"]; NSRange _range [self rangeOfString:" "]; if (_range.location ! NSNotFound) { //有空格 return YES; }else { //没有空格 return NO; } } -(BOOL)i…

理解 Delphi 的类(十) - 深入方法[23] - 重载

为什么80%的码农都做不了架构师&#xff1f;>>> {下面的函数重名, 但参数不一样, 此类情况必须加 overload 指示字;调用时, 会根据参数的类型和个数来决定调用哪一个;这就是重载. }function MyFun(s: string): string; overload; beginResult : 参数是一个字符串: …

玩转ios友盟远程推送,16年5月图文防坑版

最近有个程序员妹子在做远程推送的时候遇到了困难&#xff0c;求助本帅。尽管本帅也是多彩的绘图工具&#xff0c;从没做过远程推送&#xff0c;但是本着互相帮助&#xff0c;共同进步的原则&#xff0c;本帅还是掩饰了自己的彩笔身份&#xff0c;耗时三天&#xff08;休息时间…

提高C++性能的编程技术笔记:临时对象+测试代码

类型不匹配&#xff1a;一般情况是指当需要X类型的对象时提供的却是其它类型的对象。编译器需要以某种方式将提供的类型转换成要求的X类型。这一过程可能会产生临时对象。 按值传递&#xff1a;创建和销毁临时对象的代价是比较高的。倘若可以&#xff0c;我们应该按指针或者引…

北美欧洲顶级大咖齐聚,在这里读懂 AIoT 未来!

2019 嵌入式智能国际大会即将来袭&#xff01;购票官网&#xff1a;https://dwz.cn/z1jHouwE随着海量移动设备的时代到来&#xff0c;以传统数据中心运行的人工智能计算正在受到前所未有的挑战。在这一背景下&#xff0c;聚焦于在远离数据中心的互联网边缘进行人工智能运算的「…

c# 关闭软件 进程 杀死进程

c# 关闭软件 进程 杀死进程 foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("Server")){p.Kill();} 转载于:https://www.cnblogs.com/lxctboy/p/3999053.html

提高C++性能的编程技术笔记:单线程内存池+测试代码

频繁地分配和回收内存会严重地降低程序的性能。性能降低的原因在于默认的内存管理是通用的。应用程序可能会以某种特定的方式使用内存&#xff0c;并且为不需要的功能付出性能上的代价。通过开发专用的内存管理器可以解决这个问题。对专用内存管理器的设计可以从多个角度考虑。…

【Swift】 GETPOST请求 网络缓存的简单处理

GET & POST 的对比 源码&#xff1a; https://github.com/SpongeBob-GitHub/Get-Post.git 1. URL - GET 所有的参数都包含在 URL 中 1. 如果需要添加参数&#xff0c;脚本后面使用 ? 2. 参数格式&#xff1a;值对 参数名值 3. 如果有多个参数&#xff0c;使用 & 连接 …

深度CTR预估模型的演化之路2019最新进展

作者 | 锅逗逗来源 | 深度传送门&#xff08;ID: deep_deliver&#xff09;导读&#xff1a;本文主要介绍深度CTR经典预估模型的演化之路以及在2019工业界的最新进展。介绍在计算广告和推荐系统中&#xff0c;点击率&#xff08;Click Through Rate&#xff0c;以下简称CTR&…

2015大型互联网公司校招都开始了,薪资你准备好了嘛?

2015年的校招早就开始了&#xff0c;你还不知道吧&#xff1f;2015年最难就业季来了&#xff0c;你还没准备好嘛&#xff1f;现在就开始吧&#xff0c;已经很多大型互联网公司祭出毕业生底薪了看谷歌、看百度、看腾讯、看阿里巴巴再看传统软件公司&#xff1a;看微软、看联想、…

提高C++性能的编程技术笔记:多线程内存池+测试代码

为了使多个线程并发地分配和释放内存&#xff0c;必须在分配器方法中添加互斥锁。 全局内存管理器(通过new()和delete()实现)是通用的&#xff0c;因此它的开销也非常大。 因为单线程内存管理器要比多线程内存管理器快的多&#xff0c;所以如果要分配的大多数内存块限于单线程…

iOS中几种定时器

一、NSTimer 1. 创建方法 NSTimer *timer [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:selector(action:) userInfo:nil repeats:NO];TimerInterval : 执行之前等待的时间。比如设置成1.0&#xff0c;就代表1秒后执行方法target : 需要执行方法的对象…

手把手教你使用Flask轻松部署机器学习模型(附代码链接) | CSDN博文精选

作者 | Abhinav Sagar翻译 | 申利彬校对 | 吴金笛来源 | 数据派THU&#xff08;ID&#xff1a;DatapiTHU&#xff09;本文旨在让您把训练好的机器学习模型通过Flask API 投入到生产环境 。当数据科学或者机器学习工程师使用Scikit-learn、Tensorflow、Keras 、PyTorch等框架部署…

JQuery遮罩层

2019独角兽企业重金招聘Python工程师标准>>> css样式&#xff1a;<style type"text/css"> .mask { position: absolute; top: 0px; filter: alpha(opacity60); background-color: #777; z-index: 1002; left: 0px; …

代码覆盖测试工具Kcov简介及使用

Kcov是一个代码覆盖测试工具&#xff0c;最初基于Bcov&#xff0c;它可在FreeBSD、Linux、OSX系统中使用&#xff0c;支持的语言包括编译语言(compiled languages)、Python和Bash。与Bcov一样&#xff0c;Kcov对编译的程序使用DWARF调试信息&#xff0c;以便无需特殊编译器开关…

Google148亿元收购Fitbit,抢占苹果、三星可穿戴设备市场地盘

编译 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;11 月 1 日&#xff0c;Google 母公司 Alphabet 和 可穿戴设备公司 Fitbit 同时发布新闻&#xff0c;宣布已经达成了收购后者的最终协议。Google LLC 以每股 7.35 美元的价格收购 Fitbit&#xff0c;总价值…

ios关于用xib创建的cell 自动返回cell的高度问题!

1 设置tableView的属性 self.tableView.rowHeight UITableViewAutomaticDimension; self.tableView.estimatedRowHeight 44.0; // 设置为一个接近“平均”行高的值 2 cell要约束好&#xff0c;要能够让cell知道自己的高度根据哪个控件计算就可以&#xff08;不明白看下图&…

西门子PLC学习笔记二-(工作记录)

今天师傅给讲了讲做自己主动化控制的总体的思路&#xff0c;特进行一下记录&#xff0c;做个备忘。 1.需求分析 本次的项目是对楼宇循环供水的控制&#xff0c;整个项目须要完毕压力、压差、温度等的获取及显示、同一时候完毕电机的控制。 2.设计 使用西门子的Step7工具进行梯形…