[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-lyhue1991--eat_tensorflow2_in_30_days":3,"tool-lyhue1991--eat_tensorflow2_in_30_days":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":23,"env_os":95,"env_gpu":96,"env_ram":95,"env_deps":97,"category_tags":103,"github_topics":104,"view_count":23,"oss_zip_url":83,"oss_zip_packed_at":83,"status":16,"created_at":109,"updated_at":110,"faqs":111,"releases":152},3056,"lyhue1991\u002Feat_tensorflow2_in_30_days","eat_tensorflow2_in_30_days","Tensorflow2.0 🍎🍊 is delicious, just eat it! 😋😋","eat_tensorflow2_in_30_days 是一套专为快速掌握 TensorFlow 2.0 设计的系统化教程。它通过\"30 天吃掉”的趣味概念，将复杂的深度学习框架拆解为每日可执行的学习任务，帮助使用者从零构建知识体系或完成从旧版本到新版本的平滑迁移。\n\n该资源主要解决了开发者在面对 TensorFlow 2.0 重大更新时的学习曲线陡峭问题，以及工业界对模型高效部署的迫切需求。教程不仅提供了完整的 Jupyter Notebook 源码和数据集，还支持在和鲸社区云端直接运行，免去了繁琐的环境配置过程，让学习者能专注于代码逻辑与算法实现。\n\n这套教程特别适合两类人群：一是需要从事模型落地与工程部署的互联网企业工程师，因为国内多数企业生产环境更倾向于支持 TensorFlow；二是希望系统提升实战能力的进阶学习者。对于完全零基础的用户，作者建议搭配《Deep Learning with Python》一书共同阅读以培养直觉。\n\n其独特亮点在于清晰的路线规划与“美食”般的轻松叙事风格，同时强调了 tf.keras 作为官方推荐高阶 API 的重要性，引导用户摒弃已停止更新的独立","eat_tensorflow2_in_30_days 是一套专为快速掌握 TensorFlow 2.0 设计的系统化教程。它通过\"30 天吃掉”的趣味概念，将复杂的深度学习框架拆解为每日可执行的学习任务，帮助使用者从零构建知识体系或完成从旧版本到新版本的平滑迁移。\n\n该资源主要解决了开发者在面对 TensorFlow 2.0 重大更新时的学习曲线陡峭问题，以及工业界对模型高效部署的迫切需求。教程不仅提供了完整的 Jupyter Notebook 源码和数据集，还支持在和鲸社区云端直接运行，免去了繁琐的环境配置过程，让学习者能专注于代码逻辑与算法实现。\n\n这套教程特别适合两类人群：一是需要从事模型落地与工程部署的互联网企业工程师，因为国内多数企业生产环境更倾向于支持 TensorFlow；二是希望系统提升实战能力的进阶学习者。对于完全零基础的用户，作者建议搭配《Deep Learning with Python》一书共同阅读以培养直觉。\n\n其独特亮点在于清晰的路线规划与“美食”般的轻松叙事风格，同时强调了 tf.keras 作为官方推荐高阶 API 的重要性，引导用户摒弃已停止更新的独立 Keras 库。此外，项目还横向对比了 PyTorch 与 TensorFlow 的适用场景，帮助用户根据自己是偏向学术研究还是工程应用来制定最佳学习策略。","# How to eat TensorFlow2 in 30 days ?🔥🔥\n\nClick here for [Chinese Version（中文版）](#30天吃掉那只-tensorflow2)\n\n**《10天吃掉那只pyspark》**\n* 🚀 github项目地址: https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_pyspark_in_10_days\n* 🐳 和鲸专栏地址: https:\u002F\u002Fwww.heywhale.com\u002Fhome\u002Fcolumn\u002F5fe6aa955e24ed00302304e0 【代码可直接fork后云端运行，无需配置环境】\n\n\n**《20天吃掉那只Pytorch》**\n* 🚀 github项目地址: https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_pytorch_in_20_days\n* 🐳 和鲸专栏地址: https:\u002F\u002Fwww.heywhale.com\u002Fhome\u002Fcolumn\u002F5f2ac5d8af3980002cb1bc08 【代码可直接fork后云端运行，无需配置环境】\n\n\n**《30天吃掉那只TensorFlow2》**\n* 🚀 github项目地址: https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\n* 🐳 和鲸专栏地址: https:\u002F\u002Fwww.heywhale.com\u002Fhome\u002Fcolumn\u002F5d8ef3c3037db3002d3aa3a0 【代码可直接fork后云端运行，无需配置环境】\n\n**极速通道** \n*  🚀 公众号 “**算法美食屋**” 后台回复暗号：\"**吃货来了**\"\n*  😋 获取以上3套教程的jupyter notebook 源码文件以及全部数据集的百度云盘下载链接。\n*   https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FymLtH5BqlWAkpOmCLQOYxw \n\n\n### 1. TensorFlow2 🍎 or Pytorch🔥\n\nConclusion first: \n\n**For the engineers, priority goes to TensorFlow2.**\n\n**For the students and researchers，first choice should be Pytorch.**\n\n**The best way is to master both of them if having sufficient time.**\n\n\nReasons:\n\n* 1. **Model implementation is the most important in the industry. Deployment supporting tensorflow models (not Pytorch) exclusively is the present situation in the majority of the Internet enterprises in China.** What's more, the industry prefers the models with higher availability; in most cases, they use well-validated modeling architectures with the minimized requirements of adjustment.\n\n\n* 2. **Fast iterative development and publication is the most important for the researchers since they need to test a lot of new models. Pytorch has advantages in accessing and debugging comparing with TensorFlow2.** Pytorch is most frequently used in academy since 2019 with a large amount of the cutting-edge results.\n\n\n* 3. Overall, TensorFlow2 and Pytorch are quite similar in programming nowadays, so mastering one helps learning the other. Mastering both framework provides you a lot more open-sourced models and helps you switching between them.\n\n```python\n\n```\n\n### 2. Keras🍏 and tf.keras 🍎\n\nConclusion first: \n\n**Keras will be discontinued in development after version 2.3.0, so use tf.keras.**\n\n\nKeras is a high-level API for the deep learning frameworks. It help the users to define and training DL networks with a more intuitive way.\n\nThe Keras libraries installed by pip implement this high-level API for the backends in tensorflow, theano, CNTK, etc.\n\ntf.keras is the high-level API just for Tensorflow, which is based on low-level APIs in Tensorflow.\n\nMost but not all of the functions in tf.keras are the same for those in Keras (which is compatible to many kinds of backend). tf.keras has a tighter combination to TensorFlow comparing to Keras.\n\nWith the acquisition by Google, Keras will not update after version 2.3.0 , thus the users should use tf.keras from now on, instead of using Keras installed by pip.\n\n```python\n\n```\n\n### 3. What Should You Know Before Reading This Book 📖?\n\n**It is suggested that the readers have foundamental knowledges of machine\u002Fdeep learning and experience of modeling using Keras or TensorFlow 1.0.**\n\n**For those who have zero experience of machine\u002Fdeep learning, it is strongly suggested to refer to [\"Deep Learning with Python\"](https:\u002F\u002Fwww.amazon.com\u002FDeep-Learning-Python-Francois-Chollet\u002Fdp\u002F1617294438\u002Fref=sr_1_1?dchild=1&keywords=Deep+Learning+with+Python&qid=1586194568&sr=8-1) along with reading this book.**\n\n\n[\"Deep Learning with Python\"](https:\u002F\u002Fwww.amazon.com\u002FDeep-Learning-Python-Francois-Chollet\u002Fdp\u002F1617294438\u002Fref=sr_1_1?dchild=1&keywords=Deep+Learning+with+Python&qid=1586194568&sr=8-1) is written by François Chollet, the inventor of Keras. This book is based on Keras and has no machine learning related prerequisites to the reader.\n\n\"Deep Learning with Python\" is easy to understand as it uses various examples to demonstrate. **No mathematical equation is in this book since it focuses on cultivating the intuitive to the deep learning.**\n\n\n```python\n\n```\n\n### 4. Writing Style 🍉 of This Book\n\n\n**This is a introduction reference book which is extremely friendly to human being. The lowest goal of the authors is to avoid giving up due to the difficulties, while \"Don't let the readers think\" is the highest target.**\n\nThis book is mainly based on the official documents of TensorFlow together with its functions.\n\nHowever, the authors made a thorough restructuring and a lot optimizations on the demonstrations.\n\nIt is different from the official documents, which is disordered and contains both tutorial and guidance with lack of systematic logic, that our book redesigns the content according to the difficulties, readers' searching habits, and the architecture of TensorFlow. We now make it progressive for TensorFlow studying with a clear path, and an easy access to the corresponding examples.\n\nIn contrast to the verbose demonstrating code, the authors of this book try to minimize the length of the examples to make it easy for reading and implementation. What's more, most of the code cells can be used in your project instantaneously.\n\n**Given the level of difficulty as 9 for learning Tensorflow through official documents, it would be reduced to 3 if learning through this book.**\n\nThis difference in difficulties could be demonstrated as the following figure:\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_903ae4272fdd.jpg)\n\n\n```python\n\n```\n\n### 5. How to Learn With This Book ⏰\n\n**(1) Study Plan**\n\nThe authors wrote this book using the spare time, especially the two-month unexpected \"holiday\" of COVID-19. Most readers should be able to completely master all the content within 30 days.\n\nTime required everyday would be between 30 minutes to 2 hours.\n\nThis book could also be used as library examples to consult when implementing machine learning projects with TensorFlow2.\n\n**Click the blue captions to enter the corresponding chapter.**\n\n\n|Date |Contents                                                       | Difficulties   | Est. Time | Update Status|\n|----:|:--------------------------------------------------------------|-----------:|----------:|-----:|\n|&nbsp;|[**Chapter 1: Modeling Procedure of TensorFlow**](.\u002Fenglish\u002FChapter1.md)    |⭐️   |   0hour   |✅    |\n|Day 1 |  [1-1 Example: Modeling Procedure for Structured Data](.\u002Fenglish\u002FChapter1-1.md)    | ⭐️⭐️⭐️ |   1hour    |✅    |\n|Day 2 |[1-2 Example: Modeling Procedure for Images](.\u002Fenglish\u002FChapter1-2.md)    | ⭐️⭐️⭐️⭐️  |   2hours    |✅    |\n|Day 3 |  [1-3 Example: Modeling Procedure for Texts](.\u002Fenglish\u002FChapter1-3.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2hours    |✅    |\n|Day 4 |  [1-4 Example: Modeling Procedure for Temporal Sequences](.\u002Fenglish\u002FChapter1-4.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2hours    |✅    |\n|&nbsp;    |[**Chapter 2: Key Concepts of TensorFlow**](.\u002Fenglish\u002FChapter2.md)  | ⭐️  |  0hour |✅  |\n|Day 5 |  [2-1 Data Structure of Tensor](.\u002Fenglish\u002FChapter2-1.md)  | ⭐️⭐️⭐️⭐️   |   1hour    |✅    |\n|Day 6 |  [2-2 Three Types of Graph](.\u002Fenglish\u002FChapter2-2.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2hours    |✅    |\n|Day 7 |  [2-3 Automatic Differentiate](.\u002Fenglish\u002FChapter2-3.md)  | ⭐️⭐️⭐️   |   1hour    |✅    |\n|&nbsp; |[**Chapter 3: Hierarchy of TensorFlow**](.\u002Fenglish\u002FChapter3.md) |   ⭐️  |  0hour   |✅  |\n|Day 8 |  [3-1 Low-level API: Demonstration](.\u002Fenglish\u002FChapter3-1.md)   | ⭐️⭐️⭐️⭐️ |   1hour    |✅   |\n|Day 9 |  [3-2 Mid-level API: Demonstration](.\u002Fenglish\u002FChapter3-2.md)   | ⭐️⭐️⭐️   |   1hour    |✅  |\n|Day 10 |  [3-3 High-level API: Demonstration](.\u002Fenglish\u002FChapter3-3.md)  | ⭐️⭐️⭐️   |   1hour    |✅  |\n|&nbsp; |[**Chapter 4: Low-level API in TensorFlow**](.\u002Fenglish\u002FChapter4.md) |⭐️    | 0hour|✅  |\n|Day 11|  [4-1 Structural Operations of the Tensor](.\u002Fenglish\u002FChapter4-1.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2hours    |✅   |\n|Day 12|  [4-2 Mathematical Operations of the Tensor](.\u002Fenglish\u002FChapter4-2.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅  |\n|Day 13|  [4-3 Rules of Using the AutoGraph](.\u002Fenglish\u002FChapter4-3.md)| ⭐️⭐️⭐️   |   0.5hour    | ✅  |\n|Day 14|  [4-4 Mechanisms of the AutoGraph](.\u002Fenglish\u002FChapter4-4.md)    | ⭐️⭐️⭐️⭐️⭐️   |   2hours    |✅  |\n|Day 15|  [4-5 AutoGraph and tf.Module](.\u002Fenglish\u002FChapter4-5.md)  | ⭐️⭐️⭐️⭐️   |   1hour    |✅  |\n|&nbsp; |[**Chapter 5: Mid-level API in TensorFlow**](.\u002Fenglish\u002FChapter5.md) |  ⭐️  | 0hour|✅ |\n|Day 16|  [5-1 Dataset](.\u002Fenglish\u002FChapter5-1.md)   | ⭐️⭐️⭐️⭐️⭐️   |   2hours    |✅  |\n|Day 17|  [5-2 feature_column](.\u002Fenglish\u002FChapter5-2.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅  |\n|Day 18|  [5-3 activation](.\u002Fenglish\u002FChapter5-3.md)    | ⭐️⭐️⭐️   |   0.5hour    |✅   |\n|Day 19|  [5-4 layers](.\u002Fenglish\u002FChapter5-4.md)  | ⭐️⭐️⭐️   |   1hour    |✅  |\n|Day 20|  [5-5 losses](.\u002Fenglish\u002FChapter5-5.md)    | ⭐️⭐️⭐️   |   1hour    |✅  |\n|Day 21|  [5-6 metrics](.\u002Fenglish\u002FChapter5-6.md)    | ⭐️⭐️⭐️   |   1hour    |✅   |\n|Day 22|  [5-7 optimizers](.\u002Fenglish\u002FChapter5-7.md)    | ⭐️⭐️⭐️   |   0.5hour    |✅   |\n|Day 23|  [5-8 callbacks](.\u002Fenglish\u002FChapter5-8.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅   |\n|&nbsp; |[**Chapter 6: High-level API in TensorFlow**](.\u002Fenglish\u002FChapter6.md)|    ⭐️ | 0hour|✅  |\n|Day 24|  [6-1 Three Ways of Modeling](.\u002Fenglish\u002FChapter6-1.md)   | ⭐️⭐️⭐️   |   1hour    |✅ |\n|Day 25|  [6-2 Three Ways of Training](.\u002Fenglish\u002FChapter6-2.md)  | ⭐️⭐️⭐️⭐️   |   1hour    |✅   |\n|Day 26|  [6-3 Model Training Using Single GPU](.\u002Fenglish\u002FChapter6-3.md)    | ⭐️⭐️   |   0.5hour    |✅   |\n|Day 27|  [6-4 Model Training Using Multiple GPUs](.\u002Fenglish\u002FChapter6-4.md)    | ⭐️⭐️   |   0.5hour    |✅  |\n|Day 28|  [6-5 Model Training Using TPU](.\u002Fenglish\u002FChapter6-5.md)   | ⭐️⭐️   |   0.5hour    |✅  |\n|Day 29| [6-6 Model Deploying Using tensorflow-serving](.\u002Fenglish\u002FChapter6-6.md) | ⭐️⭐️⭐️⭐️| 1hour |✅   |\n|Day 30| [6-7 Call Tensorflow Model Using spark-scala](.\u002Fenglish\u002FChapter6-7.md) | ⭐️⭐️⭐️⭐️⭐️|2hours|✅  |\n|&nbsp;| [Epilogue: A Story Between a Foodie and Cuisine](.\u002Fenglish\u002FEpilogue.md) | ⭐️|0hour|✅  |\n\n```python\n\n```\n\n**(2) Software environment for studying**\n\n\nAll the source codes are tested in jupyter. It is suggested to clone the repository to local machine and run them in jupyter for an interactive learning experience.\n\nThe authors would suggest to install jupytext that converts markdown files into ipynb, so the readers would be able to open markdown files in jupyter directly.\n\n```python\n#For the readers in mainland China, using gitee will allow cloning with a faster speed\n#!git clone https:\u002F\u002Fgitee.com\u002FPython_Ai_Road\u002Feat_tensorflow2_in_30_days\n\n#It is suggested to install jupytext that converts and run markdown files as ipynb.\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -U jupytext\n    \n#It is also suggested to install the latest version of TensorFlow to test the demonstrating code in this book\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple  -U tensorflow\n```\n\n```python\nimport tensorflow as tf\n\n#Note: all the codes are tested under TensorFlow 2.1\ntf.print(\"tensorflow version:\",tf.__version__)\n\na = tf.constant(\"hello\")\nb = tf.constant(\"tensorflow2\")\nc = tf.strings.join([a,b],\" \")\ntf.print(c)\n```\n\n```\ntensorflow version: 2.1.0\nhello tensorflow2\n```\n\n```python\n\n```\n\n### 6. Contact and support the author 🎈🎈\n\n\n**If you find this book helpful and want to support the author, please give a star ⭐️ to this repository and don't forget to share it to your friends 😊** \n\nPlease leave comments in the WeChat official account \"算法美食屋\" (Machine Learning  cook house) if you want to communicate with the author about the content. The author will try best to reply given the limited time available.\n\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_f8a13fd9817a.jpg)\n\n```python\n\n```\n# 30天吃掉那只 TensorFlow2\n\n📚 gitbook电子书地址： https:\u002F\u002Flyhue1991.github.io\u002Feat_tensorflow2_in_30_days\n\n🚀 github项目地址：https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\n\n🐳 kesci专栏地址：https:\u002F\u002Fwww.kesci.com\u002Fhome\u002Fcolumn\u002F5d8ef3c3037db3002d3aa3a0\n\n**极速通道** \n*  🚀 公众号 “**算法美食屋**” 后台回复暗号：\"**吃货来了**\"\n*  😋 获取教程的jupyter notebook 源码文件以及全部数据集的百度云盘下载链接。\n*  https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FymLtH5BqlWAkpOmCLQOYxw\n\n\n\n### 一，TensorFlow2 🍎 or Pytorch🔥\n\n先说结论:\n\n**如果是工程师，应该优先选TensorFlow2.**\n\n**如果是学生或者研究人员，应该优先选择Pytorch.**\n\n**如果时间足够，最好TensorFlow2和Pytorch都要学习掌握。**\n\n\n理由如下：\n\n* 1，**在工业界最重要的是模型落地，目前国内的大部分互联网企业只支持TensorFlow模型的在线部署，不支持Pytorch。** 并且工业界更加注重的是模型的高可用性，许多时候使用的都是成熟的模型架构，调试需求并不大。\n\n\n* 2，**研究人员最重要的是快速迭代发表文章，需要尝试一些较新的模型架构。而Pytorch在易用性上相比TensorFlow2有一些优势，更加方便调试。** 并且在2019年以来在学术界占领了大半壁江山，能够找到的相应最新研究成果更多。\n\n\n* 3，TensorFlow2和Pytorch实际上整体风格已经非常相似了，学会了其中一个，学习另外一个将比较容易。两种框架都掌握的话，能够参考的开源模型案例更多，并且可以方便地在两种框架之间切换。\n\n```python\n\n```\n\n### 二，Keras🍏 and  tf.keras 🍎\n\n先说结论：\n\n**Keras库在2.3.0版本后将不再更新，用户应该使用tf.keras。**\n\n\nKeras可以看成是一种深度学习框架的高阶接口规范，它帮助用户以更简洁的形式定义和训练深度学习网络。\n\n使用pip安装的Keras库同时在tensorflow,theano,CNTK等后端基础上进行了这种高阶接口规范的实现。\n\n而tf.keras是在TensorFlow中以TensorFlow低阶API为基础实现的这种高阶接口，它是Tensorflow的一个子模块。\n\ntf.keras绝大部分功能和兼容多种后端的Keras库用法完全一样，但并非全部，它和TensorFlow之间的结合更为紧密。\n\n随着谷歌对Keras的收购，Keras库2.3.0版本后也将不再进行更新，用户应当使用tf.keras而不是使用pip安装的Keras.\n\n```python\n\n```\n\n### 三，本书📖面向读者 👼\n\n\n**本书假定读者有一定的机器学习和深度学习基础，使用过Keras或者Tensorflow1.0或者Pytorch搭建训练过模型。**\n\n**对于没有任何机器学习和深度学习基础的同学，建议在学习本书时同步参考学习《Python深度学习》一书。**\n\n《Python深度学习》这本书是Keras之父Francois Chollet所著，该书假定读者无任何机器学习知识，以Keras为工具，\n\n使用丰富的范例示范深度学习的最佳实践，该书通俗易懂，**全书没有一个数学公式，注重培养读者的深度学习直觉。**。\n\n```python\n\n```\n\n### 四，本书写作风格 🍉\n\n\n**本书是一本对人类用户极其友善的TensorFlow2.0入门工具书，不刻意恶心读者是本书的底限要求，Don't let me think是本书的最高追求。**\n\n本书主要是在参考TensorFlow官方文档和函数doc文档基础上整理写成的。\n\n但本书在篇章结构和范例选取上做了大量的优化。\n\n不同于官方文档混乱的篇章结构，既有教程又有指南，缺少整体的编排逻辑。\n\n本书按照内容难易程度、读者检索习惯和TensorFlow自身的层次结构设计内容，循序渐进，层次清晰，方便按照功能查找相应范例。\n\n不同于官方文档冗长的范例代码，本书在范例设计上尽可能简约化和结构化，增强范例易读性和通用性，大部分代码片段在实践中可即取即用。\n\n**如果说通过学习TensorFlow官方文档掌握TensorFlow2.0的难度大概是9的话，那么通过学习本书掌握TensorFlow2.0的难度应该大概是3.**\n\n谨以下图对比一下TensorFlow官方教程与本教程的差异。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_1f470840b018.jpg)\n\n\n```python\n\n```\n\n### 五，本书学习方案 ⏰\n\n**1，学习计划**\n\n本书是作者利用工作之余和疫情放假期间大概2个月写成的，大部分读者应该在30天可以完全学会。\n\n预计每天花费的学习时间在30分钟到2个小时之间。\n\n当然，本书也非常适合作为TensorFlow的工具手册在工程落地时作为范例库参考。\n\n**点击学习内容蓝色标题即可进入该章节。**\n\n\n|日期 | 学习内容                                                       | 内容难度   | 预计学习时间 | 更新状态|\n|----:|:--------------------------------------------------------------|-----------:|----------:|-----:|\n|&nbsp;|[**一、TensorFlow的建模流程**](.\u002F一、TensorFlow的建模流程.md)    |⭐️   |   0hour   |✅    |\n|day1 |  [1-1,结构化数据建模流程范例](.\u002F1-1,结构化数据建模流程范例.md)    | ⭐️⭐️⭐️ |   1hour    |✅    |\n|day2 |[1-2,图片数据建模流程范例](.\u002F1-2,图片数据建模流程范例.md)    | ⭐️⭐️⭐️⭐️  |   2hour    |✅    |\n|day3 |  [1-3,文本数据建模流程范例](.\u002F1-3,文本数据建模流程范例.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2hour    |✅    |\n|day4 |  [1-4,时间序列数据建模流程范例](.\u002F1-4,时间序列数据建模流程范例.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2hour    |✅    |\n|&nbsp;    |[**二、TensorFlow的核心概念**](.\u002F二、TensorFlow的核心概念.md)  | ⭐️  |  0hour |✅  |\n|day5 |  [2-1,张量数据结构](.\u002F2-1,张量数据结构.md)  | ⭐️⭐️⭐️⭐️   |   1hour    |✅    |\n|day6 |  [2-2,三种计算图](.\u002F2-2,三种计算图.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2hour    |✅    |\n|day7 |  [2-3,自动微分机制](.\u002F2-3,自动微分机制.md)  | ⭐️⭐️⭐️   |   1hour    |✅    |\n|&nbsp; |[**三、TensorFlow的层次结构**](.\u002F三、TensorFlow的层次结构.md) |   ⭐️  |  0hour   |✅  |\n|day8 |  [3-1,低阶API示范](.\u002F3-1,低阶API示范.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅   |\n|day9 |  [3-2,中阶API示范](.\u002F3-2,中阶API示范.md)   | ⭐️⭐️⭐️   |  1hour    |✅  |\n|day10 |  [3-3,高阶API示范](.\u002F3-3,高阶API示范.md)  | ⭐️⭐️⭐️  |   1hour    |✅  |\n|&nbsp; |[**四、TensorFlow的低阶API**](.\u002F四、TensorFlow的低阶API.md) |⭐️    | 0hour|✅  |\n|day11|  [4-1,张量的结构操作](.\u002F4-1,张量的结构操作.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2hour    |✅   |\n|day12|  [4-2,张量的数学运算](.\u002F4-2,张量的数学运算.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅  |\n|day13|  [4-3,AutoGraph的使用规范](.\u002F4-3,AutoGraph的使用规范.md)| ⭐️⭐️⭐️   |   0.5hour    |✅  |\n|day14|  [4-4,AutoGraph的机制原理](.\u002F4-4,AutoGraph的机制原理.md)    | ⭐️⭐️⭐️⭐️⭐️   |   2hour    |✅  |\n|day15|  [4-5,AutoGraph和tf.Module](.\u002F4-5,AutoGraph和tf.Module.md)  | ⭐️⭐️⭐️⭐️   |   1hour    |✅  |\n|&nbsp; |[**五、TensorFlow的中阶API**](.\u002F五、TensorFlow的中阶API.md) |  ⭐️  | 0hour|✅ |\n|day16|  [5-1,数据管道Dataset](.\u002F5-1,数据管道Dataset.md)   | ⭐️⭐️⭐️⭐️⭐️   |   2hour    |✅  |\n|day17|  [5-2,特征列feature_column](.\u002F5-2,特征列feature_column.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅  |\n|day18|  [5-3,激活函数activation](.\u002F5-3,激活函数activation.md)    | ⭐️⭐️⭐️   |   0.5hour    |✅   |\n|day19|  [5-4,模型层layers](.\u002F5-4,模型层layers.md)  | ⭐️⭐️⭐️   |   1hour    |✅  |\n|day20|  [5-5,损失函数losses](.\u002F5-5,损失函数losses.md)    | ⭐️⭐️⭐️   |   1hour    |✅  |\n|day21|  [5-6,评估指标metrics](.\u002F5-6,评估指标metrics.md)    | ⭐️⭐️⭐️   |   1hour    |✅   |\n|day22|  [5-7,优化器optimizers](.\u002F5-7,优化器optimizers.md)    | ⭐️⭐️⭐️   |   0.5hour    |✅   |\n|day23|  [5-8,回调函数callbacks](.\u002F5-8,回调函数callbacks.md)   | ⭐️⭐️⭐️⭐️   |   1hour    |✅   |\n|&nbsp; |[**六、TensorFlow的高阶API**](.\u002F六、TensorFlow的高阶API.md)|    ⭐️ | 0hour|✅  |\n|day24|  [6-1,构建模型的3种方法](.\u002F6-1,构建模型的3种方法.md)   | ⭐️⭐️⭐️   |   1hour    |✅ |\n|day25|  [6-2,训练模型的3种方法](.\u002F6-2,训练模型的3种方法.md)  | ⭐️⭐️⭐️⭐️   |   1hour    |✅   |\n|day26|  [6-3,使用单GPU训练模型](.\u002F6-3,使用单GPU训练模型.md)    | ⭐️⭐️   |   0.5hour    |✅   |\n|day27|  [6-4,使用多GPU训练模型](.\u002F6-4,使用多GPU训练模型.md)    | ⭐️⭐️   |   0.5hour    |✅  |\n|day28|  [6-5,使用TPU训练模型](.\u002F6-5,使用TPU训练模型.md)   | ⭐️⭐️   |   0.5hour    |✅  |\n|day29| [6-6,使用tensorflow-serving部署模型](.\u002F6-6,使用tensorflow-serving部署模型.md) | ⭐️⭐️⭐️⭐️| 1hour |✅   |\n|day30| [6-7,使用spark-scala调用tensorflow模型](.\u002F6-7,使用spark-scala调用tensorflow模型.md) | ⭐️⭐️⭐️⭐️⭐️|2hour|✅  |\n|&nbsp;| [后记：一个吃货和一道菜的故事](.\u002F后记：一个吃货和一道菜的故事.md) | ⭐️|0hour|✅  |\n\n\n```python\n\n```\n\n**2，学习环境**\n\n\n本书全部源码在jupyter中编写测试通过，建议通过git克隆到本地，并在jupyter中交互式运行学习。\n\n为了直接能够在jupyter中打开markdown文件，建议安装jupytext，将markdown转换成ipynb文件。\n\n**此外，本项目也与和鲸社区达成了合作，可以在和鲸专栏fork本项目，并直接在云笔记本上运行代码，避免环境配置痛苦。** \n\n🐳和鲸专栏地址：https:\u002F\u002Fwww.kesci.com\u002Fhome\u002Fcolumn\u002F5d8ef3c3037db3002d3aa3a0\n\n```python\n#克隆本书源码到本地,使用码云镜像仓库国内下载速度更快\n#!git clone https:\u002F\u002Fgitee.com\u002FPython_Ai_Road\u002Feat_tensorflow2_in_30_days\n\n#建议在jupyter notebook 上安装jupytext，以便能够将本书各章节markdown文件视作ipynb文件运行\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -U jupytext\n    \n#建议在jupyter notebook 上安装最新版本tensorflow 测试本书中的代码\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple  -U tensorflow\n```\n\n```python\nimport tensorflow as tf\n\n#注：本书全部代码在tensorflow 2.1版本测试通过\ntf.print(\"tensorflow version:\",tf.__version__)\n\na = tf.constant(\"hello\")\nb = tf.constant(\"tensorflow2\")\nc = tf.strings.join([a,b],\" \")\ntf.print(c)\n```\n\n```\ntensorflow version: 2.1.0\nhello tensorflow2\n```\n\n\n\n\n```python\n\n```\n\n### 六，鼓励和联系作者 🎈🎈\n\n\n**如果本书对你有所帮助，想鼓励一下作者，记得给本项目加一颗星星star⭐️，并分享给你的朋友们喔😊!** \n\n如果对本书内容理解上有需要进一步和作者交流的地方，欢迎在公众号\"算法美食屋\"下留言。作者时间和精力有限，会酌情予以回复。\n\n也可以在公众号后台回复关键字：**加群**，加入读者交流群和大家讨论。\n\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_f8a13fd9817a.jpg)\n\n```python\n\n```\n","# 如何在30天内“吃掉”TensorFlow 2？🔥🔥\n\n点击此处查看[中文版](#30天吃掉那只-tensorflow2)\n\n**《10天吃掉那只pyspark》**\n* 🚀 GitHub项目地址: https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_pyspark_in_10_days\n* 🐳 和鲸专栏地址: https:\u002F\u002Fwww.heywhale.com\u002Fhome\u002Fcolumn\u002F5fe6aa955e24ed00302304e0 【代码可直接fork后云端运行，无需配置环境】\n\n\n**《20天吃掉那只Pytorch》**\n* 🚀 GitHub项目地址: https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_pytorch_in_20_days\n* 🐳 和鲸专栏地址: https:\u002F\u002Fwww.heywhale.com\u002Fhome\u002Fcolumn\u002F5f2ac5d8af3980002cb1bc08 【代码可直接fork后云端运行，无需配置环境】\n\n\n**《30天吃掉那只TensorFlow2》**\n* 🚀 GitHub项目地址: https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\n* 🐳 和鲸专栏地址: https:\u002F\u002Fwww.heywhale.com\u002Fhome\u002Fcolumn\u002F5d8ef3c3037db3002d3aa3a0 【代码可直接fork后云端运行，无需配置环境】\n\n**极速通道** \n*  🚀 公众号 “**算法美食屋**” 后台回复暗号：\"**吃货来了**\"\n*  😋 获取以上3套教程的jupyter notebook 源码文件以及全部数据集的百度云盘下载链接。\n*   https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FymLtH5BqlWAkpOmCLQOYxw \n\n\n### 1. TensorFlow2 🍎 或 Pytorch🔥\n\n结论先说：\n\n**对于工程师来说，优先选择TensorFlow2。**\n\n**对于学生和研究人员而言，首选应该是Pytorch。**\n\n**如果时间允许，最好同时掌握这两者。**\n\n\n原因如下：\n\n* 1. **在工业界，模型实现是最重要的。目前，中国大多数互联网企业都只支持部署TensorFlow模型（而非Pytorch）。** 此外，业界更倾向于高可用性的模型；在大多数情况下，他们会使用经过充分验证、调整需求最小化的成熟建模架构。\n\n\n* 2. **对于研究人员来说，快速迭代开发和发表成果最为重要，因为他们需要测试大量新模型。与TensorFlow2相比，Pytorch在访问和调试方面更具优势。** 自2019年以来，Pytorch在学术界被广泛使用，并产生了大量前沿研究成果。\n\n\n* 3. 总体而言，如今TensorFlow2和Pytorch在编程上非常相似，因此掌握其中一个有助于学习另一个。同时掌握这两个框架可以让你接触到更多开源模型，并帮助你在两者之间灵活切换。\n\n```python\n\n```\n\n### 2. Keras🍏与tf.keras 🍎\n\n结论先说：\n\n**Keras将在2.3.0版本后停止开发，因此请使用tf.keras。**\n\n\nKeras是一个用于深度学习框架的高级API。它可以帮助用户以更直观的方式定义和训练深度学习网络。\n\n通过pip安装的Keras库实现了针对TensorFlow、Theano、CNTK等后端的高级API。\n\n而tf.keras则是专为TensorFlow设计的高级API，基于TensorFlow的低级API构建。\n\ntf.keras中的大多数函数与Keras中的函数相同（尽管Keras兼容多种后端），但tf.keras与TensorFlow的结合更为紧密，优于Keras。\n\n由于已被Google收购，Keras将在2.3.0版本后不再更新，因此用户应从现在起使用tf.keras，而不是通过pip安装的Keras。\n\n```python\n\n```\n\n### 3. 阅读本书前你需要了解什么📖？\n\n**建议读者具备机器学习\u002F深度学习的基础知识，并有使用Keras或TensorFlow 1.0进行建模的经验。**\n\n**对于完全没有机器学习\u002F深度学习经验的读者，强烈建议在阅读本书之前先参考《Python深度学习》（https:\u002F\u002Fwww.amazon.com\u002FDeep-Learning-Python-Francois-Chollet\u002Fdp\u002F1617294438\u002Fref=sr_1_1?dchild=1&keywords=Deep+Learning+with+Python&qid=1586194568&sr=8-1）。**\n\n\n《Python深度学习》由Keras的发明者弗朗索瓦·乔莱特撰写。这本书基于Keras，对读者没有任何机器学习相关的先决条件。\n\n《Python深度学习》通俗易懂，书中通过大量实例进行讲解。**全书未涉及任何数学公式，而是着重培养读者对深度学习的直观理解。**\n\n\n```python\n\n```\n\n### 4. 本书的写作风格🍉\n\n\n**这是一本极其友好的入门参考书。作者的最低目标是避免因困难而放弃，而最高目标则是“不让读者思考”。**\n\n本书主要基于TensorFlow的官方文档及其相关功能。\n\n然而，作者对演示内容进行了彻底重构和大量优化。\n\n与官方文档相比——后者内容杂乱无章，兼具教程与指南，缺乏系统逻辑——我们的书籍按照难度、读者的搜索习惯以及TensorFlow的架构重新设计了内容。现在，我们使TensorFlow的学习过程循序渐进、路径清晰，并且能够轻松找到相应的示例。\n\n此外，相较于冗长的演示代码，本书作者尽量缩短示例长度，以便于阅读和实施。更重要的是，大多数代码单元都可以立即应用于你的项目中。\n\n**如果通过官方文档学习TensorFlow的难度为9分，那么通过本书学习则会降至3分。**\n\n这种难度差异可以用下图来展示：\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_903ae4272fdd.jpg)\n\n\n```python\n\n```\n\n### 5. 如何使用本书学习 ⏰\n\n**(1) 学习计划**\n\n作者利用业余时间编写了本书，尤其是在新冠疫情带来的两个月意外“假期”期间。大多数读者应该能够在30天内完全掌握所有内容。\n\n每天所需时间在30分钟到2小时之间。\n\n本书也可以作为库中的示例，在使用TensorFlow 2实施机器学习项目时进行查阅。\n\n**点击蓝色标题进入相应章节。**\n\n\n|日期 |内容                                                       | 难度   | 预计时间 | 更新状态|\n|----:|:--------------------------------------------------------------|-----------:|----------:|-----:|\n|&nbsp;|[**第1章：TensorFlow建模流程**](.\u002Fenglish\u002FChapter1.md)    |⭐️   |   0小时   |✅    |\n|第1天 |  [1-1 示例：结构化数据的建模流程](.\u002Fenglish\u002FChapter1-1.md)    | ⭐️⭐️⭐️ |   1小时    |✅    |\n|第2天 |[1-2 示例：图像的建模流程](.\u002Fenglish\u002FChapter1-2.md)    | ⭐️⭐️⭐️⭐️  |   2小时    |✅    |\n|第3天 |  [1-3 示例：文本的建模流程](.\u002Fenglish\u002FChapter1-3.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2小时    |✅    |\n|第4天 |  [1-4 示例：时间序列的建模流程](.\u002Fenglish\u002FChapter1-4.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2小时    |✅    |\n|&nbsp;    |[**第2章：TensorFlow关键概念**](.\u002Fenglish\u002FChapter2.md)  | ⭐️  |  0小时 |✅  |\n|第5天 |  [2-1 张量的数据结构](.\u002Fenglish\u002FChapter2-1.md)  | ⭐️⭐️⭐️⭐️   |   1小时    |✅    |\n|第6天 |  [2-2 图的三种类型](.\u002Fenglish\u002FChapter2-2.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅    |\n|第7天 |  [2-3 自动微分](.\u002Fenglish\u002FChapter2-3.md)  | ⭐️⭐️⭐️   |   1小时    |✅    |\n|&nbsp; |[**第3章：TensorFlow的层次结构**](.\u002Fenglish\u002FChapter3.md) |   ⭐️  |  0小时   |✅  |\n|第8天 |  [3-1 低阶API：演示](.\u002Fenglish\u002FChapter3-1.md)   | ⭐️⭐️⭐️⭐️ |   1小时    |✅   |\n|第9天 |  [3-2 中阶API：演示](.\u002Fenglish\u002FChapter3-2.md)   | ⭐️⭐️⭐️   |   1小时    |✅  |\n|第10天 |  [3-3 高阶API：演示](.\u002Fenglish\u002FChapter3-3.md)  | ⭐️⭐️⭐️   |   1小时    |✅  |\n|&nbsp; |[**第4章：TensorFlow中的低阶API**](.\u002Fenglish\u002FChapter4.md) |⭐️    | 0小时|✅  |\n|第11天|  [4-1 张量的结构操作](.\u002Fenglish\u002FChapter4-1.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅   |\n|第12天|  [4-2 张量的数学运算](.\u002Fenglish\u002FChapter4-2.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅  |\n|第13天|  [4-3 AutoGraph的使用规则](.\u002Fenglish\u002FChapter4-3.md)| ⭐️⭐️⭐️   |   0.5小时    | ✅  |\n|第14天|  [4-4 AutoGraph的机制](.\u002Fenglish\u002FChapter4-4.md)    | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅  |\n|第15天|  [4-5 AutoGraph与tf.Module](.\u002Fenglish\u002FChapter4-5.md)  | ⭐️⭐️⭐️⭐️   |   1小时    |✅  |\n|&nbsp; |[**第5章：TensorFlow中的中阶API**](.\u002Fenglish\u002FChapter5.md) |  ⭐️  | 0小时|✅ |\n|第16天|  [5-1 数据集](.\u002Fenglish\u002FChapter5-1.md)   | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅  |\n|第17天|  [5-2 feature_column](.\u002Fenglish\u002FChapter5-2.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅  |\n|第18天|  [5-3 activation](.\u002Fenglish\u002FChapter5-3.md)    | ⭐️⭐️⭐️   |   0.5小时    |✅   |\n|第19天|  [5-4 layers](.\u002Fenglish\u002FChapter5-4.md)  | ⭐️⭐️⭐️   |   1小时    |✅  |\n|第20天|  [5-5 losses](.\u002Fenglish\u002FChapter5-5.md)    | ⭐️⭐️⭐️   |   1小时    |✅  |\n|第21天|  [5-6 metrics](.\u002Fenglish\u002FChapter5-6.md)    | ⭐️⭐️⭐️   |   1小时    |✅   |\n|第22天|  [5-7 optimizers](.\u002Fenglish\u002FChapter5-7.md)    | ⭐️⭐️⭐️   |   0.5小时    |✅   |\n|第23天|  [5-8 callbacks](.\u002Fenglish\u002FChapter5-8.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅   |\n|&nbsp; |[**第6章：TensorFlow中的高阶API**](.\u002Fenglish\u002FChapter6.md)|    ⭐️ | 0小时|✅  |\n|第24天|  [6-1 三种建模方式](.\u002Fenglish\u002FChapter6-1.md)   | ⭐️⭐️⭐️   |   1小时    |✅ |\n|第25天|  [6-2 三种训练方式](.\u002Fenglish\u002FChapter6-2.md)  | ⭐️⭐️⭐️⭐️   |   1小时    |✅   |\n|第26天|  [6-3 使用单个GPU进行模型训练](.\u002Fenglish\u002FChapter6-3.md)    | ⭐️⭐️   |   0.5小时    |✅   |\n|第27天|  [6-4 使用多个GPU进行模型训练](.\u002Fenglish\u002FChapter6-4.md)    | ⭐️⭐️   |   0.5小时    |✅  |\n|第28天|  [6-5 使用TPU进行模型训练](.\u002Fenglish\u002FChapter6-5.md)   | ⭐️⭐️   |   0.5小时    |✅  |\n|第29天| [6-6 使用tensorflow-serving部署模型](.\u002Fenglish\u002FChapter6-6.md) | ⭐️⭐️⭐️⭐️| 1小时 |✅   |\n|第30天| [6-7 使用spark-scala调用TensorFlow模型](.\u002Fenglish\u002FChapter6-7.md) | ⭐️⭐️⭐️⭐️⭐️|2小时|✅  |\n|&nbsp;| [尾声：一位吃货与美食的故事](.\u002Fenglish\u002FEpilogue.md) | ⭐️|0小时|✅  |\n\n```python\n\n```\n\n**(2) 学习所需的软件环境**\n\n\n所有源代码均在Jupyter中测试。建议将仓库克隆到本地，并在Jupyter中运行，以获得更佳的交互式学习体验。\n\n作者建议安装jupytext插件，它可以将Markdown文件转换为ipynb格式，这样读者可以直接在Jupyter中打开Markdown文件。\n\n```python\n#对于中国大陆的读者，使用gitee可以更快地完成克隆\n#!git clone https:\u002F\u002Fgitee.com\u002FPython_Ai_Road\u002Feat_tensorflow2_in_30_days\n\n#建议安装jupytext插件，以便将Markdown文件转换为ipynb并直接运行。\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -U jupytext\n    \n#同时建议安装最新版本的TensorFlow，以测试书中的示例代码\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple  -U tensorflow\n```\n\n```python\nimport tensorflow as tf\n\n#注意：所有代码均在TensorFlow 2.1环境下测试\ntf.print(\"tensorflow版本:\",tf.__version__)\n\na = tf.constant(\"hello\")\nb = tf.constant(\"tensorflow2\")\nc = tf.strings.join([a,b],\" \")\ntf.print(c)\n```\n\n```\ntensorflow版本: 2.1.0\nhello tensorflow2\n```\n\n```python\n\n```\n\n### 6. 联系并支持作者 🎈🎈\n\n\n**如果您觉得本书对您有帮助，并希望支持作者，请给本仓库点个赞⭐️，别忘了分享给您的朋友😊** \n\n如果您想就本书内容与作者交流，请在微信公众号“算法美食屋”留言。由于时间有限，作者会尽力回复。\n\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_f8a13fd9817a.jpg)\n\n```python\n\n```\n# 30天吃掉那只 TensorFlow2\n\n📚 gitbook电子书地址： https:\u002F\u002Flyhue1991.github.io\u002Feat_tensorflow2_in_30_days\n\n🚀 github项目地址：https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\n\n🐳 kesci专栏地址：https:\u002F\u002Fwww.kesci.com\u002Fhome\u002Fcolumn\u002F5d8ef3c3037db3002d3aa3a0\n\n**极速通道** \n*  🚀 公众号 “**算法美食屋**” 后台回复暗号：\"**吃货来了**\"\n*  😋 获取教程的jupyter notebook 源码文件以及全部数据集的百度云盘下载链接。\n*  https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FymLtH5BqlWAkpOmCLQOYxw\n\n### 一、TensorFlow 2 🍎 还是 PyTorch 🔥\n\n先说结论：\n\n**如果是工程师，应该优先选择 TensorFlow 2。**\n\n**如果是学生或研究人员，应该优先选择 PyTorch。**\n\n**如果时间允许，最好同时学习并掌握 TensorFlow 2 和 PyTorch。**\n\n\n理由如下：\n\n* 1. **在工业界，最重要的是模型的落地部署。目前国内大多数互联网企业仅支持 TensorFlow 模型的在线部署，而不支持 PyTorch。** 此外，工业界更注重模型的高可用性，通常使用成熟的模型架构，调试需求相对较小。\n\n\n* 2. **对于研究人员而言，快速迭代并发表论文是关键，因此需要尝试一些较新的模型架构。PyTorch 在易用性上相比 TensorFlow 2 具有一定的优势，调试起来更加方便。** 自 2019 年以来，PyTorch 在学术界占据了主导地位，能够找到的相关最新研究成果也更多。\n\n\n* 3. TensorFlow 2 和 PyTorch 的整体风格已经非常接近，掌握了其中一个框架后，学习另一个会相对容易。同时掌握两种框架，可以参考的开源模型案例会更多，并且能够在两种框架之间灵活切换。\n\n```python\n\n```\n\n### 二、Keras 🍏 与 tf.keras 🍎\n\n先说结论：\n\n**Keras 库在 2.3.0 版本之后将不再更新，用户应改用 tf.keras。**\n\n\nKeras 可以被视为一种深度学习框架的高级接口规范，它帮助用户以更简洁的方式定义和训练深度学习网络。\n\n通过 pip 安装的 Keras 库基于 TensorFlow、Theano、CNTK 等后端实现了这一高级接口规范。\n\n而 tf.keras 是在 TensorFlow 中基于其低阶 API 实现的高级接口，它是 TensorFlow 的一个子模块。\n\ntf.keras 的绝大部分功能与兼容多种后端的 Keras 库用法完全一致，但并非全部。tf.keras 与 TensorFlow 的结合更为紧密。\n\n随着 Google 收购 Keras，Keras 库在 2.3.0 版本之后将不再进行更新，用户应当使用 tf.keras，而不是通过 pip 安装的 Keras。\n\n```python\n\n```\n\n### 三、本书📖面向读者 👼\n\n\n**本书假定读者具备一定的机器学习和深度学习基础，并且曾经使用 Keras、TensorFlow 1.0 或 PyTorch 构建和训练过模型。**\n\n**对于没有任何机器学习和深度学习基础的同学，建议在学习本书的同时参考《Python 深度学习》一书。**\n\n《Python 深度学习》是由 Keras 之父 François Chollet 所著，该书假定读者没有任何机器学习知识，以 Keras 为工具，\n\n通过丰富的实例展示了深度学习的最佳实践。全书通俗易懂，**没有一个数学公式，注重培养读者的深度学习直觉。** \n\n```python\n\n```\n\n### 四、本书写作风格 🍉\n\n\n**本书是一本对人类用户极其友好的 TensorFlow 2.0 入门工具书。不刻意让读者感到困惑是本书的最低要求，而“让我无需思考”则是本书的最高追求。**\n\n本书主要参考了 TensorFlow 官方文档及函数文档编写而成，但在篇章结构和示例选取上做了大量优化。\n\n与官方文档混乱的篇章结构不同——既有教程又有指南，缺乏整体的编排逻辑——本书按照内容难易程度、读者检索习惯以及 TensorFlow 自身的层次结构设计内容，循序渐进、层次清晰，便于按功能查找相应示例。\n\n此外，与官方文档冗长的示例代码相比，本书在示例设计上尽可能简约化和结构化，增强了示例的易读性和通用性，大部分代码片段在实际应用中可以直接拿来使用。\n\n**如果说通过学习 TensorFlow 官方文档掌握 TensorFlow 2.0 的难度约为 9 分，那么通过学习本书掌握 TensorFlow 2.0 的难度大约为 3 分。**\n\n下图对比了 TensorFlow 官方教程与本书的差异。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_1f470840b018.jpg)\n\n\n```python\n\n```\n\n### 五、本书学习方案 ⏰\n\n**1. 学习计划**\n\n本书由作者利用工作之余和疫情期间的假期历时约 2 个月完成，大多数读者应在 30 天内完全掌握。\n\n预计每天的学习时间为 30 分钟至 2 小时。\n\n当然，本书也非常适合作为 TensorFlow 的工具手册，在工程落地时作为范例库参考。\n\n**点击学习内容蓝色标题即可进入该章节。**\n\n\n|日期 | 学习内容                                                       | 内容难度   | 预计学习时间 | 更新状态|\n|----:|:--------------------------------------------------------------|-----------:|----------:|-----:|\n|&nbsp;|[**一、TensorFlow的建模流程**](.\u002F一、TensorFlow的建模流程.md)    |⭐️   |   0小时   |✅    |\n|day1 |  [1-1,结构化数据建模流程范例](.\u002F1-1,结构化数据建模流程范例.md)    | ⭐️⭐️⭐️ |   1小时    |✅    |\n|day2 |[1-2,图片数据建模流程范例](.\u002F1-2,图片数据建模流程范例.md)    | ⭐️⭐️⭐️⭐️  |   2小时    |✅    |\n|day3 |  [1-3,文本数据建模流程范例](.\u002F1-3,文本数据建模流程范例.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2小时    |✅    |\n|day4 |  [1-4,时间序列数据建模流程范例](.\u002F1-4,时间序列数据建模流程范例.md)   | ⭐️⭐️⭐️⭐️⭐️  |   2小时    |✅    |\n|&nbsp;    |[**二、TensorFlow的核心概念**](.\u002F二、TensorFlow的核心概念.md)  | ⭐️  |  0小时 |✅  |\n|day5 |  [2-1,张量数据结构](.\u002F2-1,张量数据结构.md)  | ⭐️⭐️⭐️⭐️   |   1小时    |✅    |\n|day6 |  [2-2,三种计算图](.\u002F2-2,三种计算图.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅    |\n|day7 |  [2-3,自动微分机制](.\u002F2-3,自动微分机制.md)  | ⭐️⭐️⭐️   |   1小时    |✅    |\n|&nbsp; |[**三、TensorFlow的层次结构**](.\u002F三、TensorFlow的层次结构.md) |   ⭐️  |  0小时   |✅  |\n|day8 |  [3-1,低阶API示范](.\u002F3-1,低阶API示范.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅   |\n|day9 |  [3-2,中阶API示范](.\u002F3-2,中阶API示范.md)   | ⭐️⭐️⭐️   |  1小时    |✅  |\n|day10 |  [3-3,高阶API示范](.\u002F3-3,高阶API示范.md)  | ⭐️⭐️⭐️  |   1小时    |✅  |\n|&nbsp; |[**四、TensorFlow的低阶API**](.\u002F四、TensorFlow的低阶API.md) |⭐️    | 0小时|✅  |\n|day11|  [4-1,张量的结构操作](.\u002F4-1,张量的结构操作.md)  | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅   |\n|day12|  [4-2,张量的数学运算](.\u002F4-2,张量的数学运算.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅  |\n|day13|  [4-3,AutoGraph的使用规范](.\u002F4-3,AutoGraph的使用规范.md)| ⭐️⭐️⭐️   |   0.5小时    |✅  |\n|day14|  [4-4,AutoGraph的机制原理](.\u002F4-4,AutoGraph的机制原理.md)    | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅  |\n|day15|  [4-5,AutoGraph和tf.Module](.\u002F4-5,AutoGraph和tf.Module.md)  | ⭐️⭐️⭐️⭐️   |   1小时    |✅  |\n|&nbsp; |[**五、TensorFlow的中阶API**](.\u002F五、TensorFlow的中阶API.md) |  ⭐️  | 0小时|✅ |\n|day16|  [5-1,数据管道Dataset](.\u002F5-1,数据管道Dataset.md)   | ⭐️⭐️⭐️⭐️⭐️   |   2小时    |✅  |\n|day17|  [5-2,特征列feature_column](.\u002F5-2,特征列feature_column.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅  |\n|day18|  [5-3,激活函数activation](.\u002F5-3,激活函数activation.md)    | ⭐️⭐️⭐️   |   0.5小时    |✅   |\n|day19|  [5-4,模型层layers](.\u002F5-4,模型层layers.md)  | ⭐️⭐️⭐️   |   1小时    |✅  |\n|day20|  [5-5,损失函数losses](.\u002F5-5,损失函数losses.md)    | ⭐️⭐️⭐️   |   1小时    |✅  |\n|day21|  [5-6,评估指标metrics](.\u002F5-6,评估指标metrics.md)    | ⭐️⭐️⭐️   |   1小时    |✅   |\n|day22|  [5-7,优化器optimizers](.\u002F5-7,优化器optimizers.md)    | ⭐️⭐️⭐️   |   0.5小时    |✅   |\n|day23|  [5-8,回调函数callbacks](.\u002F5-8,回调函数callbacks.md)   | ⭐️⭐️⭐️⭐️   |   1小时    |✅   |\n|&nbsp; |[**六、TensorFlow的高阶API**](.\u002F六、TensorFlow的高阶API.md)|    ⭐️ | 0小时|✅  |\n|day24|  [6-1,构建模型的3种方法](.\u002F6-1,构建模型的3种方法.md)   | ⭐️⭐️⭐️   |   1小时    |✅ |\n|day25|  [6-2,训练模型的3种方法](.\u002F6-2,训练模型的3种方法.md)  | ⭐️⭐️⭐️⭐️   |   1小时    |✅   |\n|day26|  [6-3,使用单GPU训练模型](.\u002F6-3,使用单GPU训练模型.md)    | ⭐️⭐️   |   0.5小时    |✅   |\n|day27|  [6-4,使用多GPU训练模型](.\u002F6-4,使用多GPU训练模型.md)    | ⭐️⭐️   |   0.5小时    |✅  |\n|day28|  [6-5,使用TPU训练模型](.\u002F6-5,使用TPU训练模型.md)   | ⭐️⭐️   |   0.5小时    |✅  |\n|day29| [6-6,使用tensorflow-serving部署模型](.\u002F6-6,使用tensorflow-serving部署模型.md) | ⭐️⭐️⭐️⭐️| 1小时 |✅   |\n|day30| [6-7,使用spark-scala调用tensorflow模型](.\u002F6-7,使用spark-scala调用tensorflow模型.md) | ⭐️⭐️⭐️⭐️⭐️|2小时|✅  |\n|&nbsp;| [后记：一个吃货和一道菜的故事](.\u002F后记：一个吃货和一道菜的故事.md) | ⭐️|0小时|✅  |\n\n\n```python\n\n```\n\n**2. 学习环境**\n\n\n本书的所有源码均在 Jupyter 中编写并测试通过，建议通过 Git 克隆到本地，并在 Jupyter 中交互式运行学习。\n\n为了能够在 Jupyter 中直接打开 Markdown 文件，建议安装 Jupytext，将 Markdown 转换为 IPYNB 文件。\n\n**此外，本项目还与和鲸社区达成了合作，用户可以在和鲸专栏 Fork 本项目，并直接在云笔记本上运行代码，从而避免繁琐的环境配置。** \n\n🐳 和鲸专栏地址：https:\u002F\u002Fwww.kesci.com\u002Fhome\u002Fcolumn\u002F5d8ef3c3037db3002d3aa3a0\n\n```python\n#克隆本书源码到本地,使用码云镜像仓库国内下载速度更快\n#!git clone https:\u002F\u002Fgitee.com\u002FPython_Ai_Road\u002Feat_tensorflow2_in_30_days\n\n#建议在jupyter notebook 上安装jupytext，以便能够将本书各章节markdown文件视作ipynb文件运行\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -U jupytext\n    \n#建议在jupyter notebook 上安装最新版本tensorflow 测试本书中的代码\n#!pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple  -U tensorflow\n```\n\n```python\nimport tensorflow as tf\n\n#注：本书全部代码在tensorflow 2.1版本测试通过\ntf.print(\"tensorflow version:\",tf.__version__)\n\na = tf.constant(\"hello\")\nb = tf.constant(\"tensorflow2\")\nc = tf.strings.join([a,b],\" \")\ntf.print(c)\n```\n\n```\ntensorflow version: 2.1.0\nhello tensorflow2\n```\n\n\n\n\n```python\n\n```\n\n### 六、鼓励与联系作者 🎈🎈\n\n\n**如果本书对你有所帮助，想鼓励一下作者，记得给本项目加一颗星星 star⭐️，并分享给你的朋友们喔😊！** \n\n如果对本书内容的理解有任何疑问，欢迎在公众号“算法美食屋”留言。由于作者时间和精力有限，可能会酌情回复。\n\n也可以在公众号后台回复关键词：**加群**，加入读者交流群与其他读者讨论。\n\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_readme_f8a13fd9817a.jpg)\n\n```python\n\n```","# eat_tensorflow2_in_30_days 快速上手指南\n\n本指南基于开源项目《30 天吃掉那只 TensorFlow2》，旨在帮助开发者快速搭建环境并掌握 TensorFlow 2 的核心用法。\n\n## 1. 环境准备\n\n*   **操作系统**：Windows \u002F macOS \u002F Linux\n*   **前置依赖**：\n    *   Python 3.6+\n    *   Jupyter Notebook \u002F JupyterLab（推荐，支持交互式学习）\n    *   Git（用于克隆项目代码）\n*   **建议工具**：安装 `jupytext`，以便直接在 Jupyter 中打开和运行项目中的 Markdown 教程文件。\n\n## 2. 安装步骤\n\n### 2.1 获取项目代码\n国内用户推荐使用 Gitee 镜像加速克隆：\n\n```bash\ngit clone https:\u002F\u002Fgitee.com\u002FPython_Ai_Road\u002Feat_tensorflow2_in_30_days\n```\n\n或者从 GitHub 克隆：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\n```\n\n### 2.2 安装依赖库\n进入项目目录，使用国内镜像源（如清华源）安装必要工具及最新版的 TensorFlow：\n\n```bash\n# 安装 jupytext，用于将 markdown 转换为 notebook 运行\npip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -U jupytext\n\n# 安装或升级 TensorFlow (本项目代码基于 TF 2.1+ 测试)\npip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -U tensorflow\n```\n\n### 2.3 启动学习环境\n进入项目目录并启动 Jupyter：\n\n```bash\ncd eat_tensorflow2_in_30_days\njupyter notebook\n```\n*注：安装 jupytext 后，可直接在 Jupyter 界面中打开 `.md` 格式的教程章节进行交互式运行。*\n\n## 3. 基本使用\n\n以下是最基础的 TensorFlow 2 代码示例，用于验证环境是否安装成功并体验核心功能：\n\n```python\nimport tensorflow as tf\n\n# 打印版本号验证安装 (项目测试版本为 2.1.0，建议使用最新版)\ntf.print(\"tensorflow version:\", tf.__version__)\n\n# 创建常量张量\na = tf.constant(\"hello\")\nb = tf.constant(\"tensorflow2\")\n\n# 字符串拼接操作\nc = tf.strings.join([a, b], \" \")\n\n# 输出结果\ntf.print(c)\n```\n\n**预期输出：**\n```text\ntensorflow version: 2.x.x\nhello tensorflow2\n```\n\n## 4. 学习路径建议\n\n本项目采用\"30 天”渐进式学习法，每日内容安排如下：\n\n*   **第 1-4 天**：建模流程实战（结构化数据、图像、文本、时间序列）。\n*   **第 5-7 天**：核心概念（张量数据结构、三种图模式、自动微分）。\n*   **第 8-10 天**：API 层级概览（低阶、中阶、高阶 API 演示）。\n*   **第 11-15 天**：深入低阶 API（张量运算、AutoGraph 机制与规则）。\n*   **第 16-23 天**：掌握中阶 API（Dataset、feature_column、Layers、Losses、Metrics 等）。\n*   **第 24-30 天**：精通高阶 API（三种建模方式、多 GPU\u002FTPU 训练、模型部署与调用）。\n\n> **提示**：对于零基础用户，建议配合书籍《Deep Learning with Python》（Keras 作者撰写）同步学习，以建立直观的深度学习思维。","某互联网公司的算法工程师需要在两周内将实验室的 PyTorch 原型模型迁移至生产环境，并满足公司仅支持 TensorFlow 服务的部署规范。\n\n### 没有 eat_tensorflow2_in_30_days 时\n- **框架思维转换困难**：习惯了 PyTorch 的动态图调试模式，面对 TF2 的静态图机制和 `tf.function` 装饰器感到无所适从，代码重写效率极低。\n- **API 选型混乱**：在官方文档中难以区分独立版 Keras 与 `tf.keras` 的差异，误用了已停止维护的 Keras 2.3.0 接口，导致后期兼容性问题频发。\n- **工程化落地受阻**：缺乏针对工业界部署的最佳实践指导，模型训练完成后无法顺利转换为 SavedModel 格式，卡在服务上线前的最后一步。\n- **学习曲线陡峭**：零散的教程缺乏系统性，花费大量时间摸索基础语法而非解决业务问题，严重压缩了模型调优的时间窗口。\n\n### 使用 eat_tensorflow2_in_30_days 后\n- **平滑过渡双框架**：通过书中\"PyTorch vs TensorFlow\"的对比章节，快速理解两者异同，利用已有的深度学习直觉在 3 天内完成了核心代码的重构。\n- **精准掌握标准 API**：明确遵循“只用 `tf.keras`\"的原则，直接复用书中经过验证的高层 API 模板，避免了因版本混用导致的运行时错误。\n- **打通部署全流程**：参考第 20 天后的工程化案例，顺利实现了从模型训练、导出到服务器加载的完整闭环，确保模型高可用性。\n- **系统化高效进阶**：跟随\"30 天”阶梯式教程，每天聚焦一个实战主题，将原本需要一个月的学习周期压缩至两周，按时交付了高质量模型。\n\neat_tensorflow2_in_30_days 不仅是一本教程，更是帮助开发者跨越框架鸿沟、快速实现工业级模型落地的实战指南。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flyhue1991_eat_tensorflow2_in_30_days_f8a13fd9.jpg","lyhue1991","一个有毅力的吃货","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flyhue1991_7fa271b1.png","INTP；Trainer of dragons and models 😋😋","HUST","Beijing China","lyhue1991@163.com",null,"https:\u002F\u002Fspace.bilibili.com\u002F448076260","https:\u002F\u002Fgithub.com\u002Flyhue1991",[87],{"name":88,"color":89,"percentage":90},"Python","#3572A5",100,9963,2450,"2026-04-03T14:22:49","Apache-2.0","未说明","非必需。教程包含单 GPU、多 GPU 及 TPU 训练章节，暗示支持 NVIDIA GPU 和 Google TPU，但未指定具体型号、显存大小或 CUDA 版本。",{"notes":98,"python":95,"dependencies":99},"代码基于 TensorFlow 2.1 测试通过。建议使用 tf.keras 而非独立的 Keras 库。建议在 Jupyter 环境中运行，可安装 jupytext 以便直接打开 Markdown 文件。国内用户可使用 Gitee 镜像加速克隆，并使用清华源安装依赖。",[100,101,102],"tensorflow>=2.1","jupyter","jupytext",[13],[105,106,107,108],"tensorflow2","tensorflow","tensorflow-examples","tensorflow-tutorial","2026-03-27T02:49:30.150509","2026-04-06T07:23:07.700305",[112,117,122,127,132,137,142,147],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},14066,"使用继承 Model 基类构建的自定义模型，保存后加载报错怎么办？","通过模型子类化（继承 Model）构造的模型，在保存和加载时支持受限。建议使用 TensorFlow 原生方式保存（save_format=\"tf\"）。加载时若出现 'Could not find matching function' 错误，可能是 TF 版本问题，TF 2.1 已修复该报错。若加载时提示 'No training configuration found'，可忽略警告并手动编译模型（model.compile），之后即可正常使用 model.xxx 方法。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F2",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},14067,"Spark Scala 调用 TensorFlow 2.0 模型时报序列化异常或类找不到错误如何解决？","在 Spark 集群模式（YARN cluster\u002Fclient）下运行时，不能直接广播 SavedModelBundle 对象，因为它未实现 Serializable 接口。解决方案是将模型文件先下载到每个节点的临时目录，然后在 Executor 端本地加载模型。此外，需确保集群所有节点都正确安装了 TensorFlow Java 依赖，避免报 NoClassDefFoundError。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F4",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},14068,"代码注释中提到的 '@符号增加正态扰动’是什么意思？","这是一个误解。注释中的 '@' 仅表示矩阵乘法（等价于 tf.matmul），优先级高于加法，与随机扰动无关。‘增加正态扰动’是指代码中单独调用的 tf.random.normal 部分，用于向数据中添加随机噪声。两者是独立的操作：X@w0 + b0 是线性运算，而 tf.random.normal 用于生成噪声。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F41",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},14069,"为什么训练过程中验证集损失（Valid Loss）会逐渐上升？","验证集损失上升而训练集损失下降通常是过拟合（Overfitting）的迹象。这意味着模型在训练集上表现越来越好，但在未见过的验证数据上泛化能力变差。建议尝试增加正则化（如 Dropout、L2）、减少模型复杂度、增加训练数据或使用早停法（Early Stopping）来缓解。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F69",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},14070,"教程中使用的测试数据为何没有 'Survived' 列导致报错？","教程中的测试数据并非官方原始的无标签测试集，而是作者将原始训练集拆分出来的两部分之一（一部分作训练，一部分作带标签的验证\u002F测试集），以便演示完整的建模流程。如果遇到报错，请确保下载的是作者源代码中提供的预处理后的 CSV 文件，而非泰坦尼克号原始数据集。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F15",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},14071,"是否建议在 TensorFlow 2 教程中加入 Estimator 相关内容？","不建议。Estimator 在 TensorFlow 2 中已进入维护模式，不再添加新特性。官方目前唯一推荐的高阶 API 是 Keras。为了顺应技术趋势和获得更好的支持，建议用户直接拥抱 TF 2 的 Keras API，放弃对 Estimator 的依赖。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F26",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},14072,"在 Windows 系统上使用绝对路径保存日志时报错如何处理？","Windows 下的路径分隔符需要转义。如果使用字符串格式化，应写成双反斜杠形式，例如：logdir = 'C:\\\\xx\\\\autograph\\\\%s' % stamp。目前最新代码已修复以兼容多种操作系统，建议执行 git pull origin master 更新到最新版本。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F14",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},14073,"文本预处理中正则替换标点符号时，替换为空字符串还是空格？","建议替换为空格而不是空字符串。如果直接替换为空字符串（''），会导致单词粘连（例如 \"him,but\" 变成 \"himbut\"）。此外，考虑到英文中缩写（如 \"it's\"）的需要，可以考虑从标点符号列表中移除单引号，或者在替换前特殊处理，避免将 \"it's\" 错误地拆分为 \"it s\"。","https:\u002F\u002Fgithub.com\u002Flyhue1991\u002Feat_tensorflow2_in_30_days\u002Fissues\u002F47",[]]