[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-georgian-io--Multimodal-Toolkit":3,"tool-georgian-io--Multimodal-Toolkit":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151918,2,"2026-04-12T11:33:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":84,"forks":85,"last_commit_at":86,"license":87,"difficulty_score":32,"env_os":88,"env_gpu":89,"env_ram":88,"env_deps":90,"category_tags":96,"github_topics":98,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":104,"updated_at":105,"faqs":106,"releases":137},6969,"georgian-io\u002FMultimodal-Toolkit","Multimodal-Toolkit","Multimodal model for text and tabular data with HuggingFace transformers as building block for text data","Multimodal-Toolkit 是一款专为机器学习任务设计的开源工具，旨在帮助开发者轻松构建融合文本与表格数据的多模态模型。在实际应用中，许多场景（如电商评论分析、房价预测或宠物领养评估）既包含丰富的文本描述，又依赖结构化的数值或类别特征。传统方法往往难以高效地将这两类异构数据结合，而 Multimodal-Toolkit 通过引入一个独特的“组合模块”，巧妙地将 Hugging Face Transformers 提取的文本特征与表格数据（分类及数值特征）进行深度融合，从而生成更丰富的多模态表示，显著提升分类和回归任务的预测效果。\n\n该工具基于 PyTorch 开发，原生支持 BERT、RoBERTa、DistilBERT、ALBERT 等多种主流预训练语言模型。用户只需少量配置，即可利用现有的预训练模型，针对特定监督任务微调组合模块与变压器参数。无论是需要快速验证想法的数据科学家，还是希望深入探索多模态融合技术的算法工程师，都能通过其清晰的文档和内置的 Kaggle 数据集示例快速上手。如果你正在寻找一种简洁高效的方式来打破文本与表格数据之间的壁垒，Multimodal-To","Multimodal-Toolkit 是一款专为机器学习任务设计的开源工具，旨在帮助开发者轻松构建融合文本与表格数据的多模态模型。在实际应用中，许多场景（如电商评论分析、房价预测或宠物领养评估）既包含丰富的文本描述，又依赖结构化的数值或类别特征。传统方法往往难以高效地将这两类异构数据结合，而 Multimodal-Toolkit 通过引入一个独特的“组合模块”，巧妙地将 Hugging Face Transformers 提取的文本特征与表格数据（分类及数值特征）进行深度融合，从而生成更丰富的多模态表示，显著提升分类和回归任务的预测效果。\n\n该工具基于 PyTorch 开发，原生支持 BERT、RoBERTa、DistilBERT、ALBERT 等多种主流预训练语言模型。用户只需少量配置，即可利用现有的预训练模型，针对特定监督任务微调组合模块与变压器参数。无论是需要快速验证想法的数据科学家，还是希望深入探索多模态融合技术的算法工程师，都能通过其清晰的文档和内置的 Kaggle 数据集示例快速上手。如果你正在寻找一种简洁高效的方式来打破文本与表格数据之间的壁垒，Multimodal-Toolkit 将是一个值得尝试的专业选择。","# Multimodal Transformers | Transformers with Tabular Data\n\n--------------------------------------------------------------------------------\n**[Documentation](https:\u002F\u002Fmultimodal-toolkit.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)** | **[Colab Notebook](https:\u002F\u002Fmultimodal-toolkit.readthedocs.io\u002Fen\u002Flatest\u002Fnotes\u002Fcolab_example.html)** | **[Blog Post](https:\u002F\u002Fmedium.com\u002Fgeorgian-impact-blog\u002Fhow-to-incorporate-tabular-data-with-huggingface-transformers-b70ac45fcfb4)**\n\nA toolkit for incorporating multimodal data on top of text data for classification\nand regression tasks. It uses HuggingFace transformers as the base model for text features.\nThe toolkit adds a combining module that takes the outputs of the transformer in addition to categorical and numerical features\nto produce rich multimodal features for downstream classification\u002Fregression layers.\nGiven a pretrained transformer, the parameters of the combining module and transformer are trained based\non the supervised task. For a brief literature review, check out the accompanying [blog post](https:\u002F\u002Fmedium.com\u002Fgeorgian-impact-blog\u002Fhow-to-incorporate-tabular-data-with-huggingface-transformers-b70ac45fcfb4) on Georgian's Impact Blog. \n\n![](https:\u002F\u002Fdrive.google.com\u002Fuc?export=view&id=1kyExPDQNkg49NRYgcw2wk8xg4QtQ6Ppt)\n\n\n\n## Installation\nThe code was developed in Python 3.7 with PyTorch and Transformers 4.26.1.\nThe multimodal specific code is in `multimodal_transformers` folder.\n```\npip install multimodal-transformers\n```\n\n## Supported Transformers\nThe following Hugging Face Transformers are supported to handle tabular data. See the documentation [here](https:\u002F\u002Fmultimodal-toolkit.readthedocs.io\u002Fen\u002Flatest\u002Fmodules\u002Fmodel.html#module-multimodal_transformers.model.tabular_transformers).\n* [BERT](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fbert.html) from Devlin et al.:\n[BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.04805) (ACL 2019)\n* [ALBERT](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Falbert.html) from Lan et al.: [ALBERT: A Lite BERT for Self-supervised Learning of Language Representations\n](https:\u002F\u002Farxiv.org\u002Fabs\u002F1909.11942) (ICLR 2020)\n* [DistilBERT](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fdistilbert.html) from Sanh et al.: \n[DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter](https:\u002F\u002Farxiv.org\u002Fabs\u002F1910.01108) (NeurIPS 2019)\n* [RoBERTa](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Froberta.html) \nfrom Liu et al.: [RoBERTa: A Robustly Optimized BERT Pretraining Approach](https:\u002F\u002Farxiv.org\u002Fabs\u002F1907.11692)\n* [XLM](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fxlm.html) from Lample et al.: [Cross-lingual Language Model Pretraining\n](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.07291) (NeurIPS 2019)\n* [XLNET](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fxlnet.html) from Yang et al.:\n[XLNet: Generalized Autoregressive Pretraining for Language Understanding](https:\u002F\u002Farxiv.org\u002Fabs\u002F1906.08237) (NeurIPS 2019)\n* [XLM-RoBERTa](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fxlmroberta.html) from Conneau et al.:\n[Unsupervised Cross-lingual Representation Learning at Scale](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.02116) (ACL 2020)\n\n## Included Datasets\nThis repository also includes two kaggle datasets which contain text data and \nrich tabular features\n* [Women's Clothing E-Commerce Reviews](https:\u002F\u002Fwww.kaggle.com\u002Fnicapotato\u002Fwomens-ecommerce-clothing-reviews) for Recommendation Prediction (Classification)\n* [Melbourne Airbnb Open Data](https:\u002F\u002Fwww.kaggle.com\u002Ftylerx\u002Fmelbourne-airbnb-open-data) for Price Prediction (Regression)\n* [PetFindermy Adoption Prediction](https:\u002F\u002Fwww.kaggle.com\u002Fc\u002Fpetfinder-adoption-prediction) for Pet Adoption Speed Prediction (Multiclass Classification)\n \n\n## Working Examples\nTo quickly see these models in action on say one of the above datasets with preset configurations \n```\n$ python main.py .\u002Fdatasets\u002FMelbourne_Airbnb_Open_Data\u002Ftrain_config.json\n```\n\nOr if you prefer command line arguments run \n```\n$ python main.py \\\n    --output_dir=.\u002Flogs\u002Ftest \\\n    --task=classification \\\n    --combine_feat_method=individual_mlps_on_cat_and_numerical_feats_then_concat \\\n    --do_train \\\n    --model_name_or_path=distilbert-base-uncased \\\n    --data_path=.\u002Fdatasets\u002FWomens_Clothing_E-Commerce_Reviews \\\n    --column_info_path=.\u002Fdatasets\u002FWomens_Clothing_E-Commerce_Reviews\u002Fcolumn_info.json\n```\n`main.py` expects a `json` file detailing which columns in a dataset contain text, \ncategorical, or numerical input features. It also expects a path to the folder where\nthe data is stored as `train.csv`, and `test.csv`(and if given `val.csv`).For more details on the arguments see \n`multimodal_exp_args.py`.\n### Notebook Introduction\nTo see the modules come together in a notebook: \\\n[![Open In Colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgeorgianpartners\u002FMultimodal-Toolkit\u002Fblob\u002Fmaster\u002Fnotebooks\u002Ftext_w_tabular_classification.ipynb)\n\n## Included Methods\n| combine feat method |description | requires both cat and num features | \n|:--------------|:-------------------|:-------|\n| text_only | Uses just the text columns as processed by a HuggingFace transformer before final classifier layer(s). Essentially equivalent to HuggingFace's `ForSequenceClassification` models |  False | \n| concat | Concatenate transformer output, numerical feats, and categorical feats all at once before final classifier layer(s) | False |\n| mlp_on_categorical_then_concat | MLP on categorical feats then concat transformer output, numerical feats, and processed categorical feats before final classifier layer(s) | False (Requires cat feats)\n| individual_mlps_on_cat_and_numerical_feats_then_concat | Separate MLPs on categorical feats and numerical feats then concatenation of transformer output, with processed numerical feats, and processed categorical feats before final classifier layer(s). | False\n| mlp_on_concatenated_cat_and_numerical_feats_then_concat | MLP on concatenated categorical and numerical feat then concatenated with transformer output before final classifier layer(s) | True\n| attention_on_cat_and_numerical_feats | Attention based summation of transformer outputs, numerical feats, and categorical feats queried by transformer outputs before final classifier layer(s). | False\n| gating_on_cat_and_num_feats_then_sum | Gated summation of transformer outputs, numerical feats, and categorical feats before final classifier layer(s). Inspired by [Integrating Multimodal Information in Large Pretrained Transformers](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2020.acl-main.214.pdf) which performs the mechanism for each token. | False\n| weighted_feature_sum_on_transformer_cat_and_numerical_feats | Learnable weighted feature-wise sum of transformer outputs, numerical feats and categorical feats for each feature dimension before final classifier layer(s) | False\n### Simple baseline model\nIn practice, taking the categorical and numerical features as they are and just tokenizing them and just concatenating them to \nthe text columns as extra text sentences is a strong baseline. To do that here, just specify all the categorical and numerical\ncolumns as text columns and set `combine_feat_method` to `text_only`. For example for each of the included sample datasets in `.\u002Fdatasets`, \nin `train_config.json` change `combine_feat_method` to `text_only` and `column_info_path` to  `.\u002Fdatasets\u002F{dataset}\u002Fcolumn_info_all_text.json`.\n\nIn the experiments below this baseline corresponds to Combine Feat Method being `unimodal`.\n\n## Results\nThe following tables shows the results on the two included datasets's respective test sets, by running main.py \nNon specified parameters are the default. \n\n### Review Prediction\nSpecific training parameters can be seen in `datasets\u002FWomens_Clothing_E-Commerce_Reviews\u002Ftrain_config.json`.\n\nThere are **2** text columns, **3** categorical columns, and **3** numerical columns.\n\nModel | Combine Feat Method |F1 | PR AUC\n--------|-------------|---------|------- \nBert Base Uncased | text_only | 0.957 | 0.992\nBert Base Uncased | unimodal | **0.968** | **0.995**\nBert Base Uncased | concat | 0.958 | 0.992\nBert Base Uncased | individual_mlps_on_cat_and_numerical_feats_then_concat | 0.959 | 0.992\nBert Base Uncased | attention_on_cat_and_numerical_feats | 0.959 | 0.992\nBert Base Uncased | gating_on_cat_and_num_feats_then_sum | 0.961 | 0.994\nBert Base Uncased | weighted_feature_sum_on_transformer_cat_and_numerical_feats | 0.962 | 0.994\n\n\n### Pricing Prediction\nSpecific training parameters can be seen in `datasets\u002FMelbourne_Airbnb_Open_Data\u002Ftrain_config.json`.\n\nThere are **3** text columns, **74** categorical columns, and **15** numerical columns.\n\nModel | Combine Feat Method | MAE | RMSE | \n--------|-------------|---------|------- | \nBert Base Multilingual Uncased | text_only | 82.74 | 254.0 |\nBert Base Multilingual Uncased | unimodal | 79.34 | 245.2 |\nBert Base Uncased | concat | **65.68** | 239.3 \nBert Base Multilingual Uncased | individual_mlps_on_cat_and_numerical_feats_then_concat | 66.73 | **237.3**  \nBert Base Multilingual Uncased | attention_on_cat_and_numerical_feats | 74.72 |246.3\nBert Base Multilingual Uncased | gating_on_cat_and_num_feats_then_sum | 66.64 | 237.8 \nBert Base Multilingual Uncased | weighted_feature_sum_on_transformer_cat_and_numerical_feats | 71.19 | 245.2 \n\n\n### Pet Adoption Prediction\nSpecific training parameters can be seen in `datasets\u002FPetFindermy_Adoption_Prediction`\nThere are **2** text columns, **14** categorical columns, and **5** numerical columns.\n\nModel | Combine Feat Method | F1_macro | F1_micro | \n--------|-------------|---------|------- | \nBert Base Multilingual Uncased | text_only | 0.088 | 0.281 |\nBert Base Multilingual Uncased | unimodal | 0.089 | 0.283 |\nBert Base Uncased | concat | 0.199 | 0.362 \nBert Base Multilingual Uncased | individual_mlps_on_cat_and_numerical_feats_then_concat | 0.244 | 0.352\nBert Base Multilingual Uncased | attention_on_cat_and_numerical_feats | 0.254 | 0.375\nBert Base Multilingual Uncased | gating_on_cat_and_num_feats_then_sum | **0.275** | 0.375 \nBert Base Multilingual Uncased | weighted_feature_sum_on_transformer_cat_and_numerical_feats | 0.266 | **0.380**\n\n## Citation\nWe now have a [paper](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2021.maiworkshop-1.10\u002F) you can cite for the Multimodal-Toolkit.\n```bibtex\n@inproceedings{gu-budhkar-2021-package,\n    title = \"A Package for Learning on Tabular and Text Data with Transformers\",\n    author = \"Gu, Ken  and\n      Budhkar, Akshay\",\n    booktitle = \"Proceedings of the Third Workshop on Multimodal Artificial Intelligence\",\n    month = jun,\n    year = \"2021\",\n    address = \"Mexico City, Mexico\",\n    publisher = \"Association for Computational Linguistics\",\n    url = \"https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2021.maiworkshop-1.10\",\n    doi = \"10.18653\u002Fv1\u002F2021.maiworkshop-1.10\",\n    pages = \"69--73\",\n}\n```\n","# 多模态 Transformer | 带有表格数据的 Transformer\n\n--------------------------------------------------------------------------------\n**[文档](https:\u002F\u002Fmultimodal-toolkit.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)** | **[Colab 笔记本](https:\u002F\u002Fmultimodal-toolkit.readthedocs.io\u002Fen\u002Flatest\u002Fnotes\u002Fcolab_example.html)** | **[博客文章](https:\u002F\u002Fmedium.com\u002Fgeorgian-impact-blog\u002Fhow-to-incorporate-tabular-data-with-huggingface-transformers-b70ac45fcfb4)**\n\n一个用于在文本数据基础上整合多模态数据的工具包，适用于分类和回归任务。它以 HuggingFace 的 Transformer 模型作为文本特征的基础模型。该工具包添加了一个组合模块，该模块不仅接收 Transformer 的输出，还结合类别型和数值型特征，从而生成丰富的多模态特征，供下游的分类或回归层使用。给定一个预训练的 Transformer，组合模块和 Transformer 的参数会根据监督任务进行联合训练。如需简要的文献综述，请参阅 Georgian 影响力博客上的配套 [博客文章](https:\u002F\u002Fmedium.com\u002Fgeorgian-impact-blog\u002Fhow-to-incorporate-tabular-data-with-huggingface-transformers-b70ac45fcfb4)。\n\n![](https:\u002F\u002Fdrive.google.com\u002Fuc?export=view&id=1kyExPDQNkg49NRYgcw2wk8xg4QtQ6Ppt)\n\n\n\n## 安装\n代码是在 Python 3.7 环境下，使用 PyTorch 和 Transformers 4.26.1 开发的。多模态相关的代码位于 `multimodal_transformers` 文件夹中。\n```\npip install multimodal-transformers\n```\n\n## 支持的 Transformer 模型\n以下 Hugging Face Transformer 模型支持处理表格数据。详细信息请参阅文档 [这里](https:\u002F\u002Fmultimodal-toolkit.readthedocs.io\u002Fen\u002Flatest\u002Fmodules\u002Fmodel.html#module-multimodal_transformers.model.tabular_transformers)。\n* [BERT](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fbert.html) 来自 Devlin 等人：[BERT：面向语言理解的深度双向 Transformer 预训练](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.04805)（ACL 2019）\n* [ALBERT](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Falbert.html) 来自 Lan 等人：[ALBERT：用于语言表示自监督学习的轻量级 BERT](https:\u002F\u002Farxiv.org\u002Fabs\u002F1909.11942)（ICLR 2020）\n* [DistilBERT](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fdistilbert.html) 来自 Sanh 等人：\n[DistilBERT，BERT 的精简版：更小、更快、更便宜、更轻](https:\u002F\u002Farxiv.org\u002Fabs\u002F1910.01108)（NeurIPS 2019）\n* [RoBERTa](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Froberta.html)\n来自 Liu 等人：[RoBERTa：一种鲁棒优化的 BERT 预训练方法](https:\u002F\u002Farxiv.org\u002Fabs\u002F1907.11692)\n* [XLM](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fxlm.html) 来自 Lample 等人：[跨语言语言模型预训练](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.07291)（NeurIPS 2019）\n* [XLNET](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fxlnet.html) 来自 Yang 等人：\n[XLNet：面向语言理解的广义自回归预训练](https:\u002F\u002Farxiv.org\u002Fabs\u002F1906.08237)（NeurIPS 2019）\n* [XLM-RoBERTa](https:\u002F\u002Fhuggingface.co\u002Ftransformers\u002Fv3.1.0\u002Fmodel_doc\u002Fxlmroberta.html) 来自 Conneau 等人：\n[大规模无监督跨语言表示学习](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.02116)（ACL 2020）\n\n## 包含的数据集\n此仓库还包括两个 Kaggle 数据集，其中包含文本数据和丰富的表格特征：\n* [女性服装电商评论](https:\u002F\u002Fwww.kaggle.com\u002Fnicapotato\u002Fwomens-ecommerce-clothing-reviews) 用于推荐预测（分类）\n* [墨尔本 Airbnb 开放数据](https:\u002F\u002Fwww.kaggle.com\u002Ftylerx\u002Fmelbourne-airbnb-open-data) 用于价格预测（回归）\n* [PetFindermy 认养预测](https:\u002F\u002Fwww.kaggle.com\u002Fc\u002Fpetfinder-adoption-prediction) 用于宠物认养速度预测（多分类）\n\n## 示例用法\n要快速查看这些模型在上述某个数据集上的运行效果，并使用预设配置：\n```\n$ python main.py .\u002Fdatasets\u002FMelbourne_Airbnb_Open_Data\u002Ftrain_config.json\n```\n\n或者，如果您更喜欢使用命令行参数，可以运行：\n```\n$ python main.py \\\n    --output_dir=.\u002Flogs\u002Ftest \\\n    --task=classification \\\n    --combine_feat_method=individual_mlps_on_cat_and_numerical_feats_then_concat \\\n    --do_train \\\n    --model_name_or_path=distilbert-base-uncased \\\n    --data_path=.\u002Fdatasets\u002FWomens_Clothing_E-Commerce_Reviews \\\n    --column_info_path=.\u002Fdatasets\u002FWomens_Clothing_E-Commerce_Reviews\u002Fcolumn_info.json\n```\n`main.py` 需要一个 `json` 文件，详细说明数据集中哪些列包含文本、类别型或数值型输入特征。此外，还需要指定存储数据的文件夹路径，其中应包含 `train.csv` 和 `test.csv`（如果有的话，还包括 `val.csv`）。有关参数的更多详细信息，请参阅 `multimodal_exp_args.py`。\n### 笔记本介绍\n要在笔记本中查看各个模块如何协同工作：\\\n[![在 Colab 中打开](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgeorgianpartners\u002FMultimodal-Toolkit\u002Fblob\u002Fmaster\u002Fnotebooks\u002Ftext_w_tabular_classification.ipynb)\n\n## 包含的方法\n| 组合特征方法 | 描述 | 是否需要类别型和数值型特征 |\n|:--------------|:-------------------|:-------|\n| 仅文本 | 仅使用由 HuggingFace Transformer 处理后的文本列作为最终分类器层的输入。本质上等同于 HuggingFace 的 `ForSequenceClassification` 模型 | 否 |\n| 拼接 | 在最终分类器层之前，将 Transformer 输出、数值型特征和类别型特征一次性拼接起来 | 否 |\n| 对类别型特征进行 MLP 处理后再拼接 | 先对类别型特征应用 MLP，再将 Transformer 输出、数值型特征以及处理后的类别型特征拼接在一起，最后送入分类器层 | 否（需要类别型特征）\n| 分别对类别型和数值型特征应用 MLP 再拼接 | 分别对类别型和数值型特征应用 MLP，然后将 Transformer 输出、处理过的数值型特征以及处理过的类别型特征拼接起来，再送入分类器层。 | 否\n| 对拼接后的类别型和数值型特征应用 MLP 再拼接 | 先对拼接后的类别型和数值型特征应用 MLP，再与 Transformer 输出拼接，最后送入分类器层。 | 是\n| 对类别型和数值型特征应用注意力机制 | 基于注意力机制，将 Transformer 输出、数值型特征和类别型特征加权求和，由 Transformer 输出查询后送入分类器层。 | 否\n| 对类别型和数值型特征进行门控加权求和 | 在分类器层之前，对 Transformer 输出、数值型特征和类别型特征进行门控加权求和。灵感来源于论文 [在大型预训练 Transformer 中整合多模态信息](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2020.acl-main.214.pdf)，该论文为每个 token 执行了类似机制。 | 否\n| 对 Transformer 输出、数值型特征和类别型特征按特征维度进行加权求和 | 学习每个特征维度上 Transformer 输出、数值型特征和类别型特征的加权求和，然后再送入分类器层。 | 否\n\n### 简单的基线模型\n在实际应用中，直接将类别型和数值型特征原样处理，仅对其进行分词，并将其作为额外的文本句子与文本列拼接起来，便是一个强大的基线方法。为此，只需将所有类别型和数值型列指定为文本列，并将 `combine_feat_method` 设置为 `text_only`。例如，对于 `.\u002Fdatasets` 中包含的每个示例数据集，在 `train_config.json` 文件中将 `combine_feat_method` 改为 `text_only`，并将 `column_info_path` 改为 `.\u002Fdatasets\u002F{dataset}\u002Fcolumn_info_all_text.json`。\n\n在下文的实验中，该基线对应于“Combine Feat Method”为 `unimodal` 的情况。\n\n## 结果\n以下表格展示了在两个包含的数据集各自测试集上的实验结果，运行命令为 `main.py`。未指定的参数均采用默认值。\n\n### 评论预测\n具体的训练参数可在 `datasets\u002FWomens_Clothing_E-Commerce_Reviews\u002Ftrain_config.json` 中查看。\n\n数据集中包含 **2** 列文本、**3** 列类别型特征和 **3** 列数值型特征。\n\n模型 | Combine Feat Method | F1 | PR AUC\n--------|-------------|---------|------- \nBert Base Uncased | text_only | 0.957 | 0.992\nBert Base Uncased | unimodal | **0.968** | **0.995**\nBert Base Uncased | concat | 0.958 | 0.992\nBert Base Uncased | individual_mlps_on_cat_and_numerical_feats_then_concat | 0.959 | 0.992\nBert Base Uncased | attention_on_cat_and_numerical_feats | 0.959 | 0.992\nBert Base Uncased | gating_on_cat_and_num_feats_then_sum | 0.961 | 0.994\nBert Base Uncased | weighted_feature_sum_on_transformer_cat_and_numerical_feats | 0.962 | 0.994\n\n\n### 定价预测\n具体的训练参数可在 `datasets\u002FMelbourne_Airbnb_Open_Data\u002Ftrain_config.json` 中查看。\n\n数据集中包含 **3** 列文本、**74** 列类别型特征和 **15** 列数值型特征。\n\n模型 | Combine Feat Method | MAE | RMSE | \n--------|-------------|---------|------- | \nBert Base Multilingual Uncased | text_only | 82.74 | 254.0 |\nBert Base Multilingual Uncased | unimodal | 79.34 | 245.2 |\nBert Base Uncased | concat | **65.68** | 239.3 \nBert Base Multilingual Uncased | individual_mlps_on_cat_and_numerical_feats_then_concat | 66.73 | **237.3**  \nBert Base Multilingual Uncased | attention_on_cat_and_numerical_feats | 74.72 |246.3\nBert Base Multilingual Uncased | gating_on_cat_and_num_feats_then_sum | 66.64 | 237.8 \nBert Base Multilingual Uncased | weighted_feature_sum_on_transformer_cat_and_numerical_feats | 71.19 | 245.2 \n\n\n### 宠物领养预测\n具体的训练参数可在 `datasets\u002FPetFindermy_Adoption_Prediction` 中查看。\n\n数据集中包含 **2** 列文本、**14** 列类别型特征和 **5** 列数值型特征。\n\n模型 | Combine Feat Method | F1_macro | F1_micro | \n--------|-------------|---------|------- | \nBert Base Multilingual Uncased | text_only | 0.088 | 0.281 |\nBert Base Multilingual Uncased | unimodal | 0.089 | 0.283 |\nBert Base Uncased | concat | 0.199 | 0.362 \nBert Base Multilingual Uncased | individual_mlps_on_cat_and_numerical_feats_then_concat | 0.244 | 0.352\nBert Base Multilingual Uncased | attention_on_cat_and_numerical_feats | 0.254 | 0.375\nBert Base Multilingual Uncased | gating_on_cat_and_num_feats_then_sum | **0.275** | 0.375 \nBert Base Multilingual Uncased | weighted_feature_sum_on_transformer_cat_and_numerical_feats | 0.266 | **0.380**\n\n## 引用\n我们现在有一篇关于多模态工具包的论文，您可以引用：[论文链接](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2021.maiworkshop-1.10\u002F)。\n```bibtex\n@inproceedings{gu-budhkar-2021-package,\n    title = \"A Package for Learning on Tabular and Text Data with Transformers\",\n    author = \"Gu, Ken  and\n      Budhkar, Akshay\",\n    booktitle = \"Proceedings of the Third Workshop on Multimodal Artificial Intelligence\",\n    month = jun,\n    year = \"2021\",\n    address = \"Mexico City, Mexico\",\n    publisher = \"Association for Computational Linguistics\",\n    url = \"https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2021.maiworkshop-1.10\",\n    doi = \"10.18653\u002Fv1\u002F2021.maiworkshop-1.10\",\n    pages = \"69--73\",\n}\n```","# Multimodal-Toolkit 快速上手指南\n\nMultimodal-Toolkit 是一个用于结合文本数据与表格数据（分类\u002F数值特征）进行多模态学习的工具包。它基于 Hugging Face Transformers，通过特定的融合模块将 Transformer 的输出与结构化数据结合，以提升分类和回归任务的效果。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：推荐 Python 3.7 及以上\n*   **核心依赖**：\n    *   PyTorch\n    *   Transformers (测试版本为 4.26.1)\n\n> **提示**：国内用户安装 PyTorch 时，建议使用官方提供的国内镜像源加速下载。例如：\n> `pip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118` (根据具体 CUDA 版本调整)\n\n## 安装步骤\n\n您可以直接通过 pip 安装该工具包：\n\n```bash\npip install multimodal-transformers\n```\n\n如果您需要指定国内镜像源以加快安装速度，可以使用：\n\n```bash\npip install multimodal-transformers -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n### 1. 数据配置准备\n\n`main.py` 脚本需要一个 JSON 配置文件来定义数据列的类型（文本、分类、数值）。您需要准备以下文件：\n*   数据文件：`train.csv`, `test.csv` (可选 `val.csv`)\n*   列信息文件：`column_info.json` (描述哪些列是文本、分类或数值特征)\n\n### 2. 运行示例\n\n#### 方式一：使用预设配置文件运行\n如果您已经准备好了类似项目中示例的配置文件（如 `train_config.json`），可以直接运行：\n\n```bash\npython main.py .\u002Fdatasets\u002FMelbourne_Airbnb_Open_Data\u002Ftrain_config.json\n```\n\n#### 方式二：使用命令行参数运行\n您也可以通过命令行参数灵活指定任务类型、模型路径和数据位置。以下是一个典型的分类任务示例：\n\n```bash\npython main.py \\\n    --output_dir=.\u002Flogs\u002Ftest \\\n    --task=classification \\\n    --combine_feat_method=individual_mlps_on_cat_and_numerical_feats_then_concat \\\n    --do_train \\\n    --model_name_or_path=distilbert-base-uncased \\\n    --data_path=.\u002Fdatasets\u002FWomens_Clothing_E-Commerce_Reviews \\\n    --column_info_path=.\u002Fdatasets\u002FWomens_Clothing_E-Commerce_Reviews\u002Fcolumn_info.json\n```\n\n**关键参数说明：**\n*   `--model_name_or_path`: 指定使用的 Hugging Face 预训练模型（如 `bert-base-uncased`, `roberta-base` 等）。\n*   `--combine_feat_method`: 指定多模态特征融合策略。常用选项包括：\n    *   `text_only`: 仅使用文本特征（基线）。\n    *   `concat`: 直接拼接所有特征。\n    *   `individual_mlps_on_cat_and_numerical_feats_then_concat`: 对分类和数值特征分别通过 MLP 处理后，再与文本特征拼接（推荐尝试）。\n    *   `attention_on_cat_and_numerical_feats`: 基于注意力机制融合特征。\n*   `--task`: 任务类型，`classification` (分类) 或 `regression` (回归)。\n\n### 3. 在线体验 (Colab)\n\n如果您希望先在浏览器中快速体验代码逻辑而无需配置本地环境，可以使用官方提供的 Colab Notebook：\n\n[![Open In Colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgeorgianpartners\u002FMultimodal-Toolkit\u002Fblob\u002Fmaster\u002Fnotebooks\u002Ftext_w_tabular_classification.ipynb)\n\n*(注：国内访问 Colab 可能需要网络代理，如遇连接问题建议参考上述命令行方式进行本地部署)*","某电商数据科学团队正致力于构建一个智能评论情感分析系统，旨在结合用户评论文本与订单结构化数据（如购买金额、用户等级）来精准预测客户满意度。\n\n### 没有 Multimodal-Toolkit 时\n- **特征融合困难**：团队需手动编写复杂代码将 BERT 提取的文本向量与表格数值特征拼接，容易出错且难以维护。\n- **模型架构割裂**：通常只能分别训练文本模型和表格模型，后期再通过加权平均强行合并，导致信息交互不充分，预测精度受限。\n- **开发效率低下**：每次尝试不同的预训练模型（如从 BERT 切换到 RoBERTa）都需要重构整个数据输入管道，耗时耗力。\n- **调优成本高昂**：缺乏统一的联合训练机制，难以同时优化文本编码器与表格特征权重，导致模型收敛慢且效果不稳定。\n\n### 使用 Multimodal-Toolkit 后\n- **一键式多模态融合**：利用内置的组合模块，自动将 HuggingFace  transformers 输出的文本特征与分类、数值特征无缝整合，生成丰富的多模态表示。\n- **端到端联合训练**：支持基于监督任务同时微调预训练变压器参数和组合模块，让文本与表格数据在深层网络中充分交互，显著提升预测准确率。\n- **灵活模型切换**：只需更改配置即可轻松切换 BERT、ALBERT 或 XLM-RoBERTa 等主流底座，无需重写任何数据处理逻辑。\n- **标准化工作流**：提供针对分类和回归任务的预设架构，大幅缩短从数据准备到模型部署的周期，让团队能专注于业务逻辑优化。\n\nMultimodal-Toolkit 通过标准化多模态数据融合流程，让开发者能低成本地释放“文本 + 表格”数据的联合价值，实现更精准的業務预测。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgeorgian-io_Multimodal-Toolkit_47c7de55.png","georgian-io","Georgian","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgeorgian-io_b2844023.png","",null,"https:\u002F\u002Fgithub.com\u002Fgeorgian-io",[80],{"name":81,"color":82,"percentage":83},"Python","#3572A5",100,621,92,"2026-04-09T03:27:44","Apache-2.0","未说明","未说明 (基于 PyTorch，通常支持 CPU 或 NVIDIA GPU，具体取决于所选 Transformer 模型大小)",{"notes":91,"python":92,"dependencies":93},"该工具主要用于结合文本数据与表格数据（分类和数值特征）。代码开发于 Python 3.7 环境，依赖 Hugging Face Transformers 4.26.1 版本。安装可通过 pip 直接安装 'multimodal-transformers' 包。运行示例需要提供包含列信息的 JSON 配置文件以及 CSV 格式的数据集。","3.7",[94,95],"torch","transformers==4.26.1",[16,15,35,97],"其他",[99,100,101,102,103],"huggingface-transformers","transformer","natural-language-processing","tabular-data","multimodal-learning","2026-03-27T02:49:30.150509","2026-04-13T06:11:51.314495",[107,112,117,122,127,132],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},31411,"如何在推理时仅使用文本特征（而不使用表格特征）？","如果模型是在多模态数据（文本 + 表格）上训练的，它期望在推理时也接收所有特征。若只想使用文本数据进行推理，必须为缺失的类别型和数值型列创建虚拟特征（dummy features），以满足模型的输入要求。","https:\u002F\u002Fgithub.com\u002Fgeorgian-io\u002FMultimodal-Toolkit\u002Fissues\u002F42",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},31412,"运行推理时遇到 'Wrong shape for input_ids' 或维度不匹配的错误怎么办？","这是因为模型期望接收一个批次（batch）的数据，而直接传入单个样本会导致维度错误。解决方法是使用 `.unsqueeze(0)` 为每个输入张量增加一个批次维度。示例代码如下：\n\n```python\nimport torch\n\nmodel_inputs = test_dataset[0]\nwith torch.no_grad():\n    _, logits, classifier_outputs = model(\n        model_inputs['input_ids'].unsqueeze(0).cuda(),\n        token_type_ids=model_inputs['token_type_ids'].unsqueeze(0).cuda(),\n        cat_feats=model_inputs['cat_feats'].unsqueeze(0).cuda(),\n        numerical_feats=model_inputs['numerical_feats'].unsqueeze(0).cuda()\n    )\n```","https:\u002F\u002Fgithub.com\u002Fgeorgian-io\u002FMultimodal-Toolkit\u002Fissues\u002F12",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},31413,"如何保存预处理对象（如 OneHotEncoder, Scaler）以便在生产环境中进行推理？","该功能已添加到工具包中。您可以参考官方仓库中的 `examples\u002Finference.py` 示例文件，查看如何加载已保存的模型并应用相同的预处理步骤（如分类变量编码和数值缩放）进行推理。","https:\u002F\u002Fgithub.com\u002Fgeorgian-io\u002FMultimodal-Toolkit\u002Fissues\u002F76",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},31414,"加载数据集时出现与分类特征相关的错误如何解决？","如果错误提示表明模型试图使用分类特征但您并未提供，可以在调用 `load_data_from_folder()` 函数时添加参数 `categorical_encode_type=None` 来禁用分类编码，从而解决该问题。","https:\u002F\u002Fgithub.com\u002Fgeorgian-io\u002FMultimodal-Toolkit\u002Fissues\u002F72",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},31415,"推理数据集没有标签列（label column），但 load_data 函数要求必须有，该如何处理？","模型期望推理数据的列与训练数据完全一致。如果测试集中缺少某些列或包含训练集中未见的值，会导致形状不匹配错误（如 RuntimeError: mat1 and mat2 shapes cannot be multiplied）。建议为缺失的列设置默认值，或者确保推理数据的列结构与训练时完全一致。","https:\u002F\u002Fgithub.com\u002Fgeorgian-io\u002FMultimodal-Toolkit\u002Fissues\u002F56",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},31416,"运行 main.py 时遇到 'OurTrainingArguments object has no attribute deepspeed_plugin' 错误怎么办？","这通常是由于依赖库版本不兼容导致的。尝试将相关库（如 transformers）降级到版本 4.26.1 通常可以解决此问题。可以通过命令 `pip install transformers==4.26.1` 进行降级。","https:\u002F\u002Fgithub.com\u002Fgeorgian-io\u002FMultimodal-Toolkit\u002Fissues\u002F48",[138,143,148,153,157],{"id":139,"version":140,"summary_zh":141,"released_at":142},231136,"v_0.4","功能特性：\n- CategoricalFeatures 现在使用 `fit()`、`transform()` 和 `fit_transform()` 方法。\n- 创建了一个新的 NumericalFeatures 对象，具有与上述相同的功能，以保持使用的一致性。\n- 解耦了 CategoricalFeatures 与数据集。该对象现在独立于数据集，并根据 `fit()` 步骤中的信息执行转换。它现在可以单独用于推理。\n- 通过保存数值型和类别型转换器以供推理使用，解决了 #76 问题。\n- 更新了对类别型和数值型特征的 NaN 处理。用户可以指定是否处理 NaN 以及用什么值替换它们。数值型特征可以替换为中位数、均值或自定义值，而类别型特征只能替换为自定义值。这也解决了 #69 问题。\n- 通过在配置中为 OneHotEncoder 添加 `handle_unknown` 参数，解决了 #66 问题。\n- 添加了一个新的 inference.py 脚本，用于展示如何使用保存的特征转换器。\n- 更新了多个变量的默认类型，例如 `categorical_cols` 和 `label_list`，改为使用列表而不是 None。\n- 已从数据集和预处理部分移除类权重。此前该功能无法正常使用，即使设置了也会导致错误。现在它作为 TabularConfig 中的一个参数，在模型的 `forward()` 调用中使用。\n- 更新了测试和 main.py，以支持新功能。\n- 更新测试配置，降低最大标记长度——这不仅加快了测试速度，还避免了某些序列长度较短的模型因不支持的序列长度而抛出错误。\n- 参数类现在是库的一部分，无需每次重新定义。\n- 添加了 .gitignore 文件。\n- 将许可证更改为 Apache 2.0。\n\n修复：\n- 在示例笔记本中添加注释，以解决 #71 问题。\n- #61（感谢 @DougTrajano！）\n- #62（感谢 @DougTrajano！）\n- 在 setup.py 中添加 importlib-metadata，因为缺少该依赖会导致错误。\n- 在预处理之前重置索引，因为类别型预处理会重置索引，从而在与数值型和文本特征合并时引发问题。\n- 修复：OneHotEncoder 不再使用已弃用的参数。\n- 修复：类别型特征在转换后现在会被正确处理为 NumPy 数组。\n- 其他一些小 bug 的修复。\n\n维护工作：\n- 依赖项：更新依赖项以解决 Dependabot 警报。\n- 依赖项：更新 setup.py，使用最新版本的 transformers、pandas、scikit-learn、scipy 和 accelerate。\n- 重构：将 notebooks 文件夹重命名为 examples 文件夹。\n- 重构：更新所有函数调用，显式命名参数，以避免混淆。\n- 风格：使用 black 重新格式化整个库。\n- 文档：更新仓库维护人员。\n- 文档：为 data 模块添加类型提示和文档字符串。\n- 文档：更新 Sphinx 并重新生成文档。\n- 杂项：将库版本更新至 0.4.0。","2024-09-24T19:15:41",{"id":144,"version":145,"summary_zh":146,"released_at":147},231137,"v_0.3.1","* 添加 Longformer 支持（感谢 @jtfields！）\n* 更新文档\n* 更新依赖项；将 accelerate 加入依赖\n* 在无需显式定义默认训练器参数的场景下，将其恢复为 Hugging Face 的默认值\n* 更新示例笔记本；添加推理代码示例\n* 版本号现为 0.3.1，因为在向 PyPI 上传文件时出现失误。\n* 解决 #33、#34、#46、#51、#53、#54 等问题","2023-11-14T17:00:41",{"id":149,"version":150,"summary_zh":151,"released_at":152},231138,"v_0.2-alpha","- 更新代码，使其与 transformers 4.26.1 保持一致\n- 添加测试，确保库中的每个模型都能正常工作。\n- 修复 XLM 模型运行时的问题。\n- 将版本管理统一到一个唯一的权威来源。\n- 添加 debug_dataset_size 作为额外的训练参数。\n- 更新 setup.py 文件，加入新的维护者信息，并为各依赖库指定具体版本号。\n- 支持 Python 3.7 及以上版本。\n- 解决了 #3、#7、#9、#14、#19、#27、#28、#29、#32 等问题。","2023-03-10T15:42:12",{"id":154,"version":155,"summary_zh":77,"released_at":156},231139,"v_0.1.4-alpha","2020-09-08T19:22:48",{"id":158,"version":159,"summary_zh":77,"released_at":160},231140,"v_0.1.3-alpha","2020-10-22T19:30:53"]