[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tensorflow--tfx":3,"tool-tensorflow--tfx":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 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[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":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":77,"owner_url":78,"languages":79,"stars":103,"forks":104,"last_commit_at":105,"license":106,"difficulty_score":107,"env_os":108,"env_gpu":108,"env_ram":108,"env_deps":109,"category_tags":123,"github_topics":124,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":127,"updated_at":128,"faqs":129,"releases":155},7860,"tensorflow\u002Ftfx","tfx"," TFX is an end-to-end platform for deploying production ML pipelines","TFX（TensorFlow Extended）是谷歌基于 TensorFlow 打造的生产级机器学习端到端平台，旨在帮助团队构建、验证并部署标准化的 ML 流水线。它主要解决了机器学习从实验阶段走向生产环境时面临的流程碎片化、版本管理混乱及复现困难等痛点，让模型上线过程更加稳健可靠。\n\nTFX 特别适合需要处理大规模数据、追求工程化落地的机器学习工程师、数据科学家及后端开发者。对于希望将零散的模型训练脚本转化为可维护、可监控的工业级系统的团队，TFX 提供了理想的解决方案。\n\n其核心技术亮点在于模块化的组件设计，用户可通过配置灵活组合数据处理、模型训练、评估及服务等环节。TFX 原生支持 Apache Airflow 和 Kubeflow Pipelines 进行任务编排，并内置了强大的 ML Metadata 元数据管理系统。该系统能自动记录每次运行的输入输出及配置细节，不仅实现了完整的实验追踪，还支持利用历史状态进行模型热启动或断点续跑，极大提升了迭代效率与系统可靠性。","\u003C!-- See: www.tensorflow.org\u002Ftfx\u002F -->\n\n# TFX\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython%20-3.9%7C3.10-blue)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx)\n[![PyPI](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftfx.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftfx)\n[![TensorFlow](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTensorFow-page-orange)](https:\u002F\u002Fwww.tensorflow.org\u002Ftfx)\n\n[TensorFlow Extended (TFX)](https:\u002F\u002Ftensorflow.org\u002Ftfx) is a\nGoogle-production-scale machine learning platform based on TensorFlow. It\nprovides a configuration framework to express ML pipelines consisting of TFX\ncomponents. TFX pipelines can be orchestrated using\n[Apache Airflow](https:\u002F\u002Fairflow.apache.org\u002F) and\n[Kubeflow Pipelines](https:\u002F\u002Fwww.kubeflow.org\u002F). Both the components themselves\nas well as the integrations with orchestration systems can be extended.\n\nTFX components interact with a\n[ML Metadata](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fml-metadata) backend that keeps a record\nof component runs, input and output artifacts, and runtime configuration. This\nmetadata backend enables advanced functionality like experiment tracking or\nwarmstarting\u002Fresuming ML models from previous runs.\n\n![TFX Components](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_tfx_readme_f558d6283f16.png)\n\n## Documentation\n\n### User Documentation\n\nPlease see the\n[TFX User Guide](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002Fdocs\u002Fguide\u002Findex.md).\n\n### Development References\n\n#### Roadmap\n\nThe TFX [Roadmap](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002FROADMAP.md),\nwhich is updated quarterly.\n\n#### Release Details\n\nFor detailed previous and upcoming changes, please\n[check here](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002FRELEASE.md)\n\n#### Requests For Comment\n\nTFX is an open-source project and we strongly encourage active participation\nby the ML community in helping to shape TFX to meet or exceed their needs. An\nimportant component of that effort is the RFC process.  Please see the listing\nof [current and past TFX RFCs](RFCs.md). Please see the\n[TensorFlow Request for Comments (TF-RFC)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fcommunity\u002Fblob\u002Fmaster\u002Fgovernance\u002FTF-RFCs.md)\nprocess page for information on how community members can contribute.\n\n## Examples\n\n*   [Chicago Taxi Example](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Ftree\u002Fmaster\u002Ftfx\u002Fexamples\u002Fchicago_taxi_pipeline)\n\n## Compatible versions\n\nThe following table describes how the `tfx` package versions are compatible with\nits major dependency PyPI packages. This is determined by our testing framework,\nbut other *untested* combinations may also work.\n\ntfx                                                                       | Python               | apache-beam[gcp] | ml-metadata | pyarrow | tensorflow        | tensorflow-data-validation | tensorflow-metadata | tensorflow-model-analysis | tensorflow-serving-api | tensorflow-transform | tfx-bsl\n------------------------------------------------------------------------- | -------------------- | ---------------- | ----------- | ------- | ----------------- | -------------------------- | ------------------- | ------------------------- | ---------------------- | -------------------- | -------\n[GitHub master](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002FRELEASE.md) | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | nightly (2.x)     | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.17.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.17.2\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 2.17              | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.17.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.17.1\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 2.17              | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.17.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.17.0\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 2.17              | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.16.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.16.0\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.16.0      | 10.0.1  | 2.16              | 1.16.1                     | 1.16.1              | 0.47.0                    | 2.16.1                 | 1.16.0               | 1.16.1\n[1.15.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.15.0\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.47.0           | 1.15.0      | 10.0.0  | 2.15              | 1.15.1                     | 1.15.0              | 0.46.0                    | 2.15.1                 | 1.15.0               | 1.15.1\n[1.14.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.14.0\u002FRELEASE.md)       | >=3.8,\u003C3.11          | 2.47.0           | 1.14.0      | 10.0.0  | 2.13              | 1.14.0                     | 1.14.0              | 0.45.0                    | 2.9.0                  | 1.14.0               | 1.14.0\n[1.13.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.13.0\u002FRELEASE.md)       | >=3.8,\u003C3.10          | 2.40.0           | 1.13.1      | 6.0.0   | 2.12              | 1.13.0                     | 1.13.1              | 0.44.0                    | 2.9.0                  | 1.13.0               | 1.13.0\n[1.12.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.12.0\u002FRELEASE.md)       | >=3.7,\u003C3.10          | 2.40.0           | 1.12.0      | 6.0.0   | 2.11              | 1.12.0                     | 1.12.0              | 0.43.0                    | 2.9.0                  | 1.12.0               | 1.12.0\n[1.11.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.11.0\u002FRELEASE.md)       | >=3.7,\u003C3.10          | 2.40.0           | 1.11.0      | 6.0.0   | 1.15.5 \u002F 2.10.0   | 1.11.0                     | 1.11.0              | 0.42.0                    | 2.9.0                  | 1.11.0               | 1.11.0\n[1.10.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.10.0\u002FRELEASE.md)       | >=3.7,\u003C3.10          | 2.40.0           | 1.10.0      | 6.0.0   | 1.15.5 \u002F 2.9.0    | 1.10.0                     | 1.10.0              | 0.41.0                    | 2.9.0                  | 1.10.0               | 1.10.0\n[1.9.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.9.0\u002FRELEASE.md)         | >=3.7,\u003C3.10          | 2.38.0           | 1.9.0       | 5.0.0   | 1.15.5 \u002F 2.9.0    | 1.9.0                      | 1.9.0               | 0.40.0                    | 2.9.0                  | 1.9.0                | 1.9.0\n[1.8.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.8.0\u002FRELEASE.md)         | >=3.7,\u003C3.10          | 2.38.0           | 1.8.0       | 5.0.0   | 1.15.5 \u002F 2.8.0    | 1.8.0                      | 1.8.0               | 0.39.0                    | 2.8.0                  | 1.8.0                | 1.8.0\n[1.7.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.7.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.36.0           | 1.7.0       | 5.0.0   | 1.15.5 \u002F 2.8.0    | 1.7.0                      | 1.7.0               | 0.38.0                    | 2.8.0                  | 1.7.0                | 1.7.0\n[1.6.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.6.2\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.35.0           | 1.6.0       | 5.0.0   | 1.15.5 \u002F 2.8.0    | 1.6.0                      | 1.6.0               | 0.37.0                    | 2.7.0                  | 1.6.0                | 1.6.0\n[1.6.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.6.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.35.0           | 1.6.0       | 5.0.0   | 1.15.5 \u002F 2.7.0    | 1.6.0                      | 1.6.0               | 0.37.0                    | 2.7.0                  | 1.6.0                | 1.6.0\n[1.5.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.5.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.34.0           | 1.5.0       | 5.0.0   | 1.15.2 \u002F 2.7.0    | 1.5.0                      | 1.5.0               | 0.36.0                    | 2.7.0                  | 1.5.0                | 1.5.0\n[1.4.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.4.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.33.0           | 1.4.0       | 5.0.0   | 1.15.0 \u002F 2.6.0    | 1.4.0                      | 1.4.0               | 0.35.0                    | 2.6.0                  | 1.4.0                | 1.4.0\n[1.3.4](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.4\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.3](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.3\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.2\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.1\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.0\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.2.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.2.1\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.31.0           | 1.2.0       | 2.0.0   | 1.15.0 \u002F 2.5.0    | 1.2.0                      | 1.2.0               | 0.33.0                    | 2.5.1                  | 1.2.0                | 1.2.0\n[1.2.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.2.0\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.31.0           | 1.2.0       | 2.0.0   | 1.15.0 \u002F 2.5.0    | 1.2.0                      | 1.2.0               | 0.33.0                    | 2.5.1                  | 1.2.0                | 1.2.0\n[1.0.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.0.0\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.29.0           | 1.0.0       | 2.0.0   | 1.15.0 \u002F 2.5.0    | 1.0.0                      | 1.0.0               | 0.31.0                    | 2.5.1                  | 1.0.0                | 1.0.0\n[0.30.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.30.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.30.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.30.0                     | 0.30.0              | 0.30.0                    | 2.4.0                  | 0.30.0               | 0.30.0\n[0.29.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.29.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.29.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.29.0                     | 0.29.0              | 0.29.0                    | 2.4.0                  | 0.29.0               | 0.29.0\n[0.28.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.28.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.28.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.28.0                     | 0.28.0              | 0.28.0                    | 2.4.0                  | 0.28.0               | 0.28.1\n[0.27.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.27.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.27.0           | 0.27.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.27.0                     | 0.27.0              | 0.27.0                    | 2.4.0                  | 0.27.0               | 0.27.0\n[0.26.4](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.4\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.1                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.26.3](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.3\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.0                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.26.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.1\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.0                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.26.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.0                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.25.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.25.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.24.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.25.0                     | 0.25.0              | 0.25.0                    | 2.3.0                  | 0.25.0               | 0.25.0\n[0.24.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.24.1\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.24.0           | 0.24.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.24.1                     | 0.24.0              | 0.24.3                    | 2.3.0                  | 0.24.1               | 0.24.1\n[0.24.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.24.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.24.0           | 0.24.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.24.1                     | 0.24.0              | 0.24.3                    | 2.3.0                  | 0.24.1               | 0.24.1\n[0.23.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.23.1\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.24.0           | 0.23.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.23.1                     | 0.23.0              | 0.23.0                    | 2.3.0                  | 0.23.0               | 0.23.0\n[0.23.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.23.0\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.23.0           | 0.23.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.23.0                     | 0.23.0              | 0.23.0                    | 2.3.0                  | 0.23.0               | 0.23.0\n[0.22.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.22.2\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.21.0           | 0.22.1      | 0.16.0  | 1.15.0 \u002F 2.2.0    | 0.22.2                     | 0.22.2              | 0.22.2                    | 2.2.0                  | 0.22.0               | 0.22.1\n[0.22.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.22.1\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.21.0           | 0.22.1      | 0.16.0  | 1.15.0 \u002F 2.2.0    | 0.22.2                     | 0.22.2              | 0.22.2                    | 2.2.0                  | 0.22.0               | 0.22.1\n[0.22.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.22.0\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.21.0           | 0.22.0      | 0.16.0  | 1.15.0 \u002F 2.2.0    | 0.22.0                     | 0.22.0              | 0.22.1                    | 2.2.0                  | 0.22.0               | 0.22.0\n[0.21.5](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.5\u002FRELEASE.md)       | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.4](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.4\u002FRELEASE.md)       | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.3](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.3\u002FRELEASE.md)       | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.2\u002FRELEASE.md)       | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002F0.21.1\u002FRELEASE.md)        | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.4                     | 0.21.1              | 0.21.4                    | 2.1.0                  | 0.21.2               | 0.21.3\n[0.21.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002F0.21.0\u002FRELEASE.md)        | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.17.0           | 0.21.0      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.0                     | 0.21.0              | 0.21.1                    | 2.1.0                  | 0.21.0               | 0.21.0\n[0.15.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002F0.15.0\u002FRELEASE.md)        | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.16.0           | 0.15.0      | 0.15.0  | 1.15.0            | 0.15.0                     | 0.15.0              | 0.15.2                    | 1.15.0                 | 0.15.0               | 0.15.1\n[0.14.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002F0.14.0\u002FRELEASE.md)        | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.14.0           | 0.14.0      | 0.14.0  | 1.14.0            | 0.14.1                     | 0.14.0              | 0.14.0                    | 1.14.0                 | 0.14.0               | n\u002Fa\n[0.13.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002F0.13.0\u002FRELEASE.md)        | >=2.7,\u003C3 or >=3.5,\u003C4 | 2.12.0           | 0.13.2      | n\u002Fa     | 1.13.1            | 0.13.1                     | 0.13.0              | 0.13.2                    | 1.13.0                 | 0.13.0               | n\u002Fa\n[0.12.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002F0.12.0\u002FRELEASE.md)        | >=2.7,\u003C3             | 2.10.0           | 0.13.2      | n\u002Fa     | 1.12.0            | 0.12.0                     | 0.12.1              | 0.12.1                    | 1.12.0                 | 0.12.0               | n\u002Fa\n\n## Resources\n\n*   [TFX tutorials ](https:\u002F\u002Fwww.tensorflow.org\u002Ftfx\u002Ftutorials)\n*   [TensorFlow Extended (YouTube)](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLQY2H8rRoyvxR15n04JiW0ezF5HQRs_8F)\n*   [ MLOps Specialization ](https:\u002F\u002Fwww.coursera.org\u002Fspecializations\u002Fmachine-learning-engineering-for-production-mlops)\n*   [ML Pipelines on Google Cloud](https:\u002F\u002Fwww.coursera.org\u002Flearn\u002Fml-pipelines-google-cloud?specialization=preparing-for-google-cloud-machine-learning-engineer-professional-certificate)\n*   [Manage a production ML pipeline with TFX](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=QQ13-Tkrbls)\n*   [How to build an ML pipeline with TFX](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=17l3VR2MIeg)\n","\u003C!-- 参见：www.tensorflow.org\u002Ftfx\u002F -->\n\n# TFX\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython%20-3.9%7C3.10-blue)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx)\n[![PyPI](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftfx.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftfx)\n[![TensorFlow](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTensorFow-page-orange)](https:\u002F\u002Fwww.tensorflow.org\u002Ftfx)\n\n[TensorFlow Extended (TFX)](https:\u002F\u002Ftensorflow.org\u002Ftfx) 是一个基于 TensorFlow 的、面向 Google 生产环境的机器学习平台。它提供了一个配置框架，用于定义由 TFX 组件组成的机器学习流水线。TFX 流水线可以使用 [Apache Airflow](https:\u002F\u002Fairflow.apache.org\u002F) 和 [Kubeflow Pipelines](https:\u002F\u002Fwww.kubeflow.org\u002F) 进行编排。无论是组件本身，还是与编排系统的集成，都可以进行扩展。\n\nTFX 组件会与一个 [ML Metadata](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fml-metadata) 后端交互，该后端会记录组件的运行情况、输入输出工件以及运行时配置。这一元数据后端支持诸如实验跟踪、从先前运行中热启动或恢复机器学习模型等高级功能。\n\n![TFX 组件](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_tfx_readme_f558d6283f16.png)\n\n## 文档\n\n### 用户文档\n\n请参阅 [TFX 用户指南](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002Fdocs\u002Fguide\u002Findex.md)。\n\n### 开发参考\n\n#### 路线图\n\nTFX 的 [路线图](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002FROADMAP.md)，每季度更新一次。\n\n#### 发布详情\n\n有关详细的历史和即将发布的变更，请\n[查看此处](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002FRELEASE.md)。\n\n#### 意见征集请求\n\nTFX 是一个开源项目，我们强烈鼓励机器学习社区积极参与，共同塑造 TFX，以满足甚至超越他们的需求。其中一个重要环节就是 RFC 流程。请参阅 [当前及过往的 TFX RFC 列表](RFCs.md)。有关社区成员如何贡献的信息，请访问 [TensorFlow 意见征集请求 (TF-RFC)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fcommunity\u002Fblob\u002Fmaster\u002Fgovernance\u002FTF-RFCs.md) 流程页面。\n\n## 示例\n\n*   [芝加哥出租车示例](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Ftree\u002Fmaster\u002Ftfx\u002Fexamples\u002Fchicago_taxi_pipeline)\n\n## 兼容版本\n\n下表描述了 `tfx` 包的版本与其主要依赖 PyPI 包之间的兼容性。这些兼容性关系由我们的测试框架确定，但其他未经测试的组合也可能正常工作。\n\ntfx                                                                       | Python               | apache-beam[gcp] | ml-metadata | pyarrow | tensorflow        | tensorflow-data-validation | tensorflow-metadata | tensorflow-model-analysis | tensorflow-serving-api | tensorflow-transform | tfx-bsl\n------------------------------------------------------------------------- | -------------------- | ---------------- | ----------- | ------- | ----------------- | -------------------------- | ------------------- | ------------------------- | ---------------------- | -------------------- | -------\n[GitHub master](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002FRELEASE.md) | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 夜间版 (2.x)     | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.17.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.17.2\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 2.17              | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.17.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.17.1\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 2.17              | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.17.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.17.0\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.17.1      | 10.0.1  | 2.17              | 1.17.0                     | 1.17.1              | 0.48.0                    | 2.17.1                 | 1.17.0               | 1.17.1\n[1.16.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.16.0\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.59.0           | 1.16.0      | 10.0.1  | 2.16              | 1.16.1                     | 1.16.1              | 0.47.0                    | 2.16.1                 | 1.16.0               | 1.16.1\n[1.15.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.15.0\u002FRELEASE.md)       | >=3.9,\u003C3.11          | 2.47.0           | 1.15.0      | 10.0.0  | 2.15              | 1.15.1                     | 1.15.0              | 0.46.0                    | 2.15.1                 | 1.15.0               | 1.15.1\n[1.14.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.14.0\u002FRELEASE.md)       | >=3.8,\u003C3.11          | 2.47.0           | 1.14.0      | 10.0.0  | 2.13              | 1.14.0                     | 1.14.0              | 0.45.0                    | 2.9.0                  | 1.14.0               | 1.14.0\n[1.13.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.13.0\u002FRELEASE.md)       | >=3.8,\u003C3.10          | 2.40.0           | 1.13.1      | 6.0.0   | 2.12              | 1.13.0                     | 1.13.1              | 0.44.0                    | 2.9.0                  | 1.13.0               | 1.13.0\n[1.12.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.12.0\u002FRELEASE.md)       | >=3.7,\u003C3.10          | 2.40.0           | 1.12.0      | 6.0.0   | 2.11              | 1.12.0                     | 1.12.0              | 0.43.0                    | 2.9.0                  | 1.12.0               | 1.12.0\n[1.11.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.11.0\u002FRELEASE.md)       | >=3.7,\u003C3.10          | 2.40.0           | 1.11.0      | 6.0.0   | 1.15.5 \u002F 2.10.0   | 1.11.0                     | 1.11.0              | 0.42.0                    | 2.9.0                  | 1.11.0               | 1.11.0\n[1.10.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.10.0\u002FRELEASE.md)       | >=3.7,\u003C3.10          | 2.40.0           | 1.10.0      | 6.0.0   | 1.15.5 \u002F 2.9.0    | 1.10.0                     | 1.10.0              | 0.41.0                    | 2.9.0                  | 1.10.0               | 1.10.0\n[1.9.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.9.0\u002FRELEASE.md)         | >=3.7,\u003C3.10          | 2.38.0           | 1.9.0       | 5.0.0   | 1.15.5 \u002F 2.9.0    | 1.9.0                      | 1.9.0               | 0.40.0                    | 2.9.0                  | 1.9.0                | 1.9.0\n[1.8.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.8.0\u002FRELEASE.md)         | >=3.7,\u003C3.10          | 2.38.0           | 1.8.0       | 5.0.0   | 1.15.5 \u002F 2.8.0    | 1.8.0                      | 1.8.0               | 0.39.0                    | 2.8.0                  | 1.8.0                | 1.8.0\n[1.7.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.7.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.36.0           | 1.7.0       | 5.0.0   | 1.15.5 \u002F 2.8.0    | 1.7.0                      | 1.7.0               | 0.38.0                    | 2.8.0                  | 1.7.0                | 1.7.0\n[1.6.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.6.2\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.35.0           | 1.6.0       | 5.0.0   | 1.15.5 \u002F 2.8.0    | 1.6.0                      | 1.6.0               | 0.37.0                    | 2.7.0                  | 1.6.0                | 1.6.0\n[1.6.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.6.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.35.0           | 1.6.0       | 5.0.0   | 1.15.5 \u002F 2.7.0    | 1.6.0                      | 1.6.0               | 0.37.0                    | 2.7.0                  | 1.6.0                | 1.6.0\n[1.5.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.5.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.34.0           | 1.5.0       | 5.0.0   | 1.15.2 \u002F 2.7.0    | 1.5.0                      | 1.5.0               | 0.36.0                    | 2.7.0                  | 1.5.0                | 1.5.0\n[1.4.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.4.0\u002FRELEASE.md)         | >=3.7,\u003C3.9           | 2.33.0           | 1.4.0       | 5.0.0   | 1.15.0 \u002F 2.6.0    | 1.4.0                      | 1.4.0               | 0.35.0                    | 2.6.0                  | 1.4.0                | 1.4.0\n[1.3.4](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.4\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.3](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.3\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.2\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.1\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.3.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.3.0\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.32.0           | 1.3.0       | 2.0.0   | 1.15.0 \u002F 2.6.0    | 1.3.0                      | 1.2.0               | 0.34.1                    | 2.6.0                  | 1.3.0                | 1.3.0\n[1.2.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.2.1\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.31.0           | 1.2.0       | 2.0.0   | 1.15.0 \u002F 2.5.0    | 1.2.0                      | 1.2.0               | 0.33.0                    | 2.5.1                  | 1.2.0                | 1.2.0\n[1.2.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.2.0\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.31.0           | 1.2.0       | 2.0.0   | 1.15.0 \u002F 2.5.0    | 1.2.0                      | 1.2.0               | 0.33.0                    | 2.5.1                  | 1.2.0                | 1.2.0\n[1.0.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv1.0.0\u002FRELEASE.md)         | >=3.6,\u003C3.9           | 2.29.0           | 1.0.0       | 2.0.0   | 1.15.0 \u002F 2.5.0    | 1.0.0                      | 1.0.0               | 0.31.0                    | 2.5.1                  | 1.0.0                | 1.0.0\n[0.30.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.30.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.30.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.30.0                     | 0.30.0              | 0.30.0                    | 2.4.0                  | 0.30.0               | 0.30.0\n[0.29.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.29.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.29.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.29.0                     | 0.29.0              | 0.29.0                    | 2.4.0                  | 0.29.0               | 0.29.0\n[0.28.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.28.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.28.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.28.0                     | 0.28.0              | 0.28.0                    | 2.4.0                  | 0.28.0               | 0.28.1\n[0.27.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.27.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.27.0           | 0.27.0      | 2.0.0   | 1.15.0 \u002F 2.4.0    | 0.27.0                     | 0.27.0              | 0.27.0                    | 2.4.0                  | 0.27.0               | 0.27.0\n[0.26.4](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.4\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.28.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.1                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.26.3](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.3\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.0                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.26.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.1\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.0                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.26.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.26.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.26.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.26.0                     | 0.26.0              | 0.26.0                    | 2.3.0                  | 0.26.0               | 0.26.0\n[0.25.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.25.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.25.0           | 0.24.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.25.0                     | 0.25.0              | 0.25.0                    | 2.3.0                  | 0.25.0               | 0.25.0\n[0.24.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.24.1\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.24.0           | 0.24.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.24.1                     | 0.24.0              | 0.24.3                    | 2.3.0                  | 0.24.1               | 0.24.1\n[0.24.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.24.0\u002FRELEASE.md)       | >=3.6,\u003C3.9           | 2.24.0           | 0.24.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.24.1                     | 0.24.0              | 0.24.3                    | 2.3.0                  | 0.24.1               | 0.24.1\n[0.23.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.23.1\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.24.0           | 0.23.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.23.1                     | 0.23.0              | 0.23.0                    | 2.3.0                  | 0.23.0               | 0.23.0\n[0.23.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.23.0\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.23.0           | 0.23.0      | 0.17.0  | 1.15.0 \u002F 2.3.0    | 0.23.0                     | 0.23.0              | 0.23.0                    | 2.3.0                  | 0.23.0               | 0.23.0\n[0.22.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.22.2\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.21.0           | 0.22.1      | 0.16.0  | 1.15.0 \u002F 2.2.0    | 0.22.2                     | 0.22.2              | 0.22.2                    | 2.2.0                  | 0.22.0               | 0.22.1\n[0.22.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.22.1\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.21.0           | 0.22.1      | 0.16.0  | 1.15.0 \u002F 2.2.0    | 0.22.2                     | 0.22.2              | 0.22.2                    | 2.2.0                  | 0.22.0               | 0.22.1\n[0.22.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.22.0\u002FRELEASE.md)       | >=3.5,\u003C4             | 2.21.0           | 0.22.0      | 0.16.0  | 1.15.0 \u002F 2.2.0    | 0.22.0                     | 0.22.0              | 0.22.1                    | 2.2.0                  | 0.22.0               | 0.22.0\n[0.21.5](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.5\u002FRELEASE.md)       | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.4](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.4\u002FRELEASE.md)       | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.3](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.3\u002FRELEASE.md)       | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.2](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.2\u002FRELEASE.md)       | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.5                     | 0.21.1              | 0.21.5                    | 2.1.0                  | 0.21.2               | 0.21.4\n[0.21.1](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.1\u002FRELEASE.md)        | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.17.0           | 0.21.2      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.4                     | 0.21.1              | 0.21.4                    | 2.1.0                  | 0.21.2               | 0.21.3\n[0.21.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.21.0\u002FRELEASE.md)        | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.17.0           | 0.21.0      | 0.15.0  | 1.15.0 \u002F 2.1.0    | 0.21.0                     | 0.21.0              | 0.21.1                    | 2.1.0                  | 0.21.0               | 0.21.0\n[0.15.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.15.0\u002FRELEASE.md)        | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.16.0           | 0.15.0      | 0.15.0  | 1.15.0            | 0.15.0                     | 0.15.0              | 0.15.2                    | 1.15.0                 | 0.15.0               | 0.15.1\n[0.14.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.14.0\u002FRELEASE.md)        | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.14.0           | 0.14.0      | 0.14.0  | 1.14.0            | 0.14.1                     | 0.14.0              | 0.14.0                    | 1.14.0                 | 0.14.0               | n\u002Fa\n[0.13.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.13.0\u002FRELEASE.md)        | >=2.7,\u003C3 或 >=3.5,\u003C4 | 2.12.0           | 0.13.2      | n\u002Fa     | 1.13.1            | 0.13.1                     | 0.13.0              | 0.13.2                    | 1.13.0                 | 0.13.0               | n\u002Fa\n[0.12.0](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fv0.12.0\u002FRELEASE.md)        | >=2.7,\u003C3             | 2.10.0           | 0.13.2      | n\u002Fa     | 1.12.0            | 0.12.0                     | 0.12.1              | 0.12.1                    | 1.12.0                 | 0.12.0               | n\u002Fa\n\n## 资源\n\n*   [TFX 教程](https:\u002F\u002Fwww.tensorflow.org\u002Ftfx\u002Ftutorials)\n*   [TensorFlow Extended（YouTube）](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLQY2H8rRoyvxR15n04JiW0ezF5HQRs_8F)\n*   [MLOps 专项课程](https:\u002F\u002Fwww.coursera.org\u002Fspecializations\u002Fmachine-learning-engineering-for-production-mlops)\n*   [Google Cloud 上的机器学习流水线](https:\u002F\u002Fwww.coursera.org\u002Flearn\u002Fml-pipelines-google-cloud?specialization=preparing-for-google-cloud-machine-learning-engineer-professional-certificate)\n*   [使用 TFX 管理生产级机器学习流水线](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=QQ13-Tkrbls)\n*   [如何使用 TFX 构建机器学习流水线](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=17l3VR2MIeg)","# TFX 快速上手指南\n\nTFX (TensorFlow Extended) 是 Google 推出的生产级机器学习平台，基于 TensorFlow 构建。它提供了一套配置框架，用于构建由多个 TFX 组件组成的 ML 流水线，并支持通过 Apache Airflow 或 Kubeflow Pipelines 进行编排。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux, macOS 或 Windows (推荐使用 Linux 环境以获得最佳兼容性)\n*   **Python 版本**: `3.9` 至 `3.10` (针对 TFX 1.17.x 版本)\n*   **前置依赖**:\n    *   建议先安装最新版的 `pip` 和 `setuptools`。\n    *   若需使用 GPU 加速，请预先安装对应的 CUDA 和 cuDNN，并确保已安装兼容版本的 `tensorflow`。\n\n> **注意**：TFX 对依赖包版本有严格要求。如果您计划手动管理依赖，请参考官方兼容性矩阵确保 `apache-beam`, `ml-metadata`, `pyarrow` 等版本与 TFX 版本匹配。通常直接安装 `tfx` 包会自动处理大部分依赖。\n\n## 2. 安装步骤\n\n### 标准安装\n使用 pip 安装最新稳定版 TFX：\n\n```bash\npip install tfx\n```\n\n### 国内加速安装\n鉴于网络环境，中国开发者推荐使用国内镜像源加速安装：\n\n```bash\npip install tfx -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 验证安装\n安装完成后，可通过以下命令检查版本：\n\n```bash\npython -c \"import tfx; print(tfx.__version__)\"\n```\n\n## 3. 基本使用\n\nTFX 的核心是构建流水线（Pipeline）。最快速的上手方式是运行官方提供的 **Chicago Taxi** 示例，该示例演示了从数据摄入、统计信息生成、特征工程到模型训练和评估的完整流程。\n\n### 步骤一：获取示例代码\n克隆 TFX 仓库或直接下载示例目录。这里以克隆为例：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx.git\ncd tfx\u002Ftfx\u002Fexamples\u002Fchicago_taxi_pipeline\n```\n\n### 步骤二：运行本地流水线\nTFX 提供了 `LocalDagRunner` 用于在本地环境中测试流水线。创建一个 Python 脚本（例如 `run_local.py`）或直接使用交互式环境运行以下逻辑：\n\n```python\nimport os\nimport tempfile\nfrom tfx.examples.chicago_taxi_pipeline.chicago_taxi_pipeline_simple import create_pipeline\n\n# 设置临时目录用于存储流水线产出\npipeline_root = os.path.join(tempfile.mkdtemp(), 'chicago_taxi_pipeline')\n\n# 创建并运行流水线\nrunner = LocalDagRunner()\nrunner.run(create_pipeline(pipeline_root=pipeline_root))\n```\n\n*注：上述代码引用了示例中的 `create_pipeline` 函数，实际使用时需确保路径正确或复制 `chicago_taxi_pipeline_simple.py` 中的逻辑。*\n\n### 步骤三：查看结果\n运行成功后，流水线会在 `pipeline_root` 目录下生成一系列工件（Artifacts），包括：\n*   **Statistics**: 数据统计信息\n*   **Schema**: 数据模式定义\n*   **Transformed Data**: 经过特征工程处理的数据\n*   **Model**: 训练好的模型文件\n\n您可以使用 TFX 提供的 CLI 工具或 TensorBoard 插件来可视化和分析这些结果：\n\n```bash\n# 启动 TFX CLI (需确保环境变量配置正确)\ntfx pipeline list --engine=local\n```\n\n或者在 Jupyter Notebook 中加载 ML Metadata 进行详细探索。\n\n---\n*更多高级用法、组件自定义及云端部署方案，请参阅 [TFX 用户指南](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fblob\u002Fmaster\u002Fdocs\u002Fguide\u002Findex.md)。*","某电商公司的数据科学团队正致力于构建一个每日自动更新的商品推荐模型，以应对用户行为数据的快速变化。\n\n### 没有 tfx 时\n- **流程割裂且脆弱**：数据预处理、训练和评估脚本由不同成员独立编写，依赖手动串联，一旦中间环节报错，整个流水线难以定位和恢复。\n- **实验追踪混乱**：缺乏统一的元数据管理，团队成员无法准确追溯某个线上模型是由哪版数据、何种参数训练而成，复现历史实验极其困难。\n- **部署风险高**：模型从开发环境迁移到生产环境时，常因环境差异或数据分布漂移（Data Drift）导致线上效果骤降，且缺乏自动化的验证机制拦截劣质模型。\n- **扩展性差**：当需要引入新的特征工程逻辑或切换调度系统（如从 Cron 转至 Airflow）时，往往需要重构大量胶水代码，维护成本高昂。\n\n### 使用 tfx 后\n- **标准化流水线**：利用 TFX 组件构建端到端的 ML 流水线，将数据校验、转换、训练和推送封装为标准节点，支持断点续跑和自动化编排，大幅降低运维复杂度。\n- **全链路可追溯**：通过集成的 ML Metadata 后端，自动记录每次运行的输入输出 artifact 及配置，团队可随时回溯任意模型版本的“血缘”信息，轻松复现实验。\n- **安全可靠的发布**：内置的 TensorFlow Model Analysis 和数据验证组件能在部署前自动检测数据异常和模型性能回归，只有经过严格验证的模型才会被推送到生产服务。\n- **灵活可扩展**：基于 TFX 的配置框架，团队可轻松自定义组件逻辑或无缝切换到底层的 Apache Airflow\u002FKubeflow 调度器，无需重写核心业务代码。\n\nTFX 将原本松散易错的脚本集合转化为可监控、可复现且具备生产级鲁棒性的自动化机器学习平台。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_tfx_24e4095e.png","tensorflow","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftensorflow_07ed5093.png","",null,"github-admin@tensorflow.org","http:\u002F\u002Fwww.tensorflow.org","https:\u002F\u002Fgithub.com\u002Ftensorflow",[80,84,88,92,95,99],{"name":81,"color":82,"percentage":83},"Python","#3572A5",98,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",0.6,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0.5,{"name":93,"color":94,"percentage":91},"Starlark","#76d275",{"name":96,"color":97,"percentage":98},"Dockerfile","#384d54",0.2,{"name":100,"color":101,"percentage":102},"Go Template","#00ADD8",0,2180,729,"2026-04-09T22:50:53","Apache-2.0",4,"未说明",{"notes":110,"python":111,"dependencies":112},"TFX 是谷歌生产级的机器学习平台，支持通过 Apache Airflow 和 Kubeflow Pipelines 进行编排。不同 TFX 版本对 Python 及依赖库（如 TensorFlow, Beam, PyArrow 等）有严格的版本对应关系，安装时请务必参考兼容性表格选择匹配的版本组合，否则可能导致运行错误。",">=3.9, \u003C3.11 (针对最新版本 1.17.x)",[113,114,115,116,117,118,119,120,121,122],"tensorflow>=2.17","apache-beam[gcp]>=2.59.0","ml-metadata>=1.17.1","pyarrow>=10.0.1","tensorflow-data-validation>=1.17.0","tensorflow-metadata>=1.17.1","tensorflow-model-analysis>=0.48.0","tensorflow-serving-api>=2.17.1","tensorflow-transform>=1.17.0","tfx-bsl>=1.17.1",[14],[72,125,126],"machine-learning","apache-beam","2026-03-27T02:49:30.150509","2026-04-16T08:11:59.984433",[130,135,140,145,150],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},35209,"在 TFX >= 1.4.0 版本中使用 S3 作为后端存储时失败，报错提示找不到文件系统，如何解决？","这是因为从 TensorFlow 2.6 开始，S3 等文件系统支持被移到了 `tensorflow-io` 包中，而 TFX 的某些入口脚本未自动导入它。解决方案是确保安装并导入 `tensorflow-io`。如果您遇到此问题，请检查您的 TFMA (TensorFlow Model Analysis) 版本，升级到 0.38.0 或更高版本通常可以解决该问题，因为该版本已在 `model_util.py` 中添加了必要的导入语句。如果无法升级，可能需要手动在入口脚本中添加 `import tensorflow_io`。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fissues\u002F4537",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},35210,"在 Kubeflow 或 Flink Runner 上运行 TFX 管道时遇到 \"ENHANCE_YOUR_CALM\" 错误，该如何处理？","该错误通常与 Apache Beam 的版本有关。根据用户反馈，将 Apache Beam 升级到 2.31.0 或更高版本可以解决此问题。升级后，无论是使用 DirectRunner 还是 FlinkRunner，该错误都会消失。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fissues\u002F3849",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},35211,"在 Transform 组件中设置 `force_tf_compat_v1=False` 时使用 `tf.strings.substr` 等操作失败，但在交互模式下设置为 True 又会崩溃，怎么办？","这是一个已知的兼容性问题。在 Kubeflow 环境中运行 Transform 组件时，如果预处理函数中使用了特定的 TensorFlow 2 原生操作（如 `tf.strings.substr`），设置 `force_tf_compat_v1=False` 可能会导致失败。目前的变通方法是暂时设置 `force_tf_compat_v1=True` 以在管道中运行，尽管这在本地交互模式下可能不稳定。建议检查 TFX 和 TensorFlow 的版本兼容性，或尝试简化预处理逻辑以避开不支持的操作，直到官方修复此兼容性问题。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fissues\u002F3272",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},35212,"在 TFX 0.30.0 版本中运行 Kubeflow 管道时，Transform 步骤报错 `udf_utils.get_fn ... 'preprocessing_fn'` 找不到预处理函数，如何解决？","这通常是由于 TFX 版本升级导致的代码不兼容。TFX 0.30.0 对用户代码的打包和加载机制进行了更改。您需要检查并更新您的预处理模块代码，确保 `preprocessing_fn` 正确导出。此外，由于版本断点（break points），您可能需要重构部分管道代码以适配 0.30.0 的新 API。建议参考 TFX 0.30.0 的迁移指南，重新构建用户代码 wheel 包并确保模块路径配置正确。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fissues\u002F3761",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},35213,"在使用 GCS (Google Cloud Storage) 时，`ImportExampleGen` 组件无法识别包含 `{SPAN}` 占位符的文件路径模式，报错找不到文件，原因是什么？","当使用 `ImportExampleGen` 并指定包含 `{SPAN}` 的动态路径模式（例如 `cifar10\u002Fspan-{SPAN}\u002Ftrain\u002F*`）时，如果直接运行而不经过正确的指纹计算或上下文初始化，系统可能无法解析该占位符，从而报错 `OSError: No files found`。确保您的 `input_config` 配置正确，并且数据路径确实存在对应的 span 目录。如果问题持续，可能需要手动计算 split 的指纹和 span 版本，或者检查是否需要在管道上下文中显式启用 span 支持。注意：该问题在某些旧版本中可能表现为 Bug，需确认 TFX 版本是否支持该特性。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftfx\u002Fissues\u002F4273",[156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,230,235,239,244,249],{"id":157,"version":158,"summary_zh":159,"released_at":160},280234,"v1.17.3","## 主要特性与改进\n\n*   无\n\n## 破坏性变更\n\n*   无\n\n### 对于管道作者\n\n*   无\n\n### 对于组件作者\n\n*   无\n\n## 已弃用的功能\n\n*   无\n\n## 错误修复及其他更改\n\n*   修复了 TFX Docker 镜像中的安全漏洞，并解决了 Vertex AI 的测试问题。\n","2026-04-10T21:29:50",{"id":162,"version":163,"summary_zh":164,"released_at":165},280235,"v1.17.2","## 主要特性与改进\n\n*   无\n\n## 破坏性变更\n\n*   无\n\n### 针对流水线作者\n\n*   无\n\n### 针对组件作者\n\n*   无\n\n## 已弃用功能\n\n*   无\n\n## 错误修复及其他更改\n\n*   无\n","2026-03-03T20:51:09",{"id":167,"version":168,"summary_zh":169,"released_at":170},280236,"v1.17.1","## 主要特性与改进\n\n*   无\n\n## 破坏性变更\n\n*   无\n\n### 针对管道作者\n\n*   无\n\n### 针对组件作者\n\n*   无\n\n## 已弃用功能\n\n*   无\n\n## 错误修复及其他更改\n\n*   确保在 Docker 镜像中从源代码构建 `tensorflow-data-validation` 和 `tfx-bsl`，而非从 PYPI 安装，以防止轮子文件不兼容。\n*   更新了 Kubeflow v2 的端到端测试，使用硬编码的容器路径来存放测试数据，从而解决 `RuntimeError` 问题。\n*   为 `tfdv`、`tfx-bsl` 和 `tfx` 引入补丁，以简化编译过程并解决依赖冲突。\n\n## 依赖项更新\n\n*   支持 TensorFlow | `>=2.17.0,\u003C2.18.0` |\n*   支持 Protobuf  | `==4.21.12` |\n\n## 文档更新\n\n*   无\n","2026-03-03T20:28:43",{"id":172,"version":173,"summary_zh":174,"released_at":175},280237,"v1.17.0","## 主要特性与改进\n\n*   无\n\n## 破坏性变更\n\n*   无\n\n### 针对管道作者\n\n*   无\n\n### 针对组件作者\n\n*   无\n\n## 已弃用功能\n\n*   无\n\n## 错误修复及其他更改\n\n*   确保在 Docker 镜像中从源代码构建 `tensorflow-data-validation` 和 `tfx-bsl`，而非从 PYPI 安装，以防止 wheel 文件不兼容。\n*   更新了 Kubeflow v2 的端到端测试，使用硬编码的容器路径来存放测试数据，从而解决了 `RuntimeError` 问题。\n*   为 `tfdv`、`tfx-bsl` 和 `tfx` 引入了补丁，以解决编译问题和依赖冲突。\n\n## 依赖项更新\n\n*   支持 Tensorflow | `>=2.17.0,\u003C2.18.0` |\n*   支持 Protobuf  | `==4.21.12` |\n\n## 文档更新\n\n*   无\n","2026-03-03T17:52:08",{"id":177,"version":178,"summary_zh":179,"released_at":180},280238,"v1.16.0","## 主要特性与改进\n\n*   无\n\n## 破坏性变更\n\n*   `Placeholder.__format__()` 现在已被禁止，因此您不能再在 f-string 和 `str.format()` 调用中使用占位符。如果因此出现错误，很可能您发现了一个 bug，实际上根本不应该使用 f-string。如果您确实有意出于调试目的打印占位符（而非其解析后的值），请改用 `repr()` 或 `!r`。\n*  删除对 Estimator API 的支持。\n\n### 针对流水线作者\n\n*   无\n\n### 针对组件作者\n\n*   无\n\n## 已弃用功能\n\n*   KubeflowDagRunner（KFP v1 SDK）已弃用。请改用 KubeflowV2DagRunner（KFP v2 流水线规范）。\n*   由于 Estimator 将不再在 TensorFlow 2.16 及更高版本中提供，我们已弃用了使用它们的示例和模板。我们鼓励您探索 Keras，它是一种更现代、更灵活的高级 API，可用于在 TensorFlow 中构建和训练模型。\n\n## Bug 修复及其他更改\n\n*   无\n\n## 依赖项更新\n| 包名称 | 版本约束 | 之前（在 `v1.15.1` 中） | 备注 |\n| -- | -- | -- | -- |\n| `docker` | `>=7,\u003C8` | `>=4.1,\u003C5` | | \n\n## 文档更新\n\n*   无\n","2024-12-11T18:57:33",{"id":182,"version":183,"summary_zh":184,"released_at":185},280239,"v1.16.0-rc0","## 主要特性与改进\n\n*   无\n\n## 破坏性变更\n\n*   `Placeholder.__format__()` 现在已被禁止，因此您不能再在 f-string 和 `str.format()` 调用中使用占位符。如果因此出现错误，很可能您发现了一个 bug，实际上根本不应该使用 f-string。如果您确实有意出于调试目的打印占位符本身（而非其解析后的值），请改用 `repr()` 或 `!r`。\n*  删除对 Estimator API 的支持。\n\n### 针对流水线作者\n\n*   无\n\n### 针对组件作者\n\n*   无\n\n## 已弃用功能\n\n*   KubeflowDagRunner（KFP v1 SDK）已弃用，请改用 KubeflowV2DagRunner（KFP v2 流水线规范）。\n*   由于 Estimator 将不再在 TensorFlow 2.16 及更高版本中提供，我们已弃用了所有使用 Estimator 的示例和模板。我们鼓励您探索 Keras，它是一个更现代、更灵活的高级 API，可用于在 TensorFlow 中构建和训练模型。\n\n## 错误修复及其他更改\n\n*   无\n\n## 依赖项更新\n| 包名称 | 版本约束 | 之前（在 `v1.15.1` 中） | 备注 |\n| -- | -- | -- | -- |\n| `docker` | `>=7,\u003C8` | `>=4.1,\u003C5` | | \n\n## 文档更新\n\n*   无\n","2024-12-06T20:07:55",{"id":187,"version":188,"summary_zh":189,"released_at":190},280240,"v1.15.1","# 版本 1.15.1\n\n## 主要特性与改进\n\n## 破坏性变更\n\n* 支持 KFP 流水线规范 2.1.0 版本的 Schema 以及使用 KFP v2 DAG 运行器的 YAML 文件\n\n### 针对流水线作者\n\n### 针对组件作者\n\n## 已弃用功能\n\n## 错误修复及其他更改\n\n## 依赖项更新\n| 包名称 | 版本约束 | 之前（在 `v1.14.0` 中） | 备注 |\n| -- | -- | -- | -- |\n| `kfp-pipeline-spec` | `kfp-pipeline-spec>=0.1.10,\u003C0.2` | `>0.1.13,\u003C0.2` | | \n\n## 文档更新","2024-05-13T20:43:40",{"id":192,"version":193,"summary_zh":194,"released_at":195},280241,"v1.15.0","# 版本 1.15.0\n\n## 主要功能与改进\n\n* 停止对 Python 3.8 的支持。\n* 扩展 `GetPipelineRunExecutions` 和 `GetPipelineRunArtifacts` API，以支持按执行创建时间、类型进行过滤。\n* `ExampleValidator` 和 `DistributionValidator` 现在支持生成异常警报。用户可以使用自己的工具包从执行参数中提取并处理这些警报。\n* 允许 `DistributionValidator` 的 `baseStatistics` 输入通道工件为空，以便在数据验证冷启动时使用。\n* `ph.make_proto()` 允许构造 proto 类型的占位符，例如用于向组件传递较大的配置 proto。\n* `ph.join_path()` 类似于 `os.path.join()`，但适用于占位符。\n* 支持将 `experimental_debug_stripper` 传递给 Transform 流水线运行器。\n\n## 破坏性变更\n\n* `Placeholder` 及其所有子类已被移至其他模块，其结构已更改，并且现在是不可变的。大多数用户不会受到影响（主要面向公众的 API 未变，行为也相同）。如果您对占位符执行特殊操作，例如 `isinstance()` 或某种自定义序列化，则需要更新代码。\n* `placeholder.Placeholder.traverse()` 现在返回比以前更多的项，即还包括 `_ConcatOperator` 等占位符运算符（这是 Python `+` 运算符的实现）。\n* 移除了 `placeholder.RuntimeInfoKey` 枚举。请直接在代码中硬编码相应的字符串值，并引用新的 `Literal` 类型 `placeholder.RuntimeInfoKeys`，以确保正确性。\n* `@component` 的参数现在必须以关键字参数的形式传递，其返回类型也从 `Type` 更改为仅返回新实例的可调用对象（类似于类型的初始化方法）。这将使我们未来能够返回工厂函数（而非 `Type`）。对于给定的 `@component def C()`，这意味着：\n    * 您不应再将 `C` 用作类型。例如，应将 `isinstance(foo, C)` 替换为其他方式。根据您的用例，如果您只想知道它是否是一个组件，可以使用 `isinstance(foo, tfx.types.BaseComponent)` 或 `isinstance(foo, tfx.types.BaseFunctionalComponent)`。如果您想了解具体是哪个组件，请检查其 `.id` 属性。现有的此类检查目前会破坏类型检查，未来如果迁移到工厂函数，还可能在运行时出现问题。\n    * 您可以继续像以前一样使用 `C.test_call()`，并且该方法在未来仍将继续支持。\n    * 使用 `foo: C` 的任何类型声明都会出错，必须替换为 `foo: tfx.types.BaseComponent` 或 `foo: tfx.types.BaseFunctionalComponent`。\n    * 任何引用静态类成员（如 `C.EXECUTOR_SPEC`）的操作都会导致当前的类型检查失败，应尽快迁移。","2024-04-29T17:07:02",{"id":197,"version":198,"summary_zh":199,"released_at":200},280242,"v1.15.0-rc0","## 主要功能与改进\n\n*  取消对 Python 3.8 的支持。\n*  扩展 `GetPipelineRunExecutions` 和 `GetPipelineRunArtifacts` API，以支持按执行创建时间、类型进行过滤。\n*  `ExampleValidator` 和 `DistributionValidator` 现在支持生成异常警报。用户可以使用自己的工具包从执行参数中提取并处理这些警报。\n*  允许 `DistributionValidator` 的基础统计输入通道工件为空，以便在数据验证冷启动时使用。\n*  `ph.make_proto()` 允许构造 proto 类型的占位符，例如用于向组件传递较大的配置 proto。\n*  `ph.join_path()` 类似于 `os.path.join()`，但适用于占位符。\n*  支持将 `experimental_debug_stripper` 传递给 Transform 流水线运行器。\n\n## 破坏性变更\n\n*   `Placeholder` 及其所有子类已被移至其他模块，其结构已更改，并且现在是不可变的。大多数用户不会受到影响（主要面向公众的 API 未发生变化，行为也相同）。如果您对占位符执行特殊操作，例如 `isinstance()` 或某种自定义序列化，则需要更新代码。\n*   `placeholder.Placeholder.traverse()` 现在返回的项比以前更多，其中包括占位符运算符，例如 `_ConcatOperator`（它是 Python `+` 运算符的实现）。\n*   `placeholder.RuntimeInfoKey` 枚举已被移除。请直接在代码中硬编码相应的字符串值；如果需要确保正确性，可引用新的 `Literal` 类型 `placeholder.RuntimeInfoKeys`。\n*   `@component` 的参数现在必须以关键字参数的形式传递，其返回类型也从 `Type` 更改为仅返回新实例的可调用对象（类似于类型的初始化方法）。这将使我们未来能够返回工厂函数（而非 `Type`）。对于给定的 `@component def C()`，这意味着：\n    *   您不应再将 `C` 用作类型。例如，应将 `isinstance(foo, C)` 替换为其他方式。根据您的使用场景，如果您只想知道它是否是一个组件，可以使用 `isinstance(foo, tfx.types.BaseComponent)` 或 `isinstance(foo, tfx.types.BaseFunctionalComponent)`。如果您想了解具体是哪个组件，应检查其 `.id` 属性。现有的此类检查目前会导致类型检查失败，未来如果我们迁移到工厂函数，还可能在运行时引发错误。\n    *   您可以继续像以前一样使用 `C.test_call()`，并且该方法在未来仍将继续受支持。\n    *   使用 `foo: C` 的任何类型声明都会导致错误，必须替换为 `foo: tfx.types.BaseComponent` 或 `foo: tfx.types.BaseFunctionalComponent`。\n    *   对静态类成员（如 `C.EXECUTOR_SPEC`）的所有引用都会导致当前的类型检查失败，应尽快迁移。特别是在","2024-04-25T18:16:47",{"id":202,"version":203,"summary_zh":204,"released_at":205},280243,"v1.14.0","## 主要特性与改进\n\n* 添加了对 Python 3.10 的支持。\n\n## 破坏性变更\n\n* `Placeholder`（以及 `_PlaceholderOperator`）不再实现 `Jsonable` 接口。\n* 优化了 MLMD 注册类型，大多数情况下只需一次调用即可完成，而非两次。\n\n### 针对管道作者\n\n* 无\n\n### 针对组件作者\n\n* 将用于标识 tfma EvalSavedModel 的标识符从 `\"tf_estimator\"` 替换为 `\"tfma_eval\"`。`\"tf_estimator\"` 现在用于标识具有任意签名（默认为 `'serving'`）的普通 estimator 模型。\n\n## 已弃用功能\n\n* 无\n\n## 错误修复及其他更改\n\n* 应用最新的 TFX 镜像漏洞修复（基础操作系统及软件更新）。\n\n## 依赖项更新\n| 包名称         | 版本约束           | 之前版本（v1.13.0） | 备注                     |\n| -------------- | ------------------ | ------------------- | ------------------------ |\n| `tensorflow-hub` | `>=0.9.0,\u003C0.14`   | `>=0.9.0,\u003C0.13`    |                          |\n| `pyarrow`      | `>=10,\u003C11`        | `>=6,\u003C7`           |                          |\n| `apache-beam`  | `>=2.40,\u003C3`       | `>=2.47,\u003C3`        |                          |\n| `scikit-learn` | `>=1.0,\u003C2`        | `>=0.23,\u003C0.24`     |                          |\n| `google-api-core` | `\u003C3`             | `\u003C1.33`            |                          |\n| `google-cloud-aiplatform` | `>=1.6.2,\u003C2` | `>=1.6.2,\u003C1.18`    |                          |\n| `tflite-support` | `>=0.4.3,\u003C0.4.5`  | `>=0.4.2,\u003C0.4.3`   |                          |\n| `pyyaml`       | `>=6,\u003C7`          | `>=3.12,\u003C6`        | PyYaml 5.4.1 安装存在问题。（https:\u002F\u002Fgithub.com\u002Fyaml\u002Fpyyaml\u002Fissues\u002F724） |\n| `tensorflow`   | `>=2.13,\u003C2.14`    | `>=2.12,\u003C2.13`     |                          |\n| `tensorflowjs` | `>=4.5,\u003C5`        | `>=3.6.0,\u003C4`       |                          |\n\n## 文档更新\n\n* 无","2023-09-06T18:31:57",{"id":207,"version":208,"summary_zh":209,"released_at":210},280244,"v1.14.0-rc0","## Major Features and Improvements\r\n\r\n*  Added python 3.10 support.\r\n\r\n## Breaking Changes\r\n\r\n*   `Placeholder` (and `_PlaceholderOperator`) are no longer `Jsonable`.\r\n*   Optimize MLMD register type to one call in most time instead of two calls.\r\n\r\n### For Pipeline Authors\r\n\r\n*   N\u002FA\r\n\r\n### For Component Authors\r\n\r\n* Replace \"tf_estimator\" with \"tfma_eval\" as the identifier for tfma\r\n  EvalSavedModel. \"tf_estimator\" is now serves as the identifier for the normal\r\n  estimator model with any signature (by default 'serving').\r\n\r\n## Deprecations\r\n\r\n*   N\u002FA\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*  Apply latest TFX image vulnerability resolutions (base OS and software updates)\r\n\r\n## Dependency Updates\r\n| Package Name | Version Constraints | Previously (in `v1.13.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `tensorflow-hub` | `>=0.9.0,\u003C0.14` | `>=0.9.0,\u003C0.13` | |\r\n| `pyarrow` | `>=10,\u003C11` | `>=6,\u003C7` | |\r\n| `apache-beam` | `>=2.40,\u003C3` | `>=2.47,\u003C3` | |\r\n| `scikit-learn` | `>=1.0,\u003C2` | `>=0.23,\u003C0.24` | |\r\n| `google-api-core` | `\u003C3` | `\u003C1.33` | |\r\n| `google-cloud-aiplatform` | `>=1.6.2,\u003C2` | `>=1.6.2,\u003C1.18` | |\r\n| `tflite-support` | `>=0.4.3,\u003C0.4.5` | `>=0.4.2,\u003C0.4.3` | |\r\n| `pyyaml` | `>=6,\u003C7`| `>=3.12,\u003C6` | Issue with installation of PyYaml 5.4.1. (https:\u002F\u002Fgithub.com\u002Fyaml\u002Fpyyaml\u002Fissues\u002F724) |\r\n| `tensorflow` | `>=2.13,\u003C2.14` | `>=2.12,\u003C2.13` | |\r\n| `tensorflowjs` | `>=4.5,\u003C5` | `>=3.6.0,\u003C4` | |\r\n\r\n## Documentation Updates\r\n\r\n*  N\u002FA\r\n","2023-08-28T18:11:49",{"id":212,"version":213,"summary_zh":214,"released_at":215},280245,"v1.13.0","## Major Features and Improvements\r\n\r\n*  Supported setting the container image at a component level for Kubeflow V2\r\n   Dag Runner.\r\n\r\n## Breaking Changes\r\n\r\n### For Pipeline Authors\r\n\r\n*   Conditional can be used from `tfx.dsl.Cond` (Given `from tfx import v1 as\r\n    tfx`).\r\n*   Dummy channel for testing can be constructed by\r\n    `tfx.testing.Channel(artifact_type)`.\r\n*   `placeholder.Placeholder.placeholders_involved()` was replaced with\r\n    `placeholder.Placeholder.traverse()`.\r\n*   `placeholder.Predicate.dependent_channels()` was replaced with\r\n    `channel_utils.get_dependent_channels(Placeholder)`.\r\n*   `placeholder.Predicate.encode_with_keys(...)` was replaced with\r\n    `channel_utils.encode_placeholder_with_channels(Placeholder, ...)`.\r\n\r\n*   `placeholder.Predicate.from_comparison()` removed (was deprecated)\r\n*   enable `external_pipeline_artifact_query` for querying artifact within one pipeline\r\n*   Support `InputArtifact[List[Artifact]]` annotation in Python function custom component\r\n\r\n### For Component Authors\r\n\r\n*   N\u002FA\r\n\r\n## Deprecations\r\n\r\n*   Deprecate python 3.7 support\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*  Support to task type \"workerpool1\" of CLUSTER_SPEC in Vertex AI training's \r\n   service according to the changes of task type in Tuner component.\r\n*  Propagates unexpected import failures in the public v1 module.\r\n\r\n## Dependency Updates\r\n| Package Name | Version Constraints | Previously (in `v1.12.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `click` | `>=7,\u003C9` | `>=7,\u003C8` | |\r\n| `ml-metadata` | `~=1.13.1` | `~=1.12.0` | Synced release train |\r\n| `protobuf` | `>=3.13,\u003C4` | `>=3.20.3,\u003C5` | To support TF 2.12|\r\n| `struct2tensor` | `~=0.44.0` | `~=0.43.0` | Synced release train |\r\n| `tensorflow` | `~=2.12.0` | `>=1.15.5,\u003C2` or `~=2.11.0` | |\r\n| `tensorflow-data-validation` | `~=1.13.0` | `~=1.12.0` | Synced release train |\r\n| `tensorflow-model-analysis` | `~=0.44.0` | `~=0.43.0` | Synced release train |\r\n| `tensorflow-transform` | `~=1.13.0` | `~=1.12.0` | Synced release train |\r\n| `tfx-bsl` | `~=1.13.0` | `~=1.12.0` | Synced release train |\r\n\r\n## Documentation Updates\r\n\r\n*  Added page for TFX-Addons","2023-05-03T18:43:05",{"id":217,"version":218,"summary_zh":219,"released_at":220},280246,"v1.13.0-rc0","## Major Features and Improvements\r\n\r\n*  Supported setting the container image at a component level for Kubeflow V2\r\n   Dag Runner.\r\n\r\n## Breaking Changes\r\n\r\n### For Pipeline Authors\r\n\r\n*   Conditional can be used from `tfx.dsl.Cond` (Given `from tfx import v1 as\r\n    tfx`).\r\n*   Dummy channel for testing can be constructed by\r\n    `tfx.testing.Channel(artifact_type)`.\r\n*   `placeholder.Placeholder.placeholders_involved()` was replaced with\r\n    `placeholder.Placeholder.traverse()`.\r\n*   `placeholder.Predicate.dependent_channels()` was replaced with\r\n    `channel_utils.get_dependent_channels(Placeholder)`.\r\n*   `placeholder.Predicate.encode_with_keys(...)` was replaced with\r\n    `channel_utils.encode_placeholder_with_channels(Placeholder, ...)`.\r\n\r\n*   `placeholder.Predicate.from_comparison()` removed (was deprecated)\r\n*   enable `external_pipeline_artifact_query` for querying artifact within one pipeline\r\n\r\n### For Component Authors\r\n\r\n*   N\u002FA\r\n\r\n## Deprecations\r\n\r\n*   Deprecate python 3.7 support\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*  Support to task type \"workerpool1\" of CLUSTER_SPEC in Vertex AI training's \r\n   service according to the changes of task type in Tuner component.\r\n*  Propagates unexpected import failures in the public v1 module.\r\n\r\n## Dependency Updates\r\n| Package Name | Version Constraints | Previously (in `v1.12.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `click` | `>=7,\u003C9` | `>=7,\u003C8` | |\r\n| `ml-metadata` | `~=1.13.1` | `~=1.12.0` | Synced release train |\r\n| `protobuf` | `>=3.13,\u003C4` | `>=3.20.3,\u003C5` | To support TF 2.12|\r\n| `struct2tensor` | `~=0.44.0` | `~=0.43.0` | Synced release train |\r\n| `tensorflow` | `~=2.12.0` | `>=1.15.5,\u003C2` or `~=2.11.0` | |\r\n| `tensorflow-data-validation` | `~=1.13.0` | `~=1.12.0` | Synced release train |\r\n| `tensorflow-model-analysis` | `~=0.44.0` | `~=0.43.0` | Synced release train |\r\n| `tensorflow-transform` | `~=1.13.0` | `~=1.12.0` | Synced release train |\r\n| `tfx-bsl` | `~=1.13.0` | `~=1.12.0` | Synced release train |\r\n\r\n## Documentation Updates\r\n\r\n*  Added page for TFX-Addons\r\n","2023-04-14T21:31:02",{"id":222,"version":223,"summary_zh":224,"released_at":225},280247,"v1.12.0","## Major Features and Improvements\r\n\r\n*   N\u002FA\r\n\r\n## Breaking Changes\r\n\r\n*   N\u002FA\r\n\r\n### For Pipeline Authors\r\n\r\n*   N\u002FA\r\n\r\n### For Component Authors\r\n\r\n*   N\u002FA\r\n\r\n## Deprecations\r\n\r\n*   N\u002FA\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*   ExampleValidator and DistributionValidator now support custom validations.\r\n\r\n## Dependency Updates\r\n| Package Name | Version Constraints | Previously (in `v1.11.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `tensorflow` | `~=2.11.0` | `>=1.15.5,\u003C2` or `~=2.10.0` | |\r\n| `tensorflow-decision-forests` | `>=1.0.1,\u003C2` | `==1.0.1` | Make it compatible with more TF versions. |\r\n| `ml-metadata` | `~=1.12.0` | `~=1.11.0` | Synced release train |\r\n| `struct2tensor` | `~=0.43.0` | `~=0.42.0` | Synced release train |\r\n| `tensorflow-data-validation` | `~=1.12.0` | `~=1.11.0` | Synced release train |\r\n| `tensorflow-model-analysis` | `~=0.43.0` | `~=0.42.0` | Synced release train |\r\n| `tensorflow-transform` | `~=1.12.0` | `~=1.11.0` | Synced release train |\r\n| `tfx-bsl` | `~=1.12.0` | `~=1.11.0` | Synced release train |\r\n\r\n\r\n## Documentation Updates\r\n\r\n*   N\u002FA\r\n","2022-12-19T16:48:53",{"id":227,"version":228,"summary_zh":224,"released_at":229},280248,"v1.12.0-rc0","2022-12-13T22:59:05",{"id":231,"version":232,"summary_zh":233,"released_at":234},280249,"v1.11.0","## Major Features and Improvements\r\n\r\n*   This is the last version that supports TensorFlow 1.15.x. TF 1.15.x support\r\n    will be removed in the next version. Please check the\r\n    [TF2 migration guide](https:\u002F\u002Fwww.tensorflow.org\u002Fguide\u002Fmigrate) to migrate\r\n    to TF2.\r\n\r\n*  Artifact\u002FChannel properties now support the new MLMD PROTO property type.\r\n\r\n*  Supports environment variables in the placeholder expression.\r\n   This placeholder can be used to generate beam_pipeline_args\r\n   dynamically.\r\n\r\n## Breaking Changes\r\n\r\n*   N\u002FA\r\n\r\n### For Pipeline Authors\r\n\r\n*   N\u002FA\r\n\r\n### For Component Authors\r\n\r\n*   N\u002FA\r\n\r\n## Deprecations\r\n\r\n*   N\u002FA\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*   Moved `tflite-support` related dependencies from `[examples]` to a separate\r\n    `[tflite-support]` extra.\r\n*   Moved `flax` related dependencies from `[examples]` to a separate `[flax]`\r\n    extra.\r\n*   Statistics gen and Schema gen now crash on empty input examples and statistics respectively.\r\n*   Importer will now check that an existing artifact has the same type as the intended output before reusing the existing artifact.\r\n*   Importer will now use the most recently created artifact when reusing an existing artifact instead of the one with the highest ID.\r\n*   Proto placeholder now works with proto files that have non-trivial transitive dependencies.\r\n*   Adding tutorials for recommenders and ranking\r\n\r\n## Dependency Updates\r\n\r\n| Package Name | Version Constraints | Previously (in `v1.8.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `tensorflow` | `>=1.15.5,\u003C2` or `~=2.10.0` | `>=1.15.5,\u003C2` or `~=2.9.0` | |\r\n| `tflite-support` | `~=0.4.2` | `>=0.1.0a1,\u003C0.2.1` | Update to a TF-2.10 compatible version. |\r\n| `google-cloud-aiplatform` | `>=1.6.2,\u003C1.18` | `>=1.6.2,\u003C2` | Added to help pip dependency resolution. |\r\n| `ml-metadata` | `~=1.11.0` | `~=1.10.0` | Synced release train |\r\n| `struct2tensor` | `~=0.42.0` | `~=0.41.0` | Synced release train |\r\n| `tensorflow-data-validation` | `~=1.11.0` | `~=1.10.0` | Synced release train |\r\n| `tensorflow-model-analysis` | `~=0.42.0` | `~=0.41.0` | Synced release train |\r\n| `tensorflow-transform` | `~=1.11.0` | `~=1.10.0` | Synced release train |\r\n| `tfx-bsl` | `~=1.11.0` | `~=1.10.0` | Synced release train |\r\n\r\n## Documentation Updates\r\n\r\n*   N\u002FA","2022-11-23T20:52:29",{"id":236,"version":237,"summary_zh":233,"released_at":238},280250,"v1.11.0-rc0","2022-11-17T19:28:25",{"id":240,"version":241,"summary_zh":242,"released_at":243},280251,"v1.10.0","## Major Features and Improvements\r\n\r\n*   Saved tuner results in pandas `records` formatted JSON.\r\n*   TFX Transform now supports `tf.SequenceExample` natively. The native path can be activated by providing `TensorRepresentation`s in the Schema.\r\n*   TFX Transform now supports reading raw and materializing transformed data in\r\n    Apache Parquet format.\r\n*   ExampleDiff outputs statistics on the matching process, and optional counts\r\n    of paired feature values.\r\n\r\n## Breaking Changes\r\n\r\n*   N\u002FA\r\n\r\n### For Pipeline Authors\r\n\r\n*   N\u002FA\r\n\r\n### For Component Authors\r\n\r\n*   N\u002FA\r\n\r\n## Deprecations\r\n\r\n*   N\u002FA\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*   Type hint on BaseComponent.inputs and BaseComponent.outputs corrected to be\r\n    Channel subclasses.\r\n*   Added `input_optional` parameter to `ChannelParameter`. This allows\r\n    component authors to declare that even if a channel is `optional`, if it is\r\n    provided during pipeline definition time, then it must have resolved inputs\r\n    during run time.\r\n*   Allow latest `apache-airflow` 2.x versions.\r\n*   Moved `tflite-support` related dependencies from `[examples]` to a separate\r\n    `[tflite-support]` extra.\r\n*   Output artifacts from multiple invocations of the same component are given\r\n    unique names, avoiding duplication errors, especially in the\r\n    InteractiveContext.\r\n\r\n## Dependency Updates\r\n\r\n| Package Name | Version Constraints | Previously (in `v1.9.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `google-api-core` | `\u003C2` | N\u002FA | Added to help pip dependency resolution. google-api-core was already a transitive dependency. |\r\n| `apache-beam[gcp]` | `>=2.40,\u003C3` | `>=2.38,\u003C3` | Synced release train |\r\n| `attrs` | `>=19.3.0,\u003C22` | `>=19.3.0,\u003C21` | Allow more recent versions |\r\n| `pyarrow` | `>=6,\u003C7` | `>=1,\u003C6` | Synced release train |\r\n| `ml-metadata` | `~=1.10.0` | `~=1.9.0` | Synced release train |\r\n| `struct2tensor` | `~=0.41.0` | `~=0.40.0` | Synced release train |\r\n| `tensorflow-data-validation` | `~=1.10.0` | `~=1.9.0` | Synced release train |\r\n| `tensorflow-model-analysis` | `~=0.41.0` | `~=0.40.0` | Synced release train |\r\n| `tensorflow-transform` | `~=1.10.1` | `~=1.9.0` | Synced release train |\r\n| `tfx-bsl` | `~=1.10.1` | `~=1.9.0` | Synced release train |\r\n\r\n## Documentation Updates\r\n\r\n*   N\u002FA","2022-09-30T16:57:21",{"id":245,"version":246,"summary_zh":247,"released_at":248},280252,"v1.10.0-rc0","## Major Features and Improvements\r\n\r\n*   Saved tuner results in pandas `records` formatted JSON.\r\n*   TFX Transform now supports `tf.SequenceExample` natively. The native path can be activated by providing `TensorRepresentation`s in the Schema.\r\n*   TFX Transform now supports reading raw and materializing transformed data in\r\n    Apache Parquet format.\r\n*   ExampleDiff outputs statistics on the matching process, and optional counts\r\n    of paired feature values.\r\n\r\n## Breaking Changes\r\n\r\n*   N\u002FA\r\n\r\n### For Pipeline Authors\r\n\r\n*   N\u002FA\r\n\r\n### For Component Authors\r\n\r\n## Deprecations\r\n\r\n*   N\u002FA\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*   Type hint on BaseComponent.inputs and BaseComponent.outputs corrected to be\r\n    Channel subclasses.\r\n*   Added `input_optional` parameter to `ChannelParameter`. This allows\r\n    component authors to declare that even if a channel is `optional`, if it is\r\n    provided during pipeline definition time, then it must have resolved inputs\r\n    during run time.\r\n*   Allow latest `apache-airflow` 2.x versions.\r\n*   Moved `tflite-support` related dependencies from `[examples]` to a separate\r\n    `[tflite-support]` extra.\r\n\r\n## Dependency Updates\r\n\r\n| Package Name | Version Constraints | Previously (in `v1.9.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `google-api-core` | `\u003C2` | N\u002FA | Added to help pip dependency resolution. google-api-core was already a transitive dependency. |\r\n| `apache-beam[gcp]` | `>=2.40,\u003C3` | `>=2.38,\u003C3` | Synced release train |\r\n| `attrs` | `>=19.3.0,\u003C22` | `>=19.3.0,\u003C21` | Allow more recent versions |\r\n| `pyarrow` | `>=6,\u003C7` | `>=1,\u003C6` | Synced release train |\r\n| `tflite-support` | `~=0.4.2` | `>=0.1.0a1,\u003C0.2.1` | Update to a TF-2.10 compatible version. |\r\n\r\n## Documentation Updates\r\n\r\n*   N\u002FA\r\n\r\n\r\n","2022-09-23T16:11:15",{"id":250,"version":251,"summary_zh":252,"released_at":253},280253,"v1.9.1","## Major Features and Improvements\r\n\r\n*   N\u002FA\r\n\r\n## Breaking Changes\r\n\r\n*   N\u002FA\r\n\r\n### For Pipeline Authors\r\n\r\n*   N\u002FA\r\n\r\n### For Component Authors\r\n\r\n*   N\u002FA\r\n\r\n## Deprecations\r\n\r\n*   N\u002FA\r\n\r\n## Bug Fixes and Other Changes\r\n\r\n*   Allow latest `apache-airflow` 2.x versions.\r\n\r\n## Dependency Updates\r\n\r\n| Package Name | Version Constraints | Previously (in `v1.9.0`) | Comments |\r\n| -- | -- | -- | -- |\r\n| `apache-airflow[mysql]` | `\u003C3` | `\u003C2.3` |  |\r\n\r\n## Documentation Updates\r\n\r\n*   N\u002FA\r\n","2022-08-02T20:41:16"]