基于PyTorch的动物图像识别系统 开源 基于PyTorch的动物图像识别系统「基于PyTorch的动物图像识别系统」/~5e2a3ZjJrp~:/链接https://pan.quark.cn/s/bbf4129b2a6e基于 PyTorch 的动物图像识别系统这是一个面向教学与毕业设计演示的桌面端动物图像识别项目。系统使用 PyTorch 和 ResNet18 完成图像分类采用 ImageNet 预训练权重进行迁移学习并通过 PyQt6 提供图形界面。项目自带已训练模型可在不下载训练数据集的情况下直接识别图片。主要功能图形化首页展示项目简介、技术栈和数据集信息。单图识别选择本地图片输出 Top-3 动物类别和置信度。模型训练在 GUI 中配置 Epoch、Batch Size 和学习率。训练可视化实时显示训练日志、进度以及 Loss/Accuracy 曲线。命令行训练支持通过参数快速启动训练任务。技术方案模块技术深度学习框架PyTorch 2.8模型ResNet18、ImageNet 预训练、迁移学习图形界面PyQt6图像处理torchvision、Pillow训练曲线Matplotlib运行设备CPU代码默认配置推理流程加载图片 → RGB 转换 → 缩放至 224×224 → ImageNet 标准化 → ResNet18 前向计算 → Softmax → 输出 Top-3 结果。已支持的类别系统支持 15 类动物鸟、猫、牛、鸡、狗、海豚、鸭、大象、长颈鹿、猴子、猪、兔子、老鼠、绵羊、老虎。环境要求Windows 10/1164 位 Python 3.9本项目已在 Python 3.9.5 验证无需 NVIDIA 显卡默认使用 CPU建议预留至少 2 GB 磁盘空间用于 Python、PyTorch 和模型文件验证环境版本如下Python 3.9.5 torch 2.8.0cpu torchvision 0.23.0cpu PyQt6 6.4.2 matplotlib 3.7.2 Pillow 11.3.0快速启动在当前项目目录双击run.bat或在 PowerShell 中执行 C:\Users\PAN\Documents\Codex\venvs\animal-recognition-py39\Scripts\python.exe main.py进入“图像识别”页面后选择图片并点击识别即可。模型文件models/best_model.pth和标签文件models/labels.json已随项目提供。重新创建环境如果把项目复制到另一台电脑可双击setup_env.bat。脚本会在%USERPROFILE%\Documents\Codex\venvs\animal-recognition-py39创建短路径环境从 PyTorch 官方 CPU 软件源安装匹配的 PyTorch/torchvision再安装其余依赖。把环境放在短路径可以避免本项目中文长目录触发 Windows 的 260 字符路径限制。也可以手动执行$venv $env:USERPROFILE\Documents\Codex\venvs\animal-recognition-py39 py -3.9 -m venv $venv $venv\Scripts\python.exe -m pip install --upgrade pip $venv\Scripts\python.exe -m pip install torch2.8.0 torchvision0.23.0 --index-url https://download.pytorch.org/whl/cpu $venv\Scripts\python.exe -m pip install PyQt66.4.2 PyQt6-Qt66.4.2 PyQt6-sip13.4.1 matplotlib3.7.2 Pillow11.3.0 numpy1.26.2如果电脑配置了失效的系统代理而出现check_hostname requires server_hostname可在当前 PowerShell 会话中先执行$env:NO_PROXY* $env:no_proxy*然后重新运行安装命令。使用自带测试图片项目外层的测试图片目录中提供了大象、羊和老虎图片。打开系统后可直接选择这些图片测试。当前附带模型在本机实测可以正常载入并完成 Top-3 推理。训练模型训练需要额外下载动物数据集并按以下目录组织data/ └── animal_image/ ├── train/ │ ├── bird/ │ ├── cat/ │ └── ... └── test/ ├── bird/ ├── cat/ └── ...每个类别对应一个英文文件夹文件夹名称必须与config.py中的CLASS_LABELS一致。GUI 训练 $env:USERPROFILE\Documents\Codex\venvs\animal-recognition-py39\Scripts\python.exe main.py进入“模型训练”页面设置参数并点击“开始训练”。命令行训练 $env:USERPROFILE\Documents\Codex\venvs\animal-recognition-py39\Scripts\python.exe train.py --epochs 5 --batch-size 16 --lr 0.001首次重新训练时需要联网下载约 45 MB 的 ResNet18 ImageNet 预训练权重。训练完成后最佳权重会保存为models/best_model.pth标签映射会保存为models/labels.json。项目结构AnimalRecognition/ ├── main.py # PyQt6 程序入口 ├── train.py # 命令行训练入口 ├── config.py # 路径、标签和默认超参数 ├── requirements.txt # 固定版本依赖 ├── run.bat # 使用已配置环境启动系统 ├── setup_env.bat # 在新电脑创建 CPU 环境 ├── assets/ # 界面图片与图标 ├── data/ # 训练/验证数据目录 ├── models/ │ ├── best_model.pth # 已训练模型权重 │ └── labels.json # 类别索引和中英文标签 └── src/ ├── dataset.py # 数据集与图像预处理 ├── model.py # ResNet18 构建和权重加载 ├── predict.py # 单图 Top-K 推理 ├── trainer.py # 训练与验证循环 ├── matplotlib_config.py # 中文字体配置 └── ui/ # 首页、识别页、训练页与样式常见问题提示“模型未训练”确认models/best_model.pth和models/labels.json都存在。训练时提示找不到数据目录确认数据位于data/animal_image/train和data/animal_image/test。首次训练下载失败检查网络或代理设置只做图片识别不需要下载预训练权重。识别结果不理想置信度只反映当前模型输出。可以增加训练数据、检查类别均衡、延长训练轮数并使用更丰富的数据增强。出现 torchvision 导入错误必须让 Torch 2.8 与 torchvision 0.23 配套使用不要混用旧版 torchvision。说明本项目适合用于深度学习、迁移学习、图像分类和 PyQt6 桌面应用的学习与演示。模型预测结果仅供学习参考。