# multiform_dog_cat **Repository Path**: Hlorina/master ## Basic Information - **Project Name**: multiform_dog_cat - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-02 - **Last Updated**: 2023-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目描述 本项目使用集成学习优化KNN算法识别猫狗 # 运行效果 ![Alt text](image-2.png) ![Alt text](image-3.png) # 功能 本项目实现了以下功能: - 使用FAISS库实现基于K近邻的图像分类器 - 支持使用CPU进行训练 - 支持特征提取方法:flat - 支持使用sklearn实现K近邻算法 # 依赖 本项目依赖以下库: - numpy - faiss - sklearn - argparse - logging - tqdm - cv2 - os - imutils - pickle - tensorflow - gradio - pickle - tabulate - xgboost # 使用 1. 安装依赖库 2. 运行训练脚本 ```bash python train.py -m [cpu|gpu] -f [flat|vgg] -l [sklearn|faiss] ``` 其中: - `-m`:选择训练模式,可选值为cpu或gpu - `-f`:选择特征提取方法,可选值为flat或vgg - `-l`:选择使用的库,可选值为sklearn或faiss 3. 查看训练结果 - 训练完成后,程序会输出最佳的k值和相应的准确率。 # 注意 - 本项目使用Python 3.8及以上版本进行开发和测试。 - 本项目使用FAISS库进行高效的相似度搜索和稠密向量的聚类。 - 本项目使用sklearn库中的K近邻分类器作为对比实验。 - 本项目使用logging库记录日志。 - 本项目使用tqdm库在循环中添加进度条。 - 本项目使用LR逻辑回归、随机森林、svm、硬投票、软投票、bagging、pasting、adaboost、gradient_boosting、stacking等模型训练。 ## 个人信息 - 学号: 202152320137 - 年级: 2021级 - 专业: 智能科学与技术 - 班级: 1班