本周 Github 精选:13 款炼丹利器,有开源工具包也有超大数据集

2018-07-20 17:57:50 浏览数 (1)

#Swift for TensorFlow

Swift for TensorFlow 为 TensorFlow 提供了一种新的编程模型,将 TensorFlow 计算图与 Eager Execution 的灵活性和表达能力结合在了一起,同时还注重提高整个软件架构每一层的可用性。

本项目的设计基础是 Graph Program Extraction 算法,它可以让你用 Eager Execution 式的编程模型来轻松地实现代码,同时还保留 TensorFlow 计算图的高性能优势。此外,本项目还将高级的自动微分功能直接集成在了 Swift 语言和编译器里面。

项目链接

https://github.com/tensorflow/swift

#可视化降维Python工具包

HyperTools 是一个具有可视化功能的降维工具包,其基本流程是输入高维数据,调用降维函数,同时进行绘图。

效果展示

项目链接

https://github.com/ContextLab/hypertools

GluonNLP

#NLP深度学习工具包

GluonNLP 提供了 NLP 方向的顶尖深度学习模型实现,并且构建了文本数据管道和模型的模块。它专门面向工程师、研究人员和学者设计,大家可以基于这些模型快速实现研究思路,做出产品原型。

该项目具有如下特征:

1. 训练脚本来重现论文中的 state-of-the-art 结果;

2. 针对常见 NLP 任务的预训练模型;

3. 精心设计的 API,可以极大减少实现的复杂性;

4. 中文社区支持。

项目链接

https://github.com/dmlc/gluon-nlp

GluonCV

#CV深度学习工具包

GluonCV 提供了 CV 方向的顶尖深度学习模型实现。该项目能帮助工程师、研究人员和学者快速打造产品原型、验证新思路以及学习计算机视觉。

该工具包提供如下功能:

1. 近年重要论文的复现;

2. 详细文档提供使用说明和代码讲解;

3. 提供预训练的模型可以直接使用;

4. 性能评测,方便大家在不同模型之间做取舍;

5. 每个模型实现和接口尽量保证一致性,降低使用新模型的学习门槛;

6. 定时做重新训练保证代码正确性;

7. 中文社区支持。

案例展示

项目链接

https://github.com/dmlc/gluon-cv

PyTorch Summary

#PyTorch版Keras API: model.summary()

Keras 框架有一个用于模型可视化的简洁 API —— model.summary(),本项目实现了用于 PyTorch 框架中的 model.summary() 功能,用于输出模型各层的详细参数。

效果展示

项目链接

https://github.com/sksq96/pytorch-summary

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

Adversarial Robustness Toolbox

#IBM开源对抗机器学习库

Adversarial Robustness Toolbox 是由 IBM 团队开源的对抗机器学习库,其主要用于检测模型及对抗攻击,为开发人员加强 AI 模型被误导的防御性,让 AI 系统变得更加安全。

本项目实现了以下分类器攻防方法:

攻击:

  • Deep Fool (Moosavi-Dezfooli et al., 2015)
  • Fast Gradient Method (Goodfellow et al., 2014)
  • Jacobian Saliency Map (Papernot et al., 2016)
  • Universal Perturbation (Moosavi-Dezfooli et al., 2016)
  • Virtual Adversarial Method (Moosavi-Dezfooli et al., 2015)
  • C&W Attack (Carlini and Wagner, 2016)
  • NewtonFool (Jang et al., 2017)

防御:

  • Feature squeezing (Xu et al., 2017)
  • Spatial smoothing (Xu et al., 2017)
  • Label smoothing (Warde-Farley and Goodfellow, 2016)
  • Adversarial training (Szegedy et al., 2013)
  • Virtual adversarial training (Miyato et al., 2017)

项目链接

https://github.com/IBM/adversarial-robustness-toolbox

Chatbot

#可以进行训练的聊天机器人

本项目是一个可以自己进行训练的聊天机器人,可以根据自己的语料训练出想要的对话机器人。本次训练的语料是从互联网上找到的 shooter 训练语料,语料质量很差劲,仅作为演示代码来用,大家可以使用自己的语料。

项目链接

https://github.com/zhaoyingjun/chatbot

SparkFlow

#基于Spark平台的TensorFlow实现

SparkFlow 是一个基于 Spark 平台的 TensorFlow 实现,让用户更方便在 Spark 上部署 TensorFlow 程序,更好地利用分布式平台进行深度学习模型的训练。

MNIST深度学习示例

项目链接

https://github.com/lifeomic/sparkflow

Tweet Generator

#模拟任何Twitter用户发推文

Tweet Generator 是一个模拟 Twitter 用户风格生成推文的工具。本项目基于 textgenrnn,并使用上下文标签对网络进行训练以获得更好的推文合成。

textgenrnn 是一个基于 Keras 和 TensorFlow 的 Python 3 模块,只需几行代码即可训练文本生成网络。

效果展示

项目链接

https://github.com/minimaxir/tweet-generator

DL Project Template

#深度学习工程模板

本项目是由美图云事业部开源的深度学习工程模板,简化加载数据、构建网络、训练模型和预测样本的流程。

框架图

文件夹结构

项目链接

https://github.com/SpikeKing/DL-Project-Template

STAIR Actions

#用于动作识别的大规模视频数据集

STAIR Actions 是一个用于动作识别的大规模视频数据集,包含 100 类诸如吃饭、喝水、洗手、扔垃圾等人类日常行为,每一类动作有 1000 个左右的视频。作者保留了 10% 的数据用于后续比赛。

数据集规模

100种行为列表

项目链接

https://github.com/STAIR-Lab-CIT/STAIR-actions

Moonlight Optical Music Recognition

#基于TensorFlow的光学乐谱识别工具

本项目是一个基于 TensorFlow 的光学乐谱识别工具,它通过读取包含乐谱的 PNG 图像来输出 MusicXML 格式乐谱或 NoteSequence 消息。

项目链接

https://github.com/tensorflow/moonlight、

0 人点赞