[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-BoyuanJiang--Age-Gender-Estimate-TF":3,"tool-BoyuanJiang--Age-Gender-Estimate-TF":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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[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":77,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":93,"env_os":94,"env_gpu":95,"env_ram":96,"env_deps":97,"category_tags":108,"github_topics":109,"view_count":23,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":112,"updated_at":113,"faqs":114,"releases":150},3515,"BoyuanJiang\u002FAge-Gender-Estimate-TF","Age-Gender-Estimate-TF","Face age and gender estimate using TensorFlow ","Age-Gender-Estimate-TF 是一款基于 TensorFlow 和卷积神经网络（CNN）的开源项目，专注于从人脸图像中自动估算年龄与性别。它有效解决了传统方法在处理多人场景或复杂光照下识别准确率不足的痛点，能够一次性检测并对齐图片中的多张人脸，随后输出精准的属性预测结果。\n\n该工具主要适合开发者、人工智能研究人员以及对计算机视觉感兴趣的技术爱好者使用。对于希望快速构建人脸识别应用原型，或需要研究面部特征提取算法的用户来说，这是一个极具参考价值的起点。普通用户若具备基础的 Python 环境配置能力，也可通过简单命令体验其功能。\n\n在技术实现上，Age-Gender-Estimate-TF 采用了经典的“两步走”策略：首先利用 dlib 库进行高效的人脸检测与关键点校准，确保输入数据的规范性；随后接入基于 Inception-ResNet-v1 架构改进的 FaceNet 深度网络进行特征提取与分类。项目不仅提供了完整的训练流程支持（包括大规模数据集如 IMDB-WIKI 的 TFRecords 转换脚本），还兼容预训练权重加载，显著降低了复现门槛。此外，它支持多核 CP","Age-Gender-Estimate-TF 是一款基于 TensorFlow 和卷积神经网络（CNN）的开源项目，专注于从人脸图像中自动估算年龄与性别。它有效解决了传统方法在处理多人场景或复杂光照下识别准确率不足的痛点，能够一次性检测并对齐图片中的多张人脸，随后输出精准的属性预测结果。\n\n该工具主要适合开发者、人工智能研究人员以及对计算机视觉感兴趣的技术爱好者使用。对于希望快速构建人脸识别应用原型，或需要研究面部特征提取算法的用户来说，这是一个极具参考价值的起点。普通用户若具备基础的 Python 环境配置能力，也可通过简单命令体验其功能。\n\n在技术实现上，Age-Gender-Estimate-TF 采用了经典的“两步走”策略：首先利用 dlib 库进行高效的人脸检测与关键点校准，确保输入数据的规范性；随后接入基于 Inception-ResNet-v1 架构改进的 FaceNet 深度网络进行特征提取与分类。项目不仅提供了完整的训练流程支持（包括大规模数据集如 IMDB-WIKI 的 TFRecords 转换脚本），还兼容预训练权重加载，显著降低了复现门槛。此外，它支持多核 CPU 并行处理数据预处理，并可选配 GPU 加速训练与推理，兼顾了效率与灵活性。尽管部分代码对 Python 3 的兼容性需手动调整，但其清晰的模块化设计依然使其成为面部属性分析领域一个扎实可靠的基准方案。","# Age and gender estimation based on Convolutional Neural Network and TensorFlow\n\n---\n\n**UPDATE: There are some compatibility issues under python3 reported by others, recommend using python2 or you should adjust some codes manually**\n\nThis is a TensorFlow implement of face age and gender estimation which first using dlib to detect and align faces in the picture and then using a deep CNN to estimate age and gender.As you can see below,this project can estimate more than one face in a picture at one time.\n\n![demo1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_dbe67743d701.jpg)\n![demo2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_9e8d9ccbfd1a.jpg)\n\n## Dependencies\nThis project has following dependencies and tested under CentOS7 with Python2.7.14\n\n- tensorflow==1.4\n- dlib==19.7.99\n- cv2\n- matplotlib==2.1.0\n- imutils==0.4.3\n- numpy==1.13.3\n- pandas==0.20.3\n\n\n## Usage\n### Make tfrecords\nIn order to train your own models,you should first download [imdb](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002Fstatic\u002Fimdb_crop.tar) or [wiki](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002Fstatic\u002Fwiki_crop.tar) dataset,and then extract it under **data** path,after that,images path should look like\n> \u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Fimdb_crop\u002F00\u002Fsomepictures  \n\u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Fimdb_crop\u002F01\u002Fsomepictures  \n....  \n\u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Fimdb_crop\u002F99\u002Fsomepictures\n\nThen you can run \n```bash\npython convert_to_records_multiCPU.py --imdb --nworks 8\n```\nto convert images to tfrecords.**--imdb** means using imdb dataset,**--nworks 8** means using 8 cpu cores to convert the dataset parallelly.Because we will first detect and align faces in the pictures,which is a time consuming step,so we recommend to use as many cores as possible.Intel E5-2667 v4 and with 32 cores need approximately 50 minutes.\n\n### Train model\nOnce you have converted images to tfrecords,you should have the following path:\n> \u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Ftrain\u002Ftrain-000.tfrecords  \n......  \n\u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Ftest\u002Ftest-000.tfrecords  \n......\n \n At present,our deep CNN uses FaceNet architecture,which based on inception-resnet-v1 to extract features.To speed up training,we use the pretrained model's weight from [this project](https:\u002F\u002Fgithub.com\u002Fdavidsandberg\u002Ffacenet) and have converted the weight to adapt our model,you can download this converted pretrained facenet weight checkpoint from [here](https:\u002F\u002Fmega.nz\u002F#!4G4yxbAL!D9QG48yzCeFegCFhZfpCgOyLYbfDdU6lt2k2kK9n23g) or [here](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1dFewgqH).Extract it to path **models**.\n > \u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fcheckpoint  \n \u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.data-00000-of-00001  \n \u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.index  \n \u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.meta\n \n **NOTE:** This step is optional,you can also train your model from scratch.\n To start training,run\n \n```bash\npython train.py --lr 1e-3 --weight_decay 1e-5 --epoch 6 --batch_size 128 --keep_prob 0.8 --cuda\n```\n**NOTE:** Using the flag **--cuda** will train the model with GPU.\n\nUsing tensorboard to visualize learning\n```\ntensorboard --logdir=.\u002Ftrain_log\n```\n![train log](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_479a0dd360ba.jpg)\n### Test model\nYou can test all your trained models on testset through\n```\npython test.py --images \".\u002Fdata\u002Ftest\" --model_path \".\u002Fmodels\" --batch_size 128 --choose_best --cuda\n```\nFlag **--cuda** means using GPU when testing.**--choose_best** means testing all trained models and return the best one.If you just want to test the latest saved model,without this flag.\n```\npython test.py --images \".\u002Fdata\u002Ftest\" --model_path \".\u002Fmodels\" --batch_size 128 --cuda\n```\n\n### One picture demo\nIf you just want to test the model on your own picture,run\n```\npython eval.py --I \".\u002Fdemo\u002Fdemo.jpg\" --M \".\u002Fmodels\u002F\" --font_scale 1 --thickness 1\n```\nFlag **--I** tells where your picture is.If the text label too small or too large on the picture,you can use a different **--font_scale 1** and **--thickness 1** to adjust the text size and thickness.\nWe also provide a pretrained model,you can download from [here](https:\u002F\u002Fmega.nz\u002F#!BfglkI7A!YBvFyxgKhvUnnNRu9FL-ACjdo18SmOZ-YSz9QghQRzE) or [here](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1bpllJg7) and extract it to **models** path.\n\n### Picture from web cam\n![web cam](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_e394c10ecc45.gif)\n\nFirst download the pretrained model from [here](https:\u002F\u002Fmega.nz\u002F#!kaZkWDjb!xQvWi9B--FgyIPtIYfjzLDoJeh2PUBEZPotmzO9N6_M) or [here](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1kVd3TNx) and extract to **models** path.\nIn order to get pictures from web cam, you may need to uninstall your cv2 and [install it from source](https:\u002F\u002Fwww.scivision.co\u002Fanaconda-python-opencv3\u002F) if have problems when running the below command:\n```bash\npython demo.py \n```\n\n## TODO\n- [x] First version of project\n- [x] Code review and add some commits\n- [x] Add a readme doc\n- [x] Add a demo using pictures from web cam\n\n\n\n## References and Acknowledgments\nThis project is a part of my class project of Machine Learning course at Zhejiang University,following papers and codes are referred:\n\n1. Rothe R, Timofte R, Van Gool L. Dex: Deep expectation of apparent age from a single image[C]\u002F\u002FProceedings of the IEEE International Conference on Computer Vision Workshops. 2015: 10-15.\n2. Rothe R, Timofte R, Van Gool L. Deep expectation of real and apparent age from a single image without facial landmarks[J]. International Journal of Computer Vision, 2016: 1-14.\n3. [IMDB-WIKI – 500k+ face images with age and gender labels](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002F)\n4. [yu4u\u002Fage-gender-estimation](https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation)\n5. [davidsandberg\u002Ffacenet](https:\u002F\u002Fgithub.com\u002Fdavidsandberg\u002Ffacenet)\n6. [Face Alignment with OpenCV and Python](https:\u002F\u002Fwww.pyimagesearch.com\u002F2017\u002F05\u002F22\u002Fface-alignment-with-opencv-and-python\u002F)\n","# 基于卷积神经网络和TensorFlow的人脸年龄与性别估计\n\n---\n\n**更新：有用户反馈在Python 3环境下存在一些兼容性问题，建议使用Python 2，或者手动调整部分代码。**\n\n这是一个基于TensorFlow实现的人脸年龄与性别估计项目。首先使用dlib库检测并对齐图像中的人脸，然后利用深度卷积神经网络（CNN）来预测年龄和性别。如下面所示，该项目可以同时处理一张图片中的多个人脸。\n\n![demo1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_dbe67743d701.jpg)\n![demo2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_9e8d9ccbfd1a.jpg)\n\n## 依赖项\n该项目的依赖项如下，并已在CentOS 7系统上使用Python 2.7.14进行了测试：\n\n- tensorflow==1.4\n- dlib==19.7.99\n- cv2\n- matplotlib==2.1.0\n- imutils==0.4.3\n- numpy==1.13.3\n- pandas==0.20.3\n\n## 使用方法\n### 生成tfrecords文件\n为了训练自己的模型，您需要先下载[imdb](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002Fstatic\u002Fimdb_crop.tar)或[wiki](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002Fstatic\u002Fwiki_crop.tar)数据集，并将其解压到`data`目录下。解压后的文件结构应如下所示：\n> \u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Fimdb_crop\u002F00\u002Fsomepictures  \n\u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Fimdb_crop\u002F01\u002Fsomepictures  \n....  \n\u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Fimdb_crop\u002F99\u002Fsomepictures\n\n随后，您可以运行以下命令将图像转换为tfrecords格式：\n```bash\npython convert_to_records_multiCPU.py --imdb --nworks 8\n```\n其中，`--imdb`表示使用imdb数据集，`--nworks 8`表示使用8个CPU核心并行进行转换。由于我们需要先检测并对齐图像中的人脸，这一步骤较为耗时，因此建议尽可能多地使用CPU核心。以Intel E5-2667 v4处理器为例，该处理器拥有32个核心，整个过程大约需要50分钟。\n\n### 训练模型\n成功将图像转换为tfrecords后，您应该会得到如下路径下的文件：\n> \u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Ftrain\u002Ftrain-000.tfrecords  \n......  \n\u002Fpath\u002Fto\u002Fproject\u002Fdata\u002Ftest\u002Ftest-000.tfrecords  \n......\n\n目前，我们的深度CNN采用了FaceNet架构，基于inception-resnet-v1提取特征。为了加快训练速度，我们使用了来自[此项目](https:\u002F\u002Fgithub.com\u002Fdavidsandberg\u002Ffacenet)的预训练模型权重，并将其转换为适用于本项目的格式。您可以从[这里](https:\u002F\u002Fmega.nz\u002F#!4G4yxbAL!D9QG48yzCeFegCFhZfpCgOyLYbfDdU6lt2k2kK9n23g)或[这里](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1dFewgqH)下载转换后的预训练Facenet权重检查点，并将其解压到`models`目录下。\n> \u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fcheckpoint  \n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.data-00000-of-00001  \n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.index  \n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.meta\n\n**注意：** 此步骤是可选的，您也可以从头开始训练模型。\n\n要开始训练，运行以下命令：\n```bash\npython train.py --lr 1e-3 --weight_decay 1e-5 --epoch 6 --batch_size 128 --keep_prob 0.8 --cuda\n```\n**注意：** 使用`--cuda`标志将启用GPU加速进行训练。\n\n使用TensorBoard可视化训练过程：\n```bash\ntensorboard --logdir=.\u002Ftrain_log\n```\n![训练日志](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_479a0dd360ba.jpg)\n\n### 测试模型\n您可以通过以下命令在测试集上测试所有已训练的模型：\n```bash\npython test.py --images \".\u002Fdata\u002Ftest\" --model_path \".\u002Fmodels\" --batch_size 128 --choose_best --cuda\n```\n`--cuda`标志表示在测试时使用GPU。`--choose_best`表示测试所有已训练的模型，并返回表现最好的一个。如果您只想测试最新保存的模型，则无需使用此标志：\n```bash\npython test.py --images \".\u002Fdata\u002Ftest\" --model_path \".\u002Fmodels\" --batch_size 128 --cuda\n```\n\n### 单张图片演示\n如果您只想在自己的图片上测试模型，可以运行以下命令：\n```bash\npython eval.py --I \".\u002Fdemo\u002Fdemo.jpg\" --M \".\u002Fmodels\u002F\" --font_scale 1 --thickness 1\n```\n`--I`标志指定了您的图片路径。如果图片上的文本标签太小或太大，您可以调整`--font_scale 1`和`--thickness 1`来改变文本的大小和厚度。\n\n我们还提供了一个预训练好的模型，您可以从[这里](https:\u002F\u002Fmega.nz\u002F#!BfglkI7A!YBvFyxgKhvUnnNRu9FL-ACjdo18SmOZ-YSz9QghQRzE)或[这里](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1bpllJg7)下载，并将其解压到`models`目录下。\n\n### 网络摄像头输入\n![网络摄像头](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_readme_e394c10ecc45.gif)\n\n首先从[这里](https:\u002F\u002Fmega.nz\u002F#!kaZkWDjb!xQvWi9B--FgyIPtIYfjzLDoJeh2PUBEZPotmzO9N6_M)或[这里](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1kVd3TNx)下载预训练模型，并将其解压到`models`目录下。\n\n为了从网络摄像头获取图像，您可能需要卸载现有的cv2库，并按照[此教程](https:\u002F\u002Fwww.scivision.co\u002Fanaconda-python-opencv3\u002F)从源码安装OpenCV，以避免在运行以下命令时出现问题：\n```bash\npython demo.py \n```\n\n## 待办事项\n- [x] 项目初版\n- [x] 代码审查并添加提交记录\n- [x] 添加README文档\n- [x] 添加使用网络摄像头图片的示例\n\n## 参考文献与致谢\n该项目是我浙江大学机器学习课程的一个课堂项目，参考了以下论文和代码：\n\n1. Rothe R, Timofte R, Van Gool L. Dex: Deep expectation of apparent age from a single image[C]\u002F\u002FProceedings of the IEEE International Conference on Computer Vision Workshops. 2015: 10-15.\n2. Rothe R, Timofte R, Van Gool L. Deep expectation of real and apparent age from a single image without facial landmarks[J]. International Journal of Computer Vision, 2016: 1-14.\n3. [IMDB-WIKI – 500k+ face images with age and gender labels](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002F)\n4. [yu4u\u002Fage-gender-estimation](https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation)\n5. [davidsandberg\u002Ffacenet](https:\u002F\u002Fgithub.com\u002Fdavidsandberg\u002Ffacenet)\n6. [Face Alignment with OpenCV and Python](https:\u002F\u002Fwww.pyimagesearch.com\u002F2017\u002F05\u002F22\u002Fface-alignment-with-opencv-and-python\u002F)","# Age-Gender-Estimate-TF 快速上手指南\n\n本项目基于 TensorFlow 和卷积神经网络（CNN），利用 dlib 进行人脸检测与对齐，实现对图片中人物年龄和性别的估算。支持单张图片多张人脸的同时识别。\n\n> **注意**：项目报告在 Python 3 下存在兼容性问题，强烈建议使用 **Python 2.7** 环境运行，或自行调整代码以适配 Python 3。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**：推荐 CentOS 7 或 Linux 发行版（Windows\u002FMac 需自行配置依赖）\n- **Python 版本**：Python 2.7.14（必须）\n- **硬件加速**：可选 GPU（需安装 CUDA 支持）\n\n### 前置依赖\n请确保已安装以下库及对应版本：\n- `tensorflow==1.4`\n- `dlib==19.7.99`\n- `cv2` (OpenCV)\n- `matplotlib==2.1.0`\n- `imutils==0.4.3`\n- `numpy==1.13.3`\n- `pandas==0.20.3`\n\n安装命令示例：\n```bash\npip install tensorflow==1.4 dlib==19.7.99 matplotlib==2.1.0 imutils==0.4.3 numpy==1.13.3 pandas==0.20.3\n# OpenCV 安装可能需从源码编译以确保兼容性\n```\n\n## 2. 安装步骤\n\n### 获取预训练模型（推荐）\n若仅需直接使用而不重新训练，请下载预训练模型并解压至项目根目录下的 `models` 文件夹。\n\n**下载链接（任选其一）：**\n- [MEGA 网盘](https:\u002F\u002Fmega.nz\u002F#!BfglkI7A!YBvFyxgKhvUnnNRu9FL-ACjdo18SmOZ-YSz9QghQRzE)\n- [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1bpllJg7)\n\n解压后目录结构应如下：\n```text\n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fcheckpoint\n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.data-00000-of-00001\n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.index\n\u002Fpath\u002Fto\u002Fproject\u002Fmodels\u002Fmodel.ckpt-0.meta\n```\n\n*(注：若需从头训练模型，请参考原文 README 下载 IMDB\u002FWIKI 数据集并执行 `convert_to_records_multiCPU.py` 生成 tfrecords)*\n\n## 3. 基本使用\n\n### 单张图片测试\n这是最简单的使用方式，用于检测本地图片中人物的年龄和性别。\n\n将待测图片路径替换为实际路径，运行以下命令：\n\n```bash\npython eval.py --I \".\u002Fdemo\u002Fdemo.jpg\" --M \".\u002Fmodels\u002F\" --font_scale 1 --thickness 1\n```\n\n**参数说明：**\n- `--I`: 输入图片的路径。\n- `--M`: 预训练模型所在文件夹路径。\n- `--font_scale` 和 `--thickness`: 用于调整输出图片上文字标签的大小和粗细，可根据显示效果微调。\n\n### 摄像头实时演示\n若需调用 webcam 进行实时检测，请确保 OpenCV 能正常访问摄像头，然后运行：\n\n```bash\npython demo.py\n```\n\n> **提示**：如果运行摄像头脚本时遇到问题，可能需要卸载现有 `cv2` 并从源码重新安装 OpenCV。","某电商平台的运营团队需要分析线下门店监控视频中顾客的年龄与性别分布，以优化商品陈列和广告投放策略。\n\n### 没有 Age-Gender-Estimate-TF 时\n- 人工统计耗时费力，分析师需逐帧观看视频并手动记录，处理一小时视频往往需要数天时间。\n- 主观判断误差大，不同人员对“青年”或“中年”的界定标准不一，导致数据一致性差。\n- 无法实时响应，滞后的统计数据难以支持当日的营销活动调整，错失最佳推广时机。\n- 难以处理多人场景，面对拥挤画面中重叠的人脸，人工极易漏记或重复计数。\n\n### 使用 Age-Gender-Estimate-TF 后\n- 自动化批量处理，利用 dlib 检测对齐结合深度 CNN 模型，几分钟内即可完成海量视频帧的分析。\n- 量化标准统一，算法基于训练好的 FaceNet 架构输出客观的年龄段和性别标签，消除人为偏见。\n- 支持实时推断，可部署在边缘设备上对进店客流进行即时画像，辅助动态调整电子屏广告内容。\n- 多目标并发识别，能够同时精准框选并估算画面中多张人脸的属性，显著提升复杂场景下的覆盖率。\n\nAge-Gender-Estimate-TF 将原本依赖人力的模糊定性观察，转化为高效、客观且可量化的数据资产，直接驱动商业决策的智能化升级。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBoyuanJiang_Age-Gender-Estimate-TF_dbe67743.jpg","BoyuanJiang",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FBoyuanJiang_de4c05ef.jpg","https:\u002F\u002Fgithub.com\u002FBoyuanJiang",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",62.1,{"name":86,"color":87,"percentage":88},"Jupyter Notebook","#DA5B0B",37.9,540,158,"2026-03-19T01:11:51","MIT",4,"Linux","可选（训练和测试时可通过 --cuda 标志启用），未说明具体型号、显存大小及 CUDA 版本","未说明",{"notes":98,"python":99,"dependencies":100},"该项目在 CentOS 7 下测试通过。若使用 Python 3 可能会遇到兼容性问题，建议使用 Python 2 或手动修改代码。从摄像头获取图像时，若运行报错可能需要卸载现有 cv2 并从源码重新安装。训练前需下载 IMDB 或 Wiki 数据集并转换为 tfrecords 格式，此过程耗时较长，建议使用多核 CPU 并行处理。可使用提供的预训练 FaceNet 权重加速训练，或直接使用提供的预训练模型进行演示。","2.7.14 (推荐)，Python 3 存在兼容性问题需手动调整代码",[101,102,103,104,105,106,107],"tensorflow==1.4","dlib==19.7.99","cv2","matplotlib==2.1.0","imutils==0.4.3","numpy==1.13.3","pandas==0.20.3",[13],[110,111],"tensorflow-examples","age-gender-cnn","2026-03-27T02:49:30.150509","2026-04-06T10:27:36.966937",[115,120,125,130,135,140,145],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},16111,"如何进行实时预测？","项目已添加一个简单的实时演示脚本，可以直接从网络摄像头捕获图片进行预测。如果尚未更新，目前只能输入单张图片进行预测，维护者计划在未来几天内添加完整的实时预测演示功能。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F1",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},16112,"为什么模型会将婴幼儿的年龄预测为成年人（如 20 岁）？","这是因为训练模型所使用的数据集中包含的婴儿样本非常少，导致模型缺乏对低龄段人脸特征的学习，因此无法准确预测婴幼儿的年龄。这是数据集分布不均导致的局限性，而非安装错误。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F36",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},16113,"项目是否提供预训练模型？运行 demo.py 时预测结果不变怎么办？","项目提供预训练模型。如果运行 demo.py 时对不同人脸给出相同的预测结果，通常是因为未正确加载模型权重。请仔细查阅 README 文件，其中包含了预训练模型的下载链接和放置路径（默认在 \"model\" 文件夹），确保该文件夹下存在对应的模型文件。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F33",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},16114,"遇到 'ValueError: Cannot feed value of shape...' 错误是什么原因？","该错误通常是因为图片中未检测到正面人脸。`dlib.get_frontal_face_detector` 如果没有检测到正面人脸会返回空结果，导致后续输入张量的形状与模型期望的形状（?, 160, 160, 3）不匹配。请确保测试图片中包含清晰的正面人脸。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F19",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},16115,"运行 convert_to_records.py 时报 'TypeError: NoneType object is not iterable' 错误如何解决？","这通常是由于数据目录路径配置错误导致的。请检查代码中指向 IMDB 数据集（imdb.mat 文件）的路径是否正确，确保文件存在于指定的目录下。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F13",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},16116,"在 macOS 上运行时遇到 cv2 导入错误（Symbol not found: _clock_gettime）怎么办？","这是 OpenCV (cv2) 在 macOS 上的兼容性问题，通常与系统库版本有关。由于维护者未在 macOS 环境下测试，建议尝试重新安装与当前 macOS 版本匹配的 OpenCV 版本，或者使用虚拟环境（如 conda）安装预编译的 opencv-python 包来解决依赖冲突。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F6",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},16117,"模型是基于 Inception ResNet 微调的吗？训练时更新了哪些参数？","是的，模型是在 Inception ResNet 架构基础上进行的微调。在训练过程中，网络的所有参数（包括底层特征提取层和最后一层全连接层）都进行了更新，而不仅仅是最后一层。","https:\u002F\u002Fgithub.com\u002FBoyuanJiang\u002FAge-Gender-Estimate-TF\u002Fissues\u002F2",[]]