# faiss **Repository Path**: chewlll/faiss ## Basic Information - **Project Name**: faiss - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-01 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 集成学习猫狗识别项目 README 项目概述 本项目基于集成学习算法,结合 Faiss 构建 KNN 识别模块,并通过 Gradio 部署为网页应用,实现猫狗图像的分类识别。项目分为训练和推理两个核心部分,旨在展示集成学习在图像分类任务中的应用及模型部署流程。 环境依赖 Python 3.8+ 主要库: faiss-cpu(仅使用 CPU 版本) scikit-learn(集成学习算法支持) gradio(模型网页部署) xgboost、lightgbm 等集成学习框架 numpy、pandas(数据处理) matplotlib(可选,用于可视化) 可通过以下命令安装依赖: bash pip install faiss-cpu scikit-learn gradio xgboost lightgbm numpy pandas matplotlib 项目结构 plaintext cat-dog-ensemble/ ├── train_ensemble.py # 集成学习模型训练与保存脚本 ├── ensemble_webapp.py # Gradio网页应用部署脚本 ├── models/ # 训练好的集成学习模型保存目录 ├── README.md # 项目说明文档 功能说明 1. 集成学习模型训练(train_ensemble.py) 该脚本实现了多种集成学习算法(逻辑回归、随机森林、SVM、XGBoost、LightGBM、Bagging、Boosting、Stacking 等)的训练与评估,最终保存准确率最高的模型。 核心特点: 仅使用Faiss flat 索引(不依赖 VGG 等预训练模型) 仅使用CPU进行计算,无需 GPU 输出各模型的训练时间、预测时间及准确率,便于对比选择 运行方式: bash python train_ensemble.py 执行后会在models/目录下生成训练好的最优模型文件。 2. 网页应用推理(ensemble_webapp.py) 该脚本通过 Gradio 将训练好的集成学习模型部署为网页应用,支持用户上传猫狗图像并实时获取分类结果。 运行方式: bash python ensemble_webapp.py 执行后会在终端输出网页应用的访问链接,点击链接即可打开应用界面,上传图片后可查看模型的猫狗分类预测结果。 注意事项 训练耗时:集成学习模型训练过程较长(约 2 小时以上),建议在本地电脑完成训练任务。 版本兼容性:Gradio 近期版本更新频繁,若出现兼容性问题,可指定版本安装(如pip install gradio==3.28.3)。 Git 管理:请创建全新的 Git 项目对代码和模型进行版本管理,确保项目可追溯。 推理网页应用示例 上传一张猫的图片,网页将显示 “预测结果:猫” 及模型置信度;上传狗的图片则显示 “预测结果:狗”。 学级:2023 学号:202352320201 班级:2