来源:PaperWeekly
本文共1700字,建议阅读6分钟。 本文为你精选近期Github上的13款深度学习开源工具包和数据集,一起Star和Fork吧~
01
#Swift for TensorFlow
Swift for TensorFlow 为 TensorFlow 提供了一种新的编程模型,将 TensorFlow 计算图与 Eager Execution 的灵活性和表达能力结合在了一起,同时还注重提高整个软件架构每一层的可用性。
本项目的设计基础是 Graph Program Extraction 算法,它可以让你用 Eager Execution 式的编程模型来轻松地实现代码,同时还保留 TensorFlow 计算图的高性能优势。此外,本项目还将高级的自动微分功能直接集成在了 Swift 语言和编译器里面。
项目链接 https://github.com/tensorflow/swift
02
#可视化降维Python工具包
HyperTools 是一个具有可视化功能的降维工具包,其基本流程是输入高维数据,调用降维函数,同时进行绘图。
▲ 效果展示
项目链接 https://github.com/ContextLab/hypertools
03
GluonNLP
#NLP深度学习工具包
GluonNLP 提供了 NLP 方向的顶尖深度学习模型实现,并且构建了文本数据管道和模型的模块。它专门面向工程师、研究人员和学者设计,大家可以基于这些模型快速实现研究思路,做出产品原型。
该项目具有如下特征:
1. 训练脚本来重现论文中的 state-of-the-art 结果;
2. 针对常见 NLP 任务的预训练模型;
3. 精心设计的 API,可以极大减少实现的复杂性;
4. 中文社区支持。
▲ 案例展示
项目链接 https://github.com/dmlc/gluon-nlp
04
GluonCV
#CV深度学习工具包
GluonCV 提供了 CV 方向的顶尖深度学习模型实现。该项目能帮助工程师、研究人员和学者快速打造产品原型、验证新思路以及学习计算机视觉。
该工具包提供如下功能:
1. 近年重要论文的复现;
2. 详细文档提供使用说明和代码讲解;
3. 提供预训练的模型可以直接使用;
4. 性能评测,方便大家在不同模型之间做取舍;
5. 每个模型实现和接口尽量保证一致性,降低使用新模型的学习门槛;
6. 定时做重新训练保证代码正确性;
7. 中文社区支持。
▲ 案例展示
项目链接 https://github.com/dmlc/gluon-cv
05
PyTorch Summary
#PyTorch版Keras API: model.summary()
Keras 框架有一个用于模型可视化的简洁 API —— model.summary(),本项目实现了用于 PyTorch 框架中的 model.summary() 功能,用于输出模型各层的详细参数。
▲ 效果展示
项目链接 https://github.com/sksq96/pytorch-summary
06
NCRF++
#基于PyTorch的Neural版本CRF++
本项目是基于 PyTorch 的神经网络序列标注开源库,包含了几种最先进的神经网络序列标注模型(LSTMCRF, CNNCRF 等),算是神经网络版的 CRF++。它可以让用户快速重现论文中的模型(如 Ma et. al ACL 2016; Lample et. al NAACL2016)。
该项目具有以下几个特点:
1. 无需写代码:只要通过修改配置文件就可以对模型的结构进行配置,无需任何代码工作;
2. 自由添加特征:该项目不仅集成了几种经典的特征结构(如 char-lstm, char-gru, char-cnn)还可以添加自定义的特征并初始化特征向量;
3. 高效准确:利用该开源库可以轻松重现之前的多篇论文的结果,大部分情况下会得到比论文更高的精度。同时该项目时完全基于 batch 计算实现的,因此计算速度很快(2000 句/秒);
4. Nbest 输出:其 CRF 结构支持输出 top-n 个最优 label 序列,并给出对应的序列概率。
▲ 结构设计
项目链接 https://github.com/jiesutd/NCRFpp
07
Adversarial Robustness Toolbox
#IBM开源对抗机器学习库
Adversarial Robustness Toolbox 是由 IBM 团队开源的对抗机器学习库,其主要用于检测模型及对抗攻击,为开发人员加强 AI 模型被误导的防御性,让 AI 系统变得更加安全。
本项目实现了以下分类器攻防方法:
攻击:
防御:
项目链接 https://github.com/IBM/adversarial-robustness-toolbox
08
Chatbot
#可以进行训练的聊天机器人
本项目是一个可以自己进行训练的聊天机器人,可以根据自己的语料训练出想要的对话机器人。本次训练的语料是从互联网上找到的 shooter 训练语料,语料质量很差劲,仅作为演示代码来用,大家可以使用自己的语料。
项目链接 https://github.com/zhaoyingjun/chatbot
09
SparkFlow
#基于Spark平台的TensorFlow实现
SparkFlow 是一个基于 Spark 平台的 TensorFlow 实现,让用户更方便在 Spark 上部署 TensorFlow 程序,更好地利用分布式平台进行深度学习模型的训练。
▲ MNIST深度学习示例
项目链接 https://github.com/lifeomic/sparkflow
10
Tweet Generator
#模拟任何Twitter用户发推文
Tweet Generator 是一个模拟 Twitter 用户风格生成推文的工具。本项目基于 textgenrnn,并使用上下文标签对网络进行训练以获得更好的推文合成。
textgenrnn 是一个基于 Keras 和 TensorFlow 的 Python 3 模块,只需几行代码即可训练文本生成网络。
▲ 效果展示
项目链接 https://github.com/minimaxir/tweet-generator
11
DL Project Template
#深度学习工程模板
本项目是由美图云事业部开源的深度学习工程模板,简化加载数据、构建网络、训练模型和预测样本的流程。
▲ 框架图
▲ 文件夹结构
项目链接 https://github.com/SpikeKing/DL-Project-Template
12
STAIR Actions
#用于动作识别的大规模视频数据集
STAIR Actions 是一个用于动作识别的大规模视频数据集,包含 100 类诸如吃饭、喝水、洗手、扔垃圾等人类日常行为,每一类动作有 1000 个左右的视频。作者保留了 10% 的数据用于后续比赛。
▲ 数据集规模
▲ 100种行为列表
项目链接 https://github.com/STAIR-Lab-CIT/STAIR-actions
13
Moonlight Optical Music Recognition
#基于TensorFlow的光学乐谱识别工具
本项目是一个基于 TensorFlow 的光学乐谱识别工具,它通过读取包含乐谱的 PNG 图像来输出 MusicXML 格式乐谱或 NoteSequence 消息。
项目链接 https://github.com/tensorflow/moonlight