到目前为止,您应该已经执行以下操作:
- 已安装的TensorFlow
- 已安装的TensorFlow对象检测API
既然我们已经完成了上述所有工作,我们就可以开始做一些很酷的事情。在这里,我们将看到如何训练自己的对象检测器,由于它听起来并不简单,因此我们来看看:
- 如何组织工作区/培训文件
- 如何准备/注释图像数据集
- 如何从此类数据集生成tf记录
- 如何配置简单的培训管道
- 如何训练模型并监控其进度
- 如何导出结果模型并将其用于检测对象。
1.2.1 准备工作区
如果您已按照本教程进行操作,那么现在应该📂Tensorflowl在<PATH_TO_TF>(例如C:/Users/sglvladi/Documents)下放置一个文件夹,其中包含以下目录树:
TensorFlow/
├─ addons/ (Optional)
│ └─ labelImg/
└─ models/
├─ community/
├─ official/
├─ orbit/
├─ research/
└─ ...
现在在下面创建一个新文件夹📂Tensorflow并调用它📂workspace。这是内部的workspace,我们将存储所有我们的训练调校。现在,让我们进入工作区下,并创建另一个名为的文件夹📂training_demo。现在我们的目录结构应该是这样的:
TensorFlow/
├─ addons/ (Optional)
│ └─ labelImg/
├─ models/
│ ├─ community/
│ ├─ official/
│ ├─ orbit/
│ ├─ research/
│ └─ ...
└─ workspace/
└─ training_demo/
该📂training_demo文件夹将是我们的训练文件夹,其中将包含与我们的模型训练有关的所有文件。每次我们希望在不同的数据集上进行训练时,建议创建一个单独的训练文件夹。培训文件夹的典型结构如下所示。
training_demo/
├─ annotations/
├─ exported-models/
├─ images/
│ ├─ test/
│ └─ train/
├─ models/
├─ pre-trained-models/
└─ README.md
这是上述树中显示的每个文件夹/文件管理器的说明:
- annotations:此文件夹将用于存储所有*.csv文件和各自的TensorFlow *.record文件,其中包含我们的数据集图像的注释列表。
- exported-models:此文件夹将用于存储我们训练有素的模型的导出版本。
- images:此文件夹包含我们数据集中所有图像的副本,以及*.xml为每个图像生成的相应文件(一旦labelImg用于注释对象)。
- images/train:此文件夹包含所有图像的副本以及相应的*.xml文件,这些文件将用于训练我们的模型。
- images/test