虽然我不会写代码,但是搞定深度学习和人工智能只是小菜一碟
人工智能、深度学习、爬虫算法、架构框架、Java、PHP、C++……听起来好像都很厉害的样子,但是如果我不是一名程序员,不会写代码,怎么能轻松玩转这些高级关键词,和 IT 领域的大咖进行深入交流呢?
Uber 近期就开源了这么一个神奇的项目,即使不会写代码,也能轻松入门深度学习,这绝对是史上门槛门槛最低的深度学习框架,从小朋友到老大爷,全都能轻松开始深度学习之旅。
Ludwig是一个建立在TensorFlow之上的工具箱,它允许用户在不需要编写代码的情况下训练和测试深度学习模型。用户只需要提供一个包含数据的CSV文件,一个列表作为输入,一个列表作为输出,Ludwig就将为你完成其余的工作:训练、测试、可视化、分布式训练等等。
安装Ludwig只需要一行代码:
pip install ludwig
训练模型:
ludwig train
--data_csv file.csv
--model_definition definition.yaml
模型预测:
ludwig predict
--data_csv data.csv
--model path_to_model
可视化:
ludwig visualize
--visualization learning_curves
--training_statistics train_statistics.json
当然,对于熟悉Python的用户,Ludwig也提供了非常简单易用的API:
from ludwig import LudwigModel
# train a model
model_definition = {...}
model = LudwigModel(model_definition)
train_stats = model.train(training_dataframe)
# or load a model
model = LudwigModel.load(model_path)
# obtain predictions
predictions = model.predict(test_dataframe)
model.close()
可视化工具允许你分析模型的训练和测试性能,并对它们进行比较。
Ludwig在构建时考虑了可扩展性原则,很容易添加对新数据类型和新模型体系结构的支持。工程人员可以使用它快速训练和测试深度学习模型,研究人员也可以使用它来获得强有力的基线版本,并方便进行对比,并通过执行标准数据预处理和可视化来确保模型可比性。
核心设计原则是:
无需编码:不需要编码技能来训练模型也不需要编码用它进行预测。
通用性:一种新的基于数据类型的深度学习模型设计方法,使该工具可以跨许多不同的应用领域使用。这点无比强大!
灵活性:经验丰富的用户对模型构建和训练可进行有效的控制,而新手会容易上手。
可扩展性:易于添加新的模型体系结构和新的特征数据类型。
可理解性:深度学习模型内部通常被认为是黑匣子,但是该库提供标准的可视化来理解它们的性能并比较它们的预测。
Ludwig 提供了一套 AI 架构,可以组合起来,为给定的用例创建端到端的模型。开始模型训练,只需要一个表格数据文件(如 CSV)和一个 YAML 配置文件——用于指定数据文件中哪些列是输入特征,哪些列是输出目标变量。如果指定了多个输出变量,Ludwig 将学会同时预测所有输出。使用 Ludwig 训练模型,在模型定义中可以包含附加信息,比如数据集中每个特征的预处理数据和模型训练参数, 也能够保存下来,可以在日后加载,对新数据进行预测。
对于 Ludwig 支持的数据类型(文本、图像、类别等),其提供了一个将原始数据映射到张量的编码器,以及将张量映射到原始数据的解码器(张量是线性代数中使用的数据结构)。内置的组合器,能够自动将所有输入编码器的张量组合在一起,对它们进行处理,并将其返回给输入解码器。
Uber 表示,通过组合这些特定于数据类型的组件,用户可以将 Ludwig 用于各种任务。比如,组合文本编码器和类别解码器,就可以获得一个文本分类器。
每种数据类型有多个编码器和解码器。例如,文本可以用卷积神经网络(CNN),循环神经网络(RNN)或其他编码器编码。用户可以直接在模型定义文件中指定要使用的参数和超参数,而无需编写单行代码。
Ludwig 采用的这种灵活的编码器-解码器架构,即使是经验较少的深度学习开发者,也能够轻松地为不同的任务训练模型。比如文本分类、目标分类、图像字幕、序列标签、回归、语言建模、机器翻译、时间序列预测和问答等等。
此外,Ludwig 还提供了各种工具,且能够使用开源分布式培训框架 Horovod。目前,Ludwig 有用于二进制值,浮点数,类别,离散序列,集合,袋(bag),图像,文本和时间序列的编码器和解码器,并且支持选定的预训练模型。
GitHub 地址:https://github.com/uber/ludwig
- 深度学习之google deepmind的alphago AI人工智能算法技术演变历程
- 第七章 人工智能,7.3 深度学习与自然语言处理在智能语音客服中的应用(作者: 余慈)
- 详解深度学习中的Normalization,不只是BN(1)
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例详细介绍
- DeepMind背后的人工智能:深度学习原理初探
- MATLAB上用十一行代码实现深度学习…
- 各类识别、深度学习 开源代码及文献梳理
- 深度学习 人工智能算法,机器学习奠基之作,AI圣经(花书) PDF下载
- 惊不惊喜, 用深度学习 把设计图 自动生成HTML代码 !
- 7月7日云栖精选夜读:专访 | 杨强教授谈CCAI、深度学习泡沫与人工智能入门
- 深度学习颠覆了对话人工智能
- OpenGL学习----虽然是个小问题,但是困扰了我好久,我就觉得他是个大问题!!希望高手指教一二!
- 深度学习笔记一:BP神经网络的介绍和Python代码实现(1)
- 深度学习: 推进人工智能的梦想
- apollo代码学习2.1——深度解析(control)
- 深度学习: 推进人工智能的梦想
- 深度学习: 推进人工智能的梦想
- 云计算+大数据+深度学习+人工智能+量子计算=?
- 【2017年10月最新深度学习方面的边缘检测论文和代码】【CASENet:深度类别感知语义边缘检测】
- 4星|《经验的疆界》:奇书,企业如何从经验中学习的相关论文综述,虽然有点旧但是非常有新意