pytorch-widedeep: 灵活的深度学习库用于处理表格、文本和图像数据

RayRay
pytorch-widedeep多模态深度学习宽和深模型表格数据机器学习Github开源项目

pytorch-widedeep pytorch-widedeep是一个灵活的深度学习库,专门用于处理表格数据以及将表格数据与文本和图像结合的多模态深度学习任务。该库基于Google的Wide and Deep算法,并针对多模态数据集进行了调整和扩展。

主要特点

  • 提供多种架构选择,可以灵活组合wide模型、deep tabular模型、文本模型和图像模型
  • 支持处理表格数据、文本数据和图像数据
  • 内置多种tabular deep learning模型,如TabMlp、TabResnet、TabTransformer等
  • 提供文本处理模型如RNN、Attention RNN等
  • 支持使用预训练的视觉模型处理图像数据
  • 可以轻松构建wide and deep模型,也可单独使用各个组件
  • 提供灵活的训练器Trainer类,支持自定义损失函数、优化器等
  • 内置多种预处理工具,方便处理不同类型的输入数据
  • 支持自定义模型组件,只要满足特定接口即可集成

主要组件

pytorch-widedeep的主要组件包括:

  1. Wide组件:用于处理线性特征,通常是类别型特征的交叉积变换。

  2. DeepTabular组件:用于处理表格数据的深度模型,包括:

    • TabMlp:多层感知机模型
    • TabResnet:基于ResNet的表格数据模型
    • TabTransformer:基于Transformer的表格数据模型
    • 其他模型如TabNet等
  3. DeepText组件:用于处理文本数据,包括:

    • BasicRNN:基础RNN模型
    • AttentiveRNN:带注意力机制的RNN
    • 支持使用HuggingFace预训练语言模型
  4. DeepImage组件:用于处理图像数据,可以使用预训练的CNN模型。

  5. DeepHead组件:可选的顶层组件,用于组合其他组件的输出。

使用示例

以下是使用pytorch-widedeep进行二分类任务的一个简单示例:

import numpy as np from pytorch_widedeep import Trainer from pytorch_widedeep.preprocessing import WidePreprocessor, TabPreprocessor from pytorch_widedeep.models import Wide, TabMlp, WideDeep from pytorch_widedeep.metrics import Accuracy # 准备数据 wide_cols = ["education", "relationship", "workclass"] cat_embed_cols = ["education", "relationship", "workclass", "occupation"] continuous_cols = ["age", "hours-per-week"] # 预处理 wide_preprocessor = WidePreprocessor(wide_cols=wide_cols) tab_preprocessor = TabPreprocessor(cat_embed_cols=cat_embed_cols, continuous_cols=continuous_cols) X_wide = wide_preprocessor.fit_transform(df) X_tab = tab_preprocessor.fit_transform(df) # 构建模型 wide = Wide(input_dim=X_wide.shape[1], pred_dim=1) deeptabular = TabMlp( column_idx=tab_preprocessor.column_idx, cat_embed_input=tab_preprocessor.cat_embed_input, continuous_cols=continuous_cols, ) model = WideDeep(wide=wide, deeptabular=deeptabular) # 训练 trainer = Trainer(model, objective="binary", metrics=[Accuracy]) trainer.fit( X_wide=X_wide, X_tab=X_tab, target=df.target.values, n_epochs=10, batch_size=256 )

这个示例展示了如何使用wide组件和deeptabular组件构建一个wide and deep模型,并使用Trainer类进行训练。

高级用法

pytorch-widedeep还支持更复杂的用法,比如:

  1. 多模态融合:可以同时使用表格、文本和图像数据。

  2. 自定义模型组件:只要满足特定接口,可以集成自定义的模型组件。

  3. 多目标学习:支持多目标损失函数。

  4. 模型保存和加载:方便模型的部署和复用。

  5. 自监督预训练:支持表格数据的自监督预训练。

  6. 贝叶斯深度学习:提供贝叶斯版本的模型和训练器。

总结

pytorch-widedeep为处理表格数据以及多模态数据提供了一个灵活而强大的深度学习框架。它既可以快速构建标准的wide and deep模型,又能满足复杂场景下的自定义需求。对于需要处理结构化数据和非结构化数据的机器学习任务,pytorch-widedeep是一个非常有价值的工具。

随着版本的迭代,该库还在不断增加新的功能和模型。研究人员和实践者可以利用pytorch-widedeep来快速实现和测试新的想法,同时也可以将其用于实际的生产环境。无论是进行学术研究还是工业应用,pytorch-widedeep都是一个值得关注和使用的深度学习库。

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多