ludwig-路德维希-无需编程就能搭建属于自己深度学习模型的工具箱

about ludwig

一个不需要编程就能搭建属于自己深度学习模型的工具

Ludwig是一个工具箱,可以训练和测试深度学习模型,而无需编写代码

易用:一种新的基于数据类型的深度学习模型设计方法,使该工具适用于许多不同的应用程序

灵活:有经验的用户可以深入控制模型构建和培训,而新手则会发现它易于使用。

扩展:易于添加新模型架构和新功能数据类型

易理解:深度学习模型内部通常被认为是黑盒子,但我们提供标准的可视化来理解他们的表现并比较他们的预测

简单:训练模型并使用它来获得预测不需要编码技能


介绍:

Ludwig是一个基于TensorFlow构建的工具箱,可以训练和测试深度学习模型,而无需编写代码。

您需要提供的只是一个包含数据的CSV文件,一个用作输入的列列表,以及一个用作输出的列列表,Ludwig将完成剩下的工作。简单命令可用于在本地和以分布式方式训练模型,并使用它们来预测新数据。

还可以使用编程API来从您的python代码中使用Ludwig。一套可视化工具允许您分析模型的训练和测试性能并进行比较。

Ludwig在构建时考虑了可扩展性原则,基于数据类型抽象,可以轻松添加对新数据类型以及新模型体系结构的支持。

它可以被从业者用于快速训练和测试深度学习模型以及研究人员获得强大的基线以进行比较,并具有通过执行标准数据预处理和可视化来确保可比性的实验设置。

Ludwig提供了一组模型体系结构,这些体系结构可以组合在一起,为给定的用例创建端到端模型。作为类比,如果深度学习图书馆为您的建筑提供构建模块,Ludwig提供建筑物来建造您的城市,您可以选择可用的建筑物或将您自己的建筑物添加到可用的建筑物中。

我们在工具箱中加入的核心设计原则是: - 无需编码:无需编码技能即可培训模型并将其用于获取预测。 - 通用性:一种新的基于数据类型的深度学习模型设计方法,使该工具可用于许多不同的用例。 - 灵活性:经验丰富的用户可以对模型构建和培训进行广泛的控制,而新手则会发现它易于使用。 - 可扩展性:易于添加新模型体系结构和新功能数据类型。 - 可理解性:深度学习模型内部通常被认为是黑盒子,但我们提供标准的可视化来理解他们的表现并比较他们的预测。 - 开源:Apache License 2.0v


需要:

  • numpy
  • pandas
  • scipy
  • scikit-learn
  • scikit-image
  • spacy
  • tensorflow
  • matplotlib
  • seaborn
  • Cython
  • h5py
  • tqdm
  • tabulate
  • PyYAML
  • gmpy
  • fastapi
  • pydantic
  • uvicorn
  • python-multipart

如果你有tensorflow 的话,这些库大部分其实就安装上了,ludwig是基于tensorflow的工具箱嘛毕竟,再安装tensorflow的时候,就有不少已经安装上了,缺啥直接pip install 啥 就行,建议搭建虚拟tensorflow环境使用。

我在写这篇文章的时候,不能再window上安装,不得已,用的linux环境安装的。

详细信息可以看官网的提示。

安装:pip install ludwig

建议:直接搭建一个虚拟的tensorflow环境给他用,不建议跟当前环境混在一起。

或者从存储库构建源码来安装:

git clone git@github.com:uber/ludwig.git
cd ludwig
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py install

详细信息见官网用户指南。

关于如何使用,其实简单的,Ludwig需要一个csv文件和一个模型定义文件,同时支持api接口。

如果是图像分类的话,例如一输入一输出(常见的图像分类的格式),就需要你的csv中提供一列图片的地址,后边跟着一列label标签,一一对应的关系就行。

我们写完csv之后,再写一个模型定义文件就能扔进模型训练了。

input_features:
    -
        name: image_path
        type: image
        encoder: stacked_cnn
    -
        name: image_path1
        type: image
        encoder: stacked_cnn
output_features:
    -
        name: class
        type: category

input对应输入项,output对应输出项。

当然也可以多输入多输出

就是按照他的格式来,空格数量或者tab要一样,要不然容易不成功当作一项要求。

建议直接复制他的格式然后粘贴,最能保证正确。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值