使用TensorFlow Object Detection API 训练模型方法

本文详细解析了使用TensorFlow Object Detection API训练SSD模型时,如何调整学习率、设置迁移学习、确定batchsize、分类个数、数据增强、先验框及输入图片大小等关键配置参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TensorFlow Object Detection API用于训练SSD系列模型还是非常方便的。只要修改相应模型对应的配置文件即可。下面以ssd_inception_v2_coco.config文件为例,讲一下训练的时候需要修改的地方。

1.学习率调整

在这里插入图片描述
学习率是训练过程当中设置的非常重要的超参数。
这里设置了初始的学习率0.004。后面是衰减步数decay_steps和衰减因子decay_factor。
如果decay_steps=10000,decay_factor=0.95则表示每训练一万步学习率会乘以0.95,每训练一万步就乘以0.95。
前面学习率较大,加快训练速度,不要陷入某个局部最优解里;后面学习率较小,可以精细调节找到理想参数。
学习率的初始值,衰减步数和衰减因子需要多次进行尝试找到理想的组合。训练的过程也是不断摸索的过程。

2.迁移学习设置

from_detection_checkpoint: true
设置成true表示迁移学习。这时候需要指定预训练模型。站在别人的肩膀上进行训练。
如果是false则表示重新开始训练。
如果用于训练的数据量不是很大一般进行迁移学习即可。
卷积特征提取前面的都是共性的特征,一些边缘、形状等一些图像公共的特征。所以预训练模型训练出来的参数是可以使用的。后面提取的特征是目标级的特征,后面的参数需要根据自己的应用场景分类情况重新训练。

3.batch size设置

在这里插入图片描述
batch size在配置文件里默认的是24。
这个值如果为1表示训练一个样本更新一次参数,显然这样不容易让模型收敛,而且不能发挥GPU并行计算的特点。batch size根据自己训练机器的性能选较大的值。

4.分类个数设置

在这里插入图片描述
上面的例子是4种分类。
注意SSD模型标签里设置的分类个数是真实分类+1。
在博客SSD模型原理以及在Jetson-nano上部署SSD模型里讲到的ssd_coco_labels.txt里需要设置多一个类别。
在进行模型转换的时候config.py文件里也需要设置+1的分类。
SSD比较特殊,包含了背景的特殊类别。

5.数据增强设置

在这里插入图片描述
上面设置了训练步数是200000,这个根据自己情况进行修改。
数据增强有2种设置random_horizontal_flip(水平翻转)和ssd_random_crop(随机裁剪)。ssd_random_crop可以用于产生大目标。
这种数据增强是在训练过程当中产生数据,不是真实的把新的数据写到硬盘上。实际上也是增加了数据集,当然训练的时间也会相应增加。
不是所有的数据增强方法都是有好处的,因为有些应用场景比较特殊。
比如random_vertical_flip垂直翻转这种数据增强方式在有的场合不适用。
random_adjust_saturation 饱和度
random_adjust_contrast 对比度
random_adjust_brightness 亮度

6.先验框的设置

在这里插入图片描述
目标框可以根据应用场景进行设置。如果目标的长宽比不是很夸张,可以设置成
aspect_ratios: 1.0
aspect_ratios: 1.5
aspect_ratios: 0.6666
aspect_ratios: 2.0
aspect_ratios: 0.5

7.输入图片大小设置

在这里插入图片描述
图片大小的设置会影响到推理速度,更大的图片推理会慢一些。但是更大的图片能获得更大的特征图,可以增强对小目标的识别能力。

### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值