[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tensorflow--io":3,"tool-tensorflow--io":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 真正成长为懂上",145895,2,"2026-04-08T11:32:59",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[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},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":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":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":118,"forks":119,"last_commit_at":120,"license":121,"difficulty_score":99,"env_os":122,"env_gpu":123,"env_ram":124,"env_deps":125,"category_tags":131,"github_topics":132,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":136,"updated_at":137,"faqs":138,"releases":167},5571,"tensorflow\u002Fio","io","Dataset, streaming, and file system extensions maintained by TensorFlow SIG-IO","TensorFlow I\u002FO 是由 TensorFlow SIG-IO 社区维护的扩展库，旨在为 TensorFlow 补充原生未支持的文件系统和数据格式。它主要解决了开发者在处理多样化数据源时的痛点：无需预先下载或解压文件，即可直接通过 HTTP\u002FHTTPS 等协议流式读取远程数据集（如 MNIST），并自动处理 gzip 等压缩格式。此外，它还广泛支持音频、视频、图像等多种多媒体格式的无缝加载。\n\n这款工具特别适合 AI 研究人员和深度学习工程师使用。当你的项目涉及非标准数据存储、需要从云端直接流式传输大规模数据，或者需要处理复杂的音视频输入时，TensorFlow I\u002FO 能显著简化数据预处理流程。其独特的技术亮点在于与 `tf.data` API 的深度集成，允许用户像操作本地数据一样轻松构建高效的输入管道，同时保持内存友好性。通过简单的 pip 安装或 Docker 部署，用户可以快速将其融入现有的 Keras 或 TensorFlow 工作流中，让数据准备环节更加灵活高效。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_io_readme_5862e2ea4097.png\" width=\"60%\">\u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n-----------------\n\n# TensorFlow I\u002FO\n\n[![GitHub CI](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fworkflows\u002FGitHub%20CI\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Factions?query=branch%3Amaster)\n[![PyPI](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftensorflow-io.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftensorflow-io\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fblob\u002Fmaster\u002FLICENSE)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fapi-reference-blue.svg)](https:\u002F\u002Fwww.tensorflow.org\u002Fio)\n\nTensorFlow I\u002FO is a collection of file systems and file formats that are not\navailable in TensorFlow's built-in support. A full list of supported file systems\nand file formats by TensorFlow I\u002FO can be found [here](https:\u002F\u002Fwww.tensorflow.org\u002Fio\u002Fapi_docs\u002Fpython\u002Ftfio).\n\nThe use of tensorflow-io is straightforward with keras. Below is an example\nto [Get Started with TensorFlow](https:\u002F\u002Fwww.tensorflow.org\u002Ftutorials\u002Fquickstart\u002Fbeginner) with\nthe data processing aspect replaced by tensorflow-io:\n\n```python\nimport tensorflow as tf\nimport tensorflow_io as tfio\n\n# Read the MNIST data into the IODataset.\ndataset_url = \"https:\u002F\u002Fstorage.googleapis.com\u002Fcvdf-datasets\u002Fmnist\u002F\"\nd_train = tfio.IODataset.from_mnist(\n    dataset_url + \"train-images-idx3-ubyte.gz\",\n    dataset_url + \"train-labels-idx1-ubyte.gz\",\n)\n\n# Shuffle the elements of the dataset.\nd_train = d_train.shuffle(buffer_size=1024)\n\n# By default image data is uint8, so convert to float32 using map().\nd_train = d_train.map(lambda x, y: (tf.image.convert_image_dtype(x, tf.float32), y))\n\n# prepare batches the data just like any other tf.data.Dataset\nd_train = d_train.batch(32)\n\n# Build the model.\nmodel = tf.keras.models.Sequential(\n    [\n        tf.keras.layers.Flatten(input_shape=(28, 28)),\n        tf.keras.layers.Dense(512, activation=tf.nn.relu),\n        tf.keras.layers.Dropout(0.2),\n        tf.keras.layers.Dense(10, activation=tf.nn.softmax),\n    ]\n)\n\n# Compile the model.\nmodel.compile(\n    optimizer=\"adam\", loss=\"sparse_categorical_crossentropy\", metrics=[\"accuracy\"]\n)\n\n# Fit the model.\nmodel.fit(d_train, epochs=5, steps_per_epoch=200)\n```\n\nIn the above [MNIST](http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Fmnist\u002F) example, the URL's\nto access the dataset files are passed directly to the `tfio.IODataset.from_mnist` API call.\nThis is due to the inherent support that `tensorflow-io` provides for `HTTP`\u002F`HTTPS` file system,\nthus eliminating the need for downloading and saving datasets on a local directory.\n\nNOTE: Since `tensorflow-io` is able to detect and uncompress the MNIST dataset automatically if needed,\nwe can pass the URL's for the compressed files (gzip) to the API call as is.\n\nPlease check the official [documentation](https:\u002F\u002Fwww.tensorflow.org\u002Fio) for more\ndetailed and interesting usages of the package.\n\n## Installation\n\n### Python Package\n\nThe `tensorflow-io` Python package can be installed with pip directly using:\n```sh\n$ pip install tensorflow-io\n```\n\nPeople who are a little more adventurous can also try our nightly binaries:\n```sh\n$ pip install tensorflow-io-nightly\n```\n\nTo ensure you have a version of TensorFlow that is compatible with TensorFlow-IO,\nyou can specify the `tensorflow` extra requirement during install:\n\n```\npip install tensorflow-io[tensorflow]\n```\n\nSimilar extras exist for the `tensorflow-gpu`, `tensorflow-cpu` and `tensorflow-rocm`\npackages.\n\n### Docker Images\n\nIn addition to the pip packages, the docker images can be used to quickly get started.\n\nFor stable builds:\n```sh\n$ docker pull tfsigio\u002Ftfio:latest\n$ docker run -it --rm --name tfio-latest tfsigio\u002Ftfio:latest\n```\n\nFor nightly builds:\n```sh\n$ docker pull tfsigio\u002Ftfio:nightly\n$ docker run -it --rm --name tfio-nightly tfsigio\u002Ftfio:nightly\n```\n\n### R Package\n\nOnce the `tensorflow-io` Python package has been successfully installed, you\ncan install the development version of the R package from GitHub via the following:\n```r\nif (!require(\"remotes\")) install.packages(\"remotes\")\nremotes::install_github(\"tensorflow\u002Fio\", subdir = \"R-package\")\n```\n\n### TensorFlow Version Compatibility\n\nTo ensure compatibility with TensorFlow, it is recommended to install a matching\nversion of TensorFlow I\u002FO according to the table below. You can find the list\nof releases [here](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Freleases).\n\n| TensorFlow I\u002FO Version | TensorFlow Compatibility | Release Date |\n| --- | --- | --- |\n| 0.37.1 | 2.16.x | Jul 01, 2024 |\n| 0.37.0 | 2.16.x | Apr 25, 2024 |\n| 0.36.0 | 2.15.x | Feb 02, 2024 |\n| 0.35.0 | 2.14.x | Dec 18, 2023 |\n| 0.34.0 | 2.13.x | Sep 08, 2023 |\n| 0.33.0 | 2.13.x | Aug 01, 2023 |\n| 0.32.0 | 2.12.x | Mar 28, 2023 |\n| 0.31.0 | 2.11.x | Feb 25, 2023 |\n| 0.30.0 | 2.11.x | Jan 20, 2023 |\n| 0.29.0 | 2.11.x | Dec 18, 2022 |\n| 0.28.0 | 2.11.x | Nov 21, 2022 |\n| 0.27.0 | 2.10.x | Sep 08, 2022 |\n| 0.26.0 | 2.9.x | May 17, 2022 |\n| 0.25.0 | 2.8.x | Apr 19, 2022 |\n| 0.24.0 | 2.8.x | Feb 04, 2022 |\n| 0.23.1 | 2.7.x | Dec 15, 2021 |\n| 0.23.0 | 2.7.x | Dec 14, 2021 |\n| 0.22.0 | 2.7.x | Nov 10, 2021 |\n| 0.21.0 | 2.6.x | Sep 12, 2021 |\n| 0.20.0 | 2.6.x | Aug 11, 2021 |\n| 0.19.1 | 2.5.x | Jul 25, 2021 |\n| 0.19.0 | 2.5.x | Jun 25, 2021 |\n| 0.18.0 | 2.5.x | May 13, 2021 |\n| 0.17.1 | 2.4.x | Apr 16, 2021 |\n| 0.17.0 | 2.4.x | Dec 14, 2020 |\n| 0.16.0 | 2.3.x | Oct 23, 2020 |\n| 0.15.0 | 2.3.x | Aug 03, 2020 |\n| 0.14.0 | 2.2.x | Jul 08, 2020 |\n| 0.13.0 | 2.2.x | May 10, 2020 |\n| 0.12.0 | 2.1.x | Feb 28, 2020 |\n| 0.11.0 | 2.1.x | Jan 10, 2020 |\n| 0.10.0 | 2.0.x | Dec 05, 2019 |\n| 0.9.1 | 2.0.x | Nov 15, 2019 |\n| 0.9.0 | 2.0.x | Oct 18, 2019 |\n| 0.8.1 | 1.15.x | Nov 15, 2019 |\n| 0.8.0 | 1.15.x | Oct 17, 2019 |\n| 0.7.2 | 1.14.x | Nov 15, 2019 |\n| 0.7.1 | 1.14.x | Oct 18, 2019 |\n| 0.7.0 | 1.14.x | Jul 14, 2019 |\n| 0.6.0 | 1.13.x | May 29, 2019 |\n| 0.5.0 | 1.13.x | Apr 12, 2019 |\n| 0.4.0 | 1.13.x | Mar 01, 2019 |\n| 0.3.0 | 1.12.0 | Feb 15, 2019 |\n| 0.2.0 | 1.12.0 | Jan 29, 2019 |\n| 0.1.0 | 1.12.0 | Dec 16, 2018 |\n\n\n## Performance Benchmarking\n\nWe use [github-pages](https:\u002F\u002Ftensorflow.github.io\u002Fio\u002Fdev\u002Fbench\u002F) to document the results of API performance benchmarks. The benchmark job is triggered on every commit to `master` branch and\nfacilitates tracking performance w.r.t commits.\n\n## Contributing\n\nTensorflow I\u002FO is a community led open source project. As such, the project\ndepends on public contributions, bug-fixes, and documentation. Please see:\n\n- [contribution guidelines](CONTRIBUTING.md) for a guide on how to contribute.\n- [development doc](docs\u002Fdevelopment.md) for instructions on the development environment setup.\n- [tutorials](docs\u002Ftutorials) for a list of tutorial notebooks and instructions on how to write one.\n\n### Build Status and CI\n\n| Build | Status |\n| --- | --- |\n| Linux CPU Python 2 | [![Status](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py2.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py2.html) |\n| Linux CPU Python 3 | [![Status](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py3.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py3.html) |\n| Linux GPU Python 2| [![Status](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py2.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py2.html) |\n| Linux GPU Python 3| [![Status](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py3.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py3.html) |\n\nBecause of manylinux2010 requirement, TensorFlow I\u002FO is built with\nUbuntu:16.04 + Developer Toolset 7 (GCC 7.3) on Linux. Configuration\nwith Ubuntu 16.04 with Developer Toolset 7 is not exactly straightforward.\nIf the system have docker installed, then the following command\nwill automatically build manylinux2010 compatible whl package:\n\n```sh\n#!\u002Fusr\u002Fbin\u002Fenv bash\n\nls dist\u002F*\nfor f in dist\u002F*.whl; do\n  docker run -i --rm -v $PWD:\u002Fv -w \u002Fv --net=host quay.io\u002Fpypa\u002Fmanylinux2010_x86_64 bash -x -e \u002Fv\u002Ftools\u002Fbuild\u002Fauditwheel repair --plat manylinux2010_x86_64 $f\ndone\nsudo chown -R $(id -nu):$(id -ng) .\nls wheelhouse\u002F*\n```\n\nIt takes some time to build, but once complete, there will be python\n`3.5`, `3.6`, `3.7` compatible whl packages available in `wheelhouse`\ndirectory.\n\nOn macOS, the same command could be used. However, the script expects `python` in shell\nand will only generate a whl package that matches the version of `python` in shell. If\nyou want to build a whl package for a specific python then you have to alias this version\nof python to `python` in shell. See [.github\u002Fworkflows\u002Fbuild.yml](.github\u002Fworkflows\u002Fbuild.yml)\nAuditwheel step for instructions how to do that.\n\nNote the above command is also the command we use when releasing packages for Linux and macOS.\n\nTensorFlow I\u002FO uses both GitHub Workflows and Google CI (Kokoro) for continuous integration.\nGitHub Workflows is used for macOS build and test. Kokoro is used for Linux build and test.\nAgain, because of the manylinux2010 requirement, on Linux whl packages are always\nbuilt with Ubuntu 16.04 + Developer Toolset 7. Tests are done on a variatiy of systems\nwith different python3 versions to ensure a good coverage:\n\n| Python | Ubuntu 18.04| Ubuntu 20.04 | macOS + osx9 | Windows-2019 |\n| ------- | ----- | ------- | ------- | --------- |\n| 2.7 |  :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N\u002FA |\n| 3.7 |  :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| 3.8 |  :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n\n\nTensorFlow I\u002FO has integrations with many systems and cloud vendors such as\nPrometheus, Apache Kafka, Apache Ignite, Google Cloud PubSub, AWS Kinesis,\nMicrosoft Azure Storage, Alibaba Cloud OSS etc.\n\nWe tried our best to test against those systems in our continuous integration\nwhenever possible. Some tests such as Prometheus, Kafka, and Ignite\nare done with live systems, meaning we install Prometheus\u002FKafka\u002FIgnite on CI machine before\nthe test is run. Some tests such as Kinesis, PubSub, and Azure Storage are done\nthrough official or non-official emulators. Offline tests are also performed whenever\npossible, though systems covered through offine tests may not have the same\nlevel of coverage as live systems or emulators.\n\n\n|  | Live System | Emulator| CI Integration |  Offline |\n| ------- | ----- | ----- | ----- | ----- |\n| Apache Kafka | :heavy_check_mark:  | | :heavy_check_mark:| |\n| Apache Ignite |  :heavy_check_mark: | |:heavy_check_mark:| |\n| Prometheus |  :heavy_check_mark: | |:heavy_check_mark:| |\n| Google PubSub |   | :heavy_check_mark: |:heavy_check_mark:| |\n| Azure Storage |   | :heavy_check_mark: |:heavy_check_mark:| |\n| AWS Kinesis |   | :heavy_check_mark: |:heavy_check_mark:| |\n| Alibaba Cloud OSS |   | | |  :heavy_check_mark: |\n| Google BigTable\u002FBigQuery |   | to be added | | |\n| Elasticsearch (experimental) |  :heavy_check_mark: | |:heavy_check_mark:| |\n| MongoDB (experimental) |  :heavy_check_mark: | |:heavy_check_mark:| |\n\n\nReferences for emulators:\n- Official [PubSub Emulator](https:\u002F\u002Fcloud.google.com\u002Fsdk\u002Fgcloud\u002Freference\u002Fbeta\u002Femulators\u002Fpubsub\u002F) by Google Cloud for Cloud PubSub.\n- Official [Azurite Emulator](https:\u002F\u002Fgithub.com\u002FAzure\u002FAzurite) by Azure for Azure Storage.\n- None-official [LocalStack emulator](https:\u002F\u002Fgithub.com\u002Flocalstack\u002Flocalstack) by LocalStack for AWS Kinesis.\n\n\n## Community\n\n* SIG IO [Google Group](https:\u002F\u002Fgroups.google.com\u002Fa\u002Ftensorflow.org\u002Fforum\u002F#!forum\u002Fio) and mailing list: [io@tensorflow.org](io@tensorflow.org)\n* SIG IO [Monthly Meeting Notes](https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1CB51yJxns5WA4Ylv89D-a5qReiGTC0GYum6DU-9nKGo\u002Fedit)\n* Gitter room: [tensorflow\u002Fsig-io](https:\u002F\u002Fgitter.im\u002Ftensorflow\u002Fsig-io)\n\n## Additional Information\n\n* [Streaming Machine Learning with Tiered Storage and Without a Data Lake](https:\u002F\u002Fwww.confluent.io\u002Fblog\u002Fstreaming-machine-learning-with-tiered-storage\u002F) - [Kai Waehner](https:\u002F\u002Fgithub.com\u002Fkaiwaehner)\n* [TensorFlow with Apache Arrow Datasets](https:\u002F\u002Fmedium.com\u002Ftensorflow\u002Ftensorflow-with-apache-arrow-datasets-cdbcfe80a59f) - [Bryan Cutler](https:\u002F\u002Fgithub.com\u002FBryanCutler)\n* [How to build a custom Dataset for Tensorflow](https:\u002F\u002Ftowardsdatascience.com\u002Fhow-to-build-a-custom-dataset-for-tensorflow-1fe3967544d8) - [Ivelin Ivanov](https:\u002F\u002Fgithub.com\u002Fivelin)\n* [TensorFlow on Apache Ignite](https:\u002F\u002Fmedium.com\u002Ftensorflow\u002Ftensorflow-on-apache-ignite-99f1fc60efeb) - [Anton Dmitriev](https:\u002F\u002Fgithub.com\u002Fdmitrievanthony)\n\n## License\n\n[Apache License 2.0](LICENSE)\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_io_readme_5862e2ea4097.png\" width=\"60%\">\u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n-----------------\n\n# TensorFlow I\u002FO\n\n[![GitHub CI](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fworkflows\u002FGitHub%20CI\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Factions?query=branch%3Amaster)\n[![PyPI](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftensorflow-io.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftensorflow-io\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fblob\u002Fmaster\u002FLICENSE)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fapi-reference-blue.svg)](https:\u002F\u002Fwww.tensorflow.org\u002Fio)\n\nTensorFlow I\u002FO 是一组文件系统和文件格式的集合，这些内容在 TensorFlow 的内置支持中并不提供。TensorFlow I\u002FO 支持的完整文件系统和文件格式列表可以在这里找到：[https:\u002F\u002Fwww.tensorflow.org\u002Fio\u002Fapi_docs\u002Fpython\u002Ftfio](https:\u002F\u002Fwww.tensorflow.org\u002Fio\u002Fapi_docs\u002Fpython\u002Ftfio)。\n\n使用 tensorflow-io 配合 Keras 非常简单。以下是一个基于 [TensorFlow 入门教程](https:\u002F\u002Fwww.tensorflow.org\u002Ftutorials\u002Fquickstart\u002Fbeginner) 的示例，其中数据处理部分由 tensorflow-io 替代：\n\n```python\nimport tensorflow as tf\nimport tensorflow_io as tfio\n\n# 将 MNIST 数据读入 IODataset。\ndataset_url = \"https:\u002F\u002Fstorage.googleapis.com\u002Fcvdf-datasets\u002Fmnist\u002F\"\nd_train = tfio.IODataset.from_mnist(\n    dataset_url + \"train-images-idx3-ubyte.gz\",\n    dataset_url + \"train-labels-idx1-ubyte.gz\",\n)\n\n# 打乱数据集中的元素。\nd_train = d_train.shuffle(buffer_size=1024)\n\n# 默认情况下，图像数据是 uint8 类型，因此使用 map() 转换为 float32。\nd_train = d_train.map(lambda x, y: (tf.image.convert_image_dtype(x, tf.float32), y))\n\n# 像处理任何其他 tf.data.Dataset 一样准备批次数据。\nd_train = d_train.batch(32)\n\n# 构建模型。\nmodel = tf.keras.models.Sequential(\n    [\n        tf.keras.layers.Flatten(input_shape=(28, 28)),\n        tf.keras.layers.Dense(512, activation=tf.nn.relu),\n        tf.keras.layers.Dropout(0.2),\n        tf.keras.layers.Dense(10, activation=tf.nn.softmax),\n    ]\n)\n\n# 编译模型。\nmodel.compile(\n    optimizer=\"adam\", loss=\"sparse_categorical_crossentropy\", metrics=[\"accuracy\"]\n)\n\n# 训练模型。\nmodel.fit(d_train, epochs=5, steps_per_epoch=200)\n```\n\n在上述 [MNIST](http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Fmnist\u002F) 示例中，用于访问数据集文件的 URL 直接传递给了 `tfio.IODataset.from_mnist` API 调用。这是因为 `tensorflow-io` 内置支持 `HTTP`\u002F`HTTPS` 文件系统，从而无需将数据集下载并保存到本地目录。\n\n注意：由于 `tensorflow-io` 能够自动检测并解压缩 MNIST 数据集（如果需要），我们可以直接将压缩文件（gzip 格式）的 URL 传递给 API 调用。\n\n请查阅官方 [文档](https:\u002F\u002Fwww.tensorflow.org\u002Fio)，以获取更多关于该包的详细且有趣的用法。\n\n## 安装\n\n### Python 包\n\n可以通过 pip 直接安装 `tensorflow-io` Python 包：\n```sh\n$ pip install tensorflow-io\n```\n\n对于更喜欢尝试新事物的用户，也可以使用我们的夜间构建版本：\n```sh\n$ pip install tensorflow-io-nightly\n```\n\n为了确保您使用的 TensorFlow 版本与 TensorFlow-IO 兼容，您可以在安装时指定 `tensorflow` 附加依赖项：\n```sh\npip install tensorflow-io[tensorflow]\n```\n\n类似的附加依赖项也适用于 `tensorflow-gpu`、`tensorflow-cpu` 和 `tensorflow-rocm` 等包。\n\n### Docker 镜像\n\n除了 pip 包之外，还可以使用 Docker 镜像快速开始使用。\n\n对于稳定版：\n```sh\n$ docker pull tfsigio\u002Ftfio:latest\n$ docker run -it --rm --name tfio-latest tfsigio\u002Ftfio:latest\n```\n\n对于夜间版：\n```sh\n$ docker pull tfsigio\u002Ftfio:nightly\n$ docker run -it --rm --name tfio-nightly tfsigio\u002Ftfio:nightly\n```\n\n### R 包\n\n成功安装 `tensorflow-io` Python 包后，您可以从 GitHub 安装 R 包的开发版本，方法如下：\n```r\nif (!require(\"remotes\")) install.packages(\"remotes\")\nremotes::install_github(\"tensorflow\u002Fio\", subdir = \"R-package\")\n```\n\n### TensorFlow 版本兼容性\n\n为确保与 TensorFlow 的兼容性，建议根据下表安装相应版本的 TensorFlow I\u002FO。发布列表可以在 [这里](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Freleases) 查看。\n\n| TensorFlow I\u002FO 版本 | TensorFlow 兼容性 | 发布日期 |\n| --- | --- | --- |\n| 0.37.1 | 2.16.x | 2024年7月1日 |\n| 0.37.0 | 2.16.x | 2024年4月25日 |\n| 0.36.0 | 2.15.x | 2024年2月2日 |\n| 0.35.0 | 2.14.x | 2023年12月18日 |\n| 0.34.0 | 2.13.x | 2023年9月8日 |\n| 0.33.0 | 2.13.x | 2023年8月1日 |\n| 0.32.0 | 2.12.x | 2023年3月28日 |\n| 0.31.0 | 2.11.x | 2023年2月25日 |\n| 0.30.0 | 2.11.x | 2023年1月20日 |\n| 0.29.0 | 2.11.x | 2022年12月18日 |\n| 0.28.0 | 2.11.x | 2022年11月21日 |\n| 0.27.0 | 2.10.x | 2022年9月8日 |\n| 0.26.0 | 2.9.x | 2022年5月17日 |\n| 0.25.0 | 2.8.x | 2022年4月19日 |\n| 0.24.0 | 2.8.x | 2022年2月4日 |\n| 0.23.1 | 2.7.x | 2021年12月15日 |\n| 0.23.0 | 2.7.x | 2021年12月14日 |\n| 0.22.0 | 2.7.x | 2021年11月10日 |\n| 0.21.0 | 2.6.x | 2021年9月12日 |\n| 0.20.0 | 2.6.x | 2021年8月11日 |\n| 0.19.1 | 2.5.x | 2021年7月25日 |\n| 0.19.0 | 2.5.x | 2021年6月25日 |\n| 0.18.0 | 2.5.x | 2021年5月13日 |\n| 0.17.1 | 2.4.x | 2021年4月16日 |\n| 0.17.0 | 2.4.x | 2020年12月14日 |\n| 0.16.0 | 2.3.x | 2020年10月23日 |\n| 0.15.0 | 2.3.x | 2020年8月3日 |\n| 0.14.0 | 2.2.x | 2020年7月8日 |\n| 0.13.0 | 2.2.x | 2020年5月10日 |\n| 0.12.0 | 2.1.x | 2020年2月28日 |\n| 0.11.0 | 2.1.x | 2020年1月10日 |\n| 0.10.0 | 2.0.x | 2019年12月5日 |\n| 0.9.1 | 2.0.x | 2019年11月15日 |\n| 0.9.0 | 2.0.x | 2019年10月18日 |\n| 0.8.1 | 1.15.x | 2019年11月15日 |\n| 0.8.0 | 1.15.x | 2019年10月17日 |\n| 0.7.2 | 1.14.x | 2019年11月15日 |\n| 0.7.1 | 1.14.x | 2019年10月18日 |\n| 0.7.0 | 1.14.x | 2019年7月14日 |\n| 0.6.0 | 1.13.x | 2019年5月29日 |\n| 0.5.0 | 1.13.x | 2019年4月12日 |\n| 0.4.0 | 1.13.x | 2019年3月1日 |\n| 0.3.0 | 1.12.0 | 2019年2月15日 |\n| 0.2.0 | 1.12.0 | 2019年1月29日 |\n| 0.1.0 | 1.12.0 | 2018年12月16日 |\n\n\n## 性能基准测试\n\n我们使用 [github-pages](https:\u002F\u002Ftensorflow.github.io\u002Fio\u002Fdev\u002Fbench\u002F) 来记录 API 性能基准测试的结果。每次提交到 `master` 分支时都会触发基准测试作业，从而便于跟踪性能随提交的变化情况。\n\n## 贡献\n\nTensorFlow I\u002FO 是一个由社区主导的开源项目。因此，该项目依赖于公众的贡献、错误修复和文档编写。请参阅：\n\n- [贡献指南](CONTRIBUTING.md)，了解如何参与贡献。\n- [开发文档](docs\u002Fdevelopment.md)，了解开发环境的设置方法。\n- [教程](docs\u002Ftutorials)，查看教程笔记本列表及如何编写教程的说明。\n\n### 构建状态与持续集成\n\n| 构建 | 状态 |\n| --- | --- |\n| Linux CPU Python 2 | [![状态](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py2.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py2.html) |\n| Linux CPU Python 3 | [![状态](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py3.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-py3.html) |\n| Linux GPU Python 2| [![状态](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py2.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py2.html) |\n| Linux GPU Python 3| [![状态](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py3.svg)](https:\u002F\u002Fstorage.googleapis.com\u002Ftensorflow-kokoro-build-badges\u002Fio\u002Fubuntu-gpu-py3.html) |\n\n由于 manylinux2010 的要求，TensorFlow I\u002FO 在 Linux 上使用 Ubuntu:16.04 + Developer Toolset 7 (GCC 7.3) 进行构建。在 Ubuntu 16.04 上配置 Developer Toolset 7 并不十分简单。如果系统已安装 Docker，则可以使用以下命令自动构建 manylinux2010 兼容的 whl 包：\n\n```sh\n#!\u002Fusr\u002Fbin\u002Fenv bash\n\nls dist\u002F*\nfor f in dist\u002F*.whl; do\n  docker run -i --rm -v $PWD:\u002Fv -w \u002Fv --net=host quay.io\u002Fpypa\u002Fmanylinux2010_x86_64 bash -x -e \u002Fv\u002Ftools\u002Fbuild\u002Fauditwheel repair --plat manylinux2010_x86_64 $f\ndone\nsudo chown -R $(id -nu):$(id -ng) .\nls wheelhouse\u002F*\n```\n\n构建过程需要一些时间，但完成后，`wheelhouse` 目录中将提供适用于 Python `3.5`、`3.6` 和 `3.7` 的 whl 包。\n\n在 macOS 上，也可以使用相同的命令。不过，该脚本会依赖于 shell 中的 `python` 命令，并且只会生成与当前 shell 中 `python` 版本匹配的 whl 包。如果希望为特定版本的 Python 构建 whl 包，就需要将该版本的 Python 别名设置为 shell 中的 `python`。具体操作方法请参阅 [.github\u002Fworkflows\u002Fbuild.yml](.github\u002Fworkflows\u002Fbuild.yml) 文件中的 Auditwheel 步骤。\n\n需要注意的是，上述命令也是我们在发布 Linux 和 macOS 版本时所使用的命令。\n\nTensorFlow I\u002FO 同时使用 GitHub Workflows 和 Google CI（Kokoro）进行持续集成。GitHub Workflows 负责 macOS 的构建和测试，而 Kokoro 则负责 Linux 的构建和测试。同样由于 manylinux2010 的要求，在 Linux 上，whl 包始终是在 Ubuntu 16.04 + Developer Toolset 7 的环境下构建的。测试则在多种不同系统的不同 Python 3 版本上进行，以确保良好的覆盖范围：\n\n| Python | Ubuntu 18.04| Ubuntu 20.04 | macOS + osx9 | Windows-2019 |\n| ------- | ----- | ------- | ------- | --------- |\n| 2.7 |  :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N\u002FA |\n| 3.7 |  :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| 3.8 |  :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n\n\nTensorFlow I\u002FO 与许多系统和云服务提供商实现了集成，例如 Prometheus、Apache Kafka、Apache Ignite、Google Cloud PubSub、AWS Kinesis、Microsoft Azure Storage、Alibaba Cloud OSS 等。\n\n我们尽最大努力在持续集成过程中尽可能地对这些系统进行测试。其中，Prometheus、Kafka 和 Ignite 等测试是通过实际运行的系统完成的，即在测试开始前，我们会先在 CI 机器上安装 Prometheus\u002FKafka\u002FIgnite。而 Kinesis、PubSub 和 Azure Storage 等测试则是通过官方或非官方的模拟器来完成的。此外，只要条件允许，我们也会进行离线测试，尽管通过离线测试覆盖的系统可能无法达到与实际系统或模拟器相同的覆盖程度。\n\n\n|  | 实际系统 | 模拟器| CI 集成 |  离线 |\n| ------- | ----- | ----- | ----- | ----- |\n| Apache Kafka | :heavy_check_mark:  | | :heavy_check_mark:| |\n| Apache Ignite |  :heavy_check_mark: | |:heavy_check_mark:| |\n| Prometheus |  :heavy_check_mark: | |:heavy_check_mark:| |\n| Google PubSub |   | :heavy_check_mark: |:heavy_check_mark:| |\n| Azure Storage |   | :heavy_check_mark: |:heavy_check_mark:| |\n| AWS Kinesis |   | :heavy_check_mark: |:heavy_check_mark:| |\n| Alibaba Cloud OSS |   | | |  :heavy_check_mark: |\n| Google BigTable\u002FBigQuery |   | 待添加 | | |\n| Elasticsearch (实验性) |  :heavy_check_mark: | |:heavy_check_mark:| |\n| MongoDB (实验性) |  :heavy_check_mark: | |:heavy_check_mark:| |\n\n\n模拟器参考：\n- Google Cloud 提供的官方 [PubSub 模拟器](https:\u002F\u002Fcloud.google.com\u002Fsdk\u002Fgcloud\u002Freference\u002Fbeta\u002Femulators\u002Fpubsub\u002F)。\n- Azure 提供的官方 [Azurite 模拟器](https:\u002F\u002Fgithub.com\u002FAzure\u002FAzurite)。\n- LocalStack 提供的非官方 [LocalStack 模拟器](https:\u002F\u002Fgithub.com\u002Flocalstack\u002Flocalstack)用于 AWS Kinesis。\n\n\n## 社区\n\n* SIG IO [Google Group](https:\u002F\u002Fgroups.google.com\u002Fa\u002Ftensorflow.org\u002Fforum\u002F#!forum\u002Fio) 和邮件列表：[io@tensorflow.org](io@tensorflow.org)\n* SIG IO [每月会议记录](https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1CB51yJxns5WA4Ylv89D-a5qReiGTC0GYum6DU-9nKGo\u002Fedit)\n* Gitter 讨论室：[tensorflow\u002Fsig-io](https:\u002F\u002Fgitter.im\u002Ftensorflow\u002Fsig-io)\n\n## 补充信息\n\n* [利用分层存储且无需数据湖的流式机器学习](https:\u002F\u002Fwww.confluent.io\u002Fblog\u002Fstreaming-machine-learning-with-tiered-storage\u002F) - [Kai Waehner](https:\u002F\u002Fgithub.com\u002Fkaiwaehner)\n* [TensorFlow 与 Apache Arrow 数据集](https:\u002F\u002Fmedium.com\u002Ftensorflow\u002Ftensorflow-with-apache-arrow-datasets-cdbcfe80a59f) - [Bryan Cutler](https:\u002F\u002Fgithub.com\u002FBryanCutler)\n* [如何为 TensorFlow 构建自定义数据集](https:\u002F\u002Ftowardsdatascience.com\u002Fhow-to-build-a-custom-dataset-for-tensorflow-1fe3967544d8) - [Ivelin Ivanov](https:\u002F\u002Fgithub.com\u002Fivelin)\n* [TensorFlow 与 Apache Ignite](https:\u002F\u002Fmedium.com\u002Ftensorflow\u002Ftensorflow-on-apache-ignite-99f1fc60efeb) - [Anton Dmitriev](https:\u002F\u002Fgithub.com\u002Fdmitrievanthony)\n\n## 许可证\n\n[Apache License 2.0](LICENSE)","# TensorFlow I\u002FO 快速上手指南\n\nTensorFlow I\u002FO 是一个扩展库，提供了 TensorFlow 原生不支持的文件系统和文件格式（如 Kafka、Prometheus、各类云存储等）。它允许你直接从 URL 或特定协议读取数据，无需手动下载解压。\n\n## 环境准备\n\n*   **操作系统**: Linux (Ubuntu 16.04+), macOS, Windows\n*   **Python 版本**: 推荐 Python 3.7 - 3.11\n*   **前置依赖**: 需预先安装与 TensorFlow I\u002FO 版本匹配的 TensorFlow。\n\n**版本兼容性参考（部分）：**\n\n| TensorFlow I\u002FO 版本 | 兼容 TensorFlow 版本 |\n| :--- | :--- |\n| 0.37.x | 2.16.x |\n| 0.36.x | 2.15.x |\n| 0.35.x | 2.14.x |\n| 0.34.x | 2.13.x |\n\n> **提示**：建议先确定你项目中使用的 TensorFlow 版本，再安装对应的 `tensorflow-io` 版本，以避免兼容性问题。\n\n## 安装步骤\n\n### 方法一：使用 pip 安装（推荐）\n\n你可以直接通过 pip 安装稳定版。如果未安装 TensorFlow，可以使用 `[tensorflow]` 额外依赖自动安装兼容版本。\n\n```bash\n# 仅安装 tensorflow-io (需确保已安装兼容的 tensorflow)\npip install tensorflow-io\n\n# 或者，同时安装兼容版本的 tensorflow\npip install tensorflow-io[tensorflow]\n```\n\n**国内加速方案**：\n在中国大陆地区，建议使用清华或阿里镜像源以加快下载速度：\n\n```bash\npip install tensorflow-io -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n# 或\npip install tensorflow-io[tensorflow] -i https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n```\n\n如需尝试最新开发版（nightly build）：\n```bash\npip install tensorflow-io-nightly\n```\n\n### 方法二：使用 Docker\n\n如果你希望快速体验且避免环境配置问题，可以直接拉取官方 Docker 镜像。\n\n```bash\n# 拉取稳定版镜像\ndocker pull tfsigio\u002Ftfio:latest\n\n# 运行容器\ndocker run -it --rm --name tfio-latest tfsigio\u002Ftfio:latest\n```\n\n## 基本使用\n\nTensorFlow I\u002FO 的核心优势在于可以直接从网络地址（HTTP\u002FHTTPS）或其他文件系统读取数据并转换为 `tf.data.Dataset`。以下是一个直接从 URL 加载 MNIST 数据集并训练模型的完整示例。\n\n**特点**：\n*   无需手动下载 `.gz` 文件。\n*   自动处理解压逻辑。\n*   无缝集成 Keras `model.fit`。\n\n```python\nimport tensorflow as tf\nimport tensorflow_io as tfio\n\n# 1. 定义数据源 URL\ndataset_url = \"https:\u002F\u002Fstorage.googleapis.com\u002Fcvdf-datasets\u002Fmnist\u002F\"\n\n# 2. 直接使用 IODataset 从 URL 读取数据\n# tensorflow-io 会自动检测并解压 gzip 文件\nd_train = tfio.IODataset.from_mnist(\n    dataset_url + \"train-images-idx3-ubyte.gz\",\n    dataset_url + \"train-labels-idx1-ubyte.gz\",\n)\n\n# 3. 数据预处理\n# 打乱数据\nd_train = d_train.shuffle(buffer_size=1024)\n\n# 将 uint8 图像数据转换为 float32\nd_train = d_train.map(lambda x, y: (tf.image.convert_image_dtype(x, tf.float32), y))\n\n# 构建 Batch\nd_train = d_train.batch(32)\n\n# 4. 构建 Keras 模型\nmodel = tf.keras.models.Sequential(\n    [\n        tf.keras.layers.Flatten(input_shape=(28, 28)),\n        tf.keras.layers.Dense(512, activation=tf.nn.relu),\n        tf.keras.layers.Dropout(0.2),\n        tf.keras.layers.Dense(10, activation=tf.nn.softmax),\n    ]\n)\n\n# 5. 编译并训练\nmodel.compile(\n    optimizer=\"adam\", loss=\"sparse_categorical_crossentropy\", metrics=[\"accuracy\"]\n)\n\n# 直接传入 IODataset 进行训练\nmodel.fit(d_train, epochs=5, steps_per_epoch=200)\n```\n\n除了 MNIST，`tensorflow-io` 还支持直接读取 AVI 视频、PCAP 网络包、Apache Kafka 消息流等多种格式，具体 API 请参考 [官方文档](https:\u002F\u002Fwww.tensorflow.org\u002Fio)。","某计算机视觉团队正在构建一个基于海量历史监控视频的目标检测模型，数据源分散在多个支持 HTTP\u002FHTTPS 协议的远程对象存储桶中，且包含大量压缩格式文件。\n\n### 没有 io 时\n- **繁琐的预处理流程**：开发人员必须编写额外的脚本手动下载所有视频和图像数据到本地磁盘，占用大量宝贵的存储空间。\n- **格式兼容性差**：TensorFlow 原生不支持直接读取某些特定编码的视频帧或压缩归档（如 gzip），需先解压转换才能输入模型。\n- **内存与 I\u002FO 瓶颈**：一次性加载大型数据集容易导致内存溢出，且本地磁盘读写速度成为训练流水线的性能瓶颈。\n- **维护成本高**：每当数据源更新或增加新文件，都需要重新执行下载和清洗流程，难以实现动态数据流式处理。\n- **代码逻辑割裂**：数据加载逻辑与模型训练代码分离，增加了工程复杂度和出错概率。\n\n### 使用 io 后\n- **即连即用**：利用 `tfio.IODataset` 直接通过 URL 流式读取远程存储中的压缩视频或图像，无需任何本地下载步骤。\n- **原生格式支持**：io 自动识别并解压 gzip 等格式，直接解析多种音视频编码，将非标准文件无缝转换为 TensorFlow 张量。\n- **高效流式处理**：数据按需从网络流式传输，极大降低了本地存储压力和内存占用，显著提升数据吞吐效率。\n- **动态数据管道**：支持实时接入新增的远程数据文件，模型训练可立即响应数据更新，实现真正的端到端流水线。\n- **代码简洁统一**：数据加载完全融入 `tf.data` API 体系，仅需几行代码即可替换原有复杂逻辑，让训练脚本更专注模型本身。\n\nio 通过扩展文件系统协议和数据格式支持，将原本耗时数小时的数据准备过程缩减为秒级的流式读取，彻底释放了分布式数据训练的潜力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_io_5f646e3e.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,96,100,104,107,111,115],{"name":81,"color":82,"percentage":83},"C++","#f34b7d",50.6,{"name":85,"color":86,"percentage":87},"Python","#3572A5",42.5,{"name":89,"color":90,"percentage":91},"R","#198CE7",2.3,{"name":93,"color":94,"percentage":95},"Starlark","#76d275",2.1,{"name":97,"color":98,"percentage":99},"Shell","#89e051",1,{"name":101,"color":102,"percentage":103},"Swift","#F05138",0.5,{"name":105,"color":106,"percentage":103},"CSS","#663399",{"name":108,"color":109,"percentage":110},"JavaScript","#f1e05a",0.2,{"name":112,"color":113,"percentage":114},"Dockerfile","#384d54",0.1,{"name":116,"color":117,"percentage":114},"Go","#00ADD8",736,308,"2026-03-26T21:26:15","Apache-2.0","Linux, macOS, Windows","非必需。支持 CPU 和 GPU 环境。GPU 支持取决于安装的 TensorFlow 版本（如 tensorflow-gpu 或 tensorflow-rocm），README 未指定具体显卡型号、显存大小或 CUDA 版本要求。","未说明",{"notes":126,"python":127,"dependencies":128},"1. 核心依赖是 TensorFlow，必须安装与 tensorflow-io 版本严格对应的 TensorFlow 版本（例如 tensorflow-io 0.37.1 对应 TensorFlow 2.16.x）。2. Linux 构建基于 manylinux2010 标准（Ubuntu 16.04 + GCC 7.3）。3. 支持多种外部系统集成（如 Kafka, Prometheus, AWS Kinesis, Azure Storage 等），部分功能测试依赖实时系统或模拟器。4. 可通过 pip 直接安装，也提供 Docker 镜像和 R 语言包支持。","2.7, 3.5, 3.6, 3.7, 3.8 (根据 CI 测试覆盖范围，具体支持版本取决于安装的 wheel 包)",[129,130],"tensorflow (版本需严格匹配，见兼容性表)","tensorflow-io",[14,16],[130,72,133,134,135],"filesystem","dataset","streaming","2026-03-27T02:49:30.150509","2026-04-08T23:38:57.965744",[139,144,149,154,158,162],{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},25259,"如何在 Apple M1 (Apple Silicon) 上从源码构建 tensorflow-io？","在 Apple Silicon 上构建可能会遇到依赖问题。如果遇到 'no such package @bazel_skylib\u002F\u002Flib' 错误，需要在 tensorflow-io 的 WORKSPACE 文件中手动添加 bazel_skylib 的 http_archive 定义。此外，由于 TensorFlow 官方尚未完全支持 Apple Silicon，用户也可以直接从社区维护的仓库下载预编译的 .whl 文件进行安装，以避免复杂的构建过程。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fissues\u002F1643",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},25260,"为什么在 aarch64 (ARM64) 架构上导入 tensorflow_io 时会报错找不到 libtensorflow_io_plugins.so？","这是一个已知问题，特定版本的 `tensorflow-io-gcs-filesystem` 在 aarch64 架构的 wheel 包中缺失了 `libtensorflow_io_plugins.so` 动态库文件。这会导致导入时出现警告或错误。建议检查是否使用了不兼容的版本组合（如 tensorflow-aarch64 与特定版本的 io 包），或者尝试寻找包含完整文件的替代构建版本。该问题在 amd64 架构上通常不存在。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fissues\u002F1755",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},25261,"如何在 TensorFlow 的 tf.data.Dataset API 中使用 HDF5 文件？","tensorflow-io 提供了 `tfio.IOTensor.from_hdf5` 方法来加载 HDF5 文件。你可以结合 `tf.data.Dataset.list_files` 使用，例如：`files_ds.map(tfio.IOTensor.from_hdf5)`。请注意，早期版本中某些操作（如 `.numpy()`）可能仅在 eager mode（急切模式）下有效，在 graph mode（图模式）下可能会报错。如果遇到图模式兼容性问题，请确保升级到支持图模式的最新版本或查看相关跟踪 issue（如 #710）。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fissues\u002F174",{"id":155,"question_zh":156,"answer_zh":157,"source_url":143},25262,"在 Mac 上安装 tensorflow-io 时提示找不到 tensorflow-io-gcs-filesystem 依赖怎么办？","如果在 Mac (特别是 M1\u002FM2) 上使用 `python setup.py bdist_wheel` 构建后直接安装，可能会因为缺少预编译的 gcs-filesystem 依赖而失败。解决方法是使用 `pip install \u003C生成的.whl 文件> --no-deps` 跳过依赖检查进行安装。但需注意，跳过依赖可能导致运行时缺少动态库（.so 文件），此时可能需要手动构建缺失的组件或使用社区提供的完整预编译包。",{"id":159,"question_zh":160,"answer_zh":161,"source_url":148},25263,"如何解决在 Docker (linux\u002Farm64) 环境中使用 tensorflow-io 时的插件加载失败问题？","在 ARM64 架构的 Docker 容器中，如果使用的是 `tensorflow-aarch64` 搭配 `tensorflow-io-gcs-filesystem`，可能会因为 wheel 包内缺少 `libtensorflow_io_plugins.so` 和 `libtensorflow_io.so` 而导致加载失败。这通常是由于构建流程中未正确包含这些文件。临时解决方案是寻找修复了该问题的更新版本，或者从源码重新构建包含完整插件文件的 wheel 包。",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},25264,"tensorflow-io 的发布版本是如何管理的？如何获取最新的 Wheel 包？","tensorflow-io 会通过 GitHub Actions 自动将每个提交构建为 \"release\" 并推送到 Bintray（注：Bintray 已停用，现多指代 PyPI 或新的分发渠道）。用户可以关注项目的 Release 页面获取稳定的 .whl 文件。对于需要最新特性但未正式发布的用户，可以配置访问项目的持续集成产物下载链接，或者等待维护者在 PyPI 上推送新版本（如 0.6.0, 0.7.0 等）。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fio\u002Fissues\u002F235",[168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248,253,258,263],{"id":169,"version":170,"summary_zh":171,"released_at":172},154678,"v0.37.1","# 版本 0.37.1\n\n## 主要功能与错误修复\n* 修复元数据，以支持 Python 3.12\n* 解决 S3 相关问题\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nDi-Is、Douglas Yarrington\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2024-07-01T23:45:56",{"id":174,"version":175,"summary_zh":176,"released_at":177},154679,"v0.37.0","# 版本 0.37.0\n\n## 主要功能与错误修复\n* 更新至对 TensorFlow 2.16 的支持\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nYong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2024-05-01T02:14:32",{"id":179,"version":180,"summary_zh":181,"released_at":182},154680,"v0.36.0","# 版本 0.36.0\n\n## 主要功能与错误修复\n* 添加对 macOS arm64 的支持\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nYong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2024-02-06T04:35:56",{"id":184,"version":185,"summary_zh":186,"released_at":187},154681,"v0.35.0","# 版本 0.35.0\n\n## 主要功能与错误修复\n* 允许配置执行器池的大小\n* 更新为 manylinux2014 轮子\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nJoyce、Ukjae Jeong（Jay）、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2023-12-19T00:59:41",{"id":189,"version":190,"summary_zh":191,"released_at":192},154682,"v0.34.0","# 版本 0.34.0\n\n## 主要功能与错误修复\n* 添加对 macOS arm64 的支持\n* 修复在 S3 文件系统上的段错误\n\n## 感谢我们的贡献者\n\n本次发布包含了多位贡献者的成果：\n\nUkjae Jeong (Jay)、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决这些问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2023-09-08T15:59:39",{"id":194,"version":195,"summary_zh":196,"released_at":197},154683,"v0.33.0","# 版本 0.33.0\n\n## 主要功能与错误修复\n* 添加 AvroTensorDataset，支持将 Avro 数据转换为 TensorFlow 张量\n* 恢复 `S3_VERIFY_SSL` 环境变量\n* 添加 ATDSDataset 用户指南\n* 修复了 `rgb_to_ycbcr()` 和 `ycbcr_to_rgb()` 函数未将输出值限制在 `[0, 255]` 范围内的问题\n\n## 感谢我们的贡献者\n\n本次发布包含了众多贡献者的成果：\n\nFelix Sonntag、Jean-Baptiste Lespiau、Jonathan Hiles、Kamil Górzyński、\nLijuan Zhang、Mattia Lamberti、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2023-08-02T02:27:26",{"id":199,"version":200,"summary_zh":201,"released_at":202},154684,"v0.32.0","# 版本 0.32.0\n\n## 主要功能与错误修复\n* 在 dbscale 中添加了 ref 和 amin 参数\n* 更新了 aarch64 构建\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nAndrew Goodbody、Awsaf、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2023-03-29T02:39:56",{"id":204,"version":205,"summary_zh":206,"released_at":207},154685,"v0.31.0","# 版本 0.31.0\n\n## 主要功能与错误修复\n* 修复 HTTP 文件系统中的 isdir 问题\n\n## 感谢贡献者\n\n本版本包含了多位贡献者的成果：\n\nZhuo Peng、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2023-02-25T19:32:38",{"id":209,"version":210,"summary_zh":211,"released_at":212},154686,"v0.30.0","# 版本 0.30.0\n\n## 主要功能与错误修复\n* 修复了 Python 3.11 在 aarch64 架构上的支持问题\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nColin、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2023-01-21T14:21:58",{"id":214,"version":215,"summary_zh":216,"released_at":217},154687,"v0.29.0","# 版本 0.29.0\n\n## 主要功能与错误修复\n* 修复了 Python 3.11 支持中的问题\n\n## 感谢我们的贡献者\n\n本版本包含了多位贡献者的成果：\n\nAaron Keesing、Yong Tang\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、以及参与富有启发性讨论的各位。","2022-12-19T02:08:17",{"id":219,"version":220,"summary_zh":221,"released_at":222},154688,"v0.28.0","# Release 0.28.0\r\n\r\n## Major Features and Bug Fixes\r\n* Fixes OSS file system issue\r\n* Add python 3.11 support\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nJinhu Wu, Yong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.\r\n","2022-11-22T04:30:58",{"id":224,"version":225,"summary_zh":226,"released_at":227},154689,"v0.27.0","# Release 0.27.0\r\n\r\n## Major Features and Bug Fixes\r\n* Add arrow binary data type support\r\n* Add string support for feather file\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nYong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.\r\n","2022-09-08T23:03:47",{"id":229,"version":230,"summary_zh":231,"released_at":232},154690,"v0.26.0","# Release 0.26.0\r\n\r\n## Major Features and Bug Fixes\r\n* Updated arrow version to 7.0.0\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\n372046933, Colin, Yong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.\r\n","2022-05-18T01:03:25",{"id":234,"version":235,"summary_zh":236,"released_at":237},154691,"v0.25.0","# Release 0.25.0\r\n\r\n## Major Features and Bug Fixes\r\n* Decrease max bytes read from hdfs\r\n* Hide mongodb connection uri from being logged\r\n* Update log level from fetal to error when loading the libhdfs.so failed\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nJunfan Zhang, Stan Chen, Vignesh Kothapalli, Yong Tang, trabenx, yleeeee\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.\r\n","2022-04-21T16:25:12",{"id":239,"version":240,"summary_zh":241,"released_at":242},154692,"v0.24.0","# Release 0.24.0\r\n\r\n## Major Features and Bug Fixes\r\n* Added Bigtable dataset support.\r\n* Added tfio.audio.inverse_spectrogram.\r\n* Fixed decode_json empty lists segmentation issue.\r\n* Fix parquet unknown shape issue in graph execution.\r\n* Removed IgniteDataset.\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nAleksey Vlasenko, Andrew Goodbody, Douglas Coimbra de Andrade, Marek Dopiera,\r\nPierre Dulac, Vignesh Kothapalli, Yong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2022-02-04T22:19:51",{"id":244,"version":245,"summary_zh":246,"released_at":247},154693,"v0.23.1","# Release 0.23.1\r\n\r\n## Major Features and Bug Fixes\r\n* A bug preventing correct installation with python 3.10 has been fixed.\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nAleksey Vlasenko, Vignesh Kothapalli, Yong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2021-12-15T23:04:19",{"id":249,"version":250,"summary_zh":251,"released_at":252},154694,"v0.23.0","# Release 0.23.0\r\n\r\n## Bug Fixes\r\n* TensorFlow is not a hard requirement to tensorflow-io, to allow alternative\r\n  dependency packages like tensorflow-rocm.\r\n* Migrate azure blob storage binding to azure storage sdk.\r\n* Fix chunk size initialization in s3 storage.\r\n* Enable python 3.10 support.\r\n* IgniteDataset is deprecated and will be removed in future releases.\r\n* Adding an option to specify default values for nullable fields in BigQuery\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nAleksey Vlasenko, Jan Bernlöhr, Johnu George, Luca Toscano, Lukas Geiger,\r\nMark McDonald, Vansh Sharma, Vignesh Kothapalli, Yong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2021-12-14T15:10:25",{"id":254,"version":255,"summary_zh":256,"released_at":257},154695,"v0.22.0","# Release 0.22.0\r\n\r\n## Bug Fixes\r\n* Fix hdfs file system append error.\r\n* Add support for Azure Shared Access Signatures.\r\n* Fix several Azure file system related issues.\r\n* Update Dicom tutorial to include tag examples.\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nCheng Ren, Jan Bernlöhr, Vignesh Kothapalli, Yong Tang, Z_Wael\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2021-11-10T18:53:06",{"id":259,"version":260,"summary_zh":261,"released_at":262},154696,"v0.21.0","# Release 0.21.0\r\n\r\n## Bug Fixes\r\n* Fix temporary file issue in s3\r\n* Remove extra build directory in python pip packages.\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nMarcin Juszkiewicz, Mark Daoust, Vignesh Kothapalli, Yong Tang\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2021-09-13T03:24:54",{"id":264,"version":265,"summary_zh":266,"released_at":267},154697,"v0.20.0","# Release 0.20.0\r\n\r\n## Major Features\r\n* S3 and HDFS file system supports fully migrated from tensorflow to tensorflow-io package.\r\n* Add tutorial of MongoDB support with tensorflow-io.\r\n* Add tutorial of ORC support with tensorflow-io\r\n* Add batched string support for Apache Arrow.\r\n\r\n## Bug Fixes\r\n* Fix decode_video returning only the first frame.\r\n* Reset mongo cursor after reaching end of collection.\r\n\r\n## Thanks to our Contributors\r\n\r\nThis release contains contributions from many people:\r\n\r\nAleksey Vlasenko, Gerard Casas Saez, Keqiu Hu, Kota Yamaguchi,\r\nMark Daoust, Vignesh Kothapalli, Yong Tang, austinzh\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.\r\n","2021-08-12T03:38:51"]