Plant_AI 项目使用教程
1. 项目目录结构及介绍
Plant_AI/
├── Assets/
├── Flask/
├── Models/
├── Src/
├── TestImages/
├── .gitignore
├── LICENSE
└── README.md
- Assets: 存放项目相关的资源文件,如图片、文档等。
- Flask: 包含Flask服务器的代码,用于部署和运行模型。
- Models: 存放预训练的PyTorch模型文件。
- Src: 包含构建模型的源代码。
- TestImages: 存放用于模型测试的样本图像。
- .gitignore: Git忽略文件,指定哪些文件或目录不需要被Git管理。
- LICENSE: 项目的许可证文件,本项目使用MIT许可证。
- README.md: 项目的说明文档,包含项目的基本介绍、使用方法等。
2. 项目的启动文件介绍
项目的启动文件位于 Flask/
目录下,主要文件为 app.py
。该文件是Flask应用的入口,负责启动Web服务器并加载模型进行预测。
# Flask/app.py
from flask import Flask, request, jsonify
from werkzeug.utils import secure_filename
import os
import torch
from Src.model import PlantDiseaseClassifier
app = Flask(__name__)
# 加载模型
model = PlantDiseaseClassifier()
model.load_state_dict(torch.load('Models/model.pth'))
model.eval()
@app.route('/predict', methods=['POST'])
def predict():
if 'file' not in request.files:
return jsonify({'error': 'No file part'})
file = request.files['file']
if file.filename == '':
return jsonify({'error': 'No selected file'})
if file:
filename = secure_filename(file.filename)
file.save(os.path.join('TestImages', filename))
result = model.predict(os.path.join('TestImages', filename))
return jsonify({'prediction': result})
if __name__ == '__main__':
app.run(debug=True)
启动步骤
- 确保已安装Flask和PyTorch。
- 进入
Flask/
目录。 - 运行
python app.py
启动Flask服务器。 - 访问
http://127.0.0.1:5000/predict
进行预测。
3. 项目的配置文件介绍
项目中没有显式的配置文件,但可以通过修改 Flask/app.py
中的代码来调整模型路径、上传文件路径等配置。
例如,修改模型路径:
model.load_state_dict(torch.load('Models/model.pth'))
可以根据需要修改 Models/model.pth
为其他模型文件路径。
其他配置
- 上传文件路径: 默认上传文件路径为
TestImages/
,可以通过修改app.py
中的file.save
路径来更改。 - 端口号: 默认Flask服务器运行在5000端口,可以通过修改
app.run(debug=True, port=8080)
来更改端口号。
通过以上步骤,您可以顺利启动并配置Plant_AI项目,进行植物病害的图像分类和预测。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考