dogs-vs-cats / README.md
codemetic's picture
initial commit
f145bd7
# 机器学习 - 猫狗识别简单实现
这是一个简单的基于 Tensorflow 的猫狗识别模型。用于入门机器学习以及了解机器学习中的基础概念。
## 安装
首先需要下载猫狗识别的数据集用于训练。可以参考在 HuggingFace 的 [Microsoft 的数据集](https://huggingface.co/datasets/microsoft/cats_vs_dogs)
下载训练数据集后,需要做一些整理,先确保项目目录结构如下:
```
train/
├── cats/
│ ├── cat.0.jpg
│ ├── ....
|── dogs/
├── dog.0.jpg
├── ....
```
然后复制本项目中的 `.env.example` 一份到本目录,重命名为 `.env` 并修改内容,改成 train 目录的所在地
```bash
TRAIN_DATASET = /path/to/your/dataset
```
然后在 conda 环境下安装依赖。
```bash
conda create --name cat-vs-dog python=3.9 --file requirements.txt
```
## 训练
执行命令
```bash
python train.py
```
将会在本目录下生成 `cat_dog_model.h5` 模型文件。
## 预测
准备好测试数据集的目录,目录下只需存放图片即可。
`.env` 文件中添加测试数据集的目录。
```bash
TEST_DATASET = /path/to/your/dataset
```
请先确保你已经训练好了数据并正确生成了 `cat_dog_model.h5` 模型文件。
如果你没条件训练,可以直接在本仓库的 Release 上[下载现有的模型](https://github.com/PrinOrange/dog-vs-cat/releases/tag/1.0.0)。
然后执行命令
```bash
python test.py
```
在命令台中会产生如下输出:
```plaintext
The model predicts the image xxx.jpg is a cat, with sigmoid 0.9999812
...
```