TensorFlow 对象检测 API 损失急剧增加

     2023-02-16     249

关键词:

【中文标题】TensorFlow 对象检测 API 损失急剧增加【英文标题】:Tensorflow object detection API loss increases dramatically 【发布时间】:2021-10-20 08:25:59 【问题描述】:

我正在使用自己的数据训练 tensorflow 对象检测 API,但由于某种原因,所有损失似乎都飙升了数千步。你可以在这张图上看到:

一开始它应该会下降,但不知何故它会爆炸。

我使用的模型是带有预训练 coco 检查点的 ssd_resnet50_v1_fpn 但此信息可能无关紧要,因为我认为任何模型都会发生这种情况(我已经尝试了 2 个模型,每个模型都尝试了几次,目前所有模型的行为都是相同的我的尝试)。我正在按照本教程 https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html 对其进行训练,因此我使用 model_main_tf2.py 脚本来训练模型。

很奇怪的是,我的一个同事没有这个问题。正如您在此处看到的,他的损失演变似乎很正常:

他为我提供了运行训练所需的所有文件(例如 tf.records、labelmap.txt、pipeline.config 文件、ckpt-0.index 等)。他可能很幸运,而我不是。但是很奇怪,每次他运行它时,他的行为都是正常的,而我没有……至少发生这种情况的几率非常低。

不知道是否重要,但我有 GeForce RTX 3060 Ti,Python:3.9.6,Tensorflow:2.5.0,Cudnn:8.1.1 和 Cuda:11.2 而他拥有 Geforce GTX 1650 Super,Python:3.9.6,Tensorflow:2.5.1,Cudnn:8.1.0 和 Cuda:11.2

知道是什么原因造成的吗?

编辑 1:我重新运行了它,而我的计算机上什么也没做,它运行得很好。它现在显示了预期的行为。我会在正常使用它时重新运行它(也许看视频或其他东西),这是我在最后一次运行时所做的,显示出奇怪的行为,看看这种奇怪的行为是否再次发生。您认为这可能是导致这种行为的原因吗?

【问题讨论】:

【参考方案1】:

我也会遇到同样的问题。在不同数量的数千步之后,损失就会爆炸。我也不确定问题的原因。

在我看来,这可能是 GPU 问题或数据有问题。但那时我应该至少完成一次。如果您在这方面取得任何进展,请告诉我:)

【讨论】:

感觉学习率跟这个有很大关系。在上面的例子中,我没有改变推荐的学习率,而是改变了批大小(我使用了 2 的批大小,这没有多大意义,但在遇到内存问题之前我不能超过这个值)。如果您将学习率更改为较小的值(基本上我将批量大小除以 64,所以我将学习率除以相同的数量)您将不再有这种行为。但这并不能解释一切,因为我的朋友只是运行批量大小 1 并保持学习率不变,从未遇到过这个问题

在 TensorFlow 对象检测 API 中绘制验证损失

】在TensorFlow对象检测API中绘制验证损失【英文标题】:PlotvalidationlossinTensorflowObjectDetectionAPI【发布时间】:2019-03-2119:35:29【问题描述】:我正在使用Tensorflow对象检测API来检测和定位图像中的一类对象。为此,我使用了预训练的f... 查看详情

Tensorflow keras fit - 准确性和损失都急剧增加

】Tensorflowkerasfit-准确性和损失都急剧增加【英文标题】:Tensorflowkerasfit-accuracyandlossbothincreasingdrastically【发布时间】:2020-09-1100:13:56【问题描述】:ubuntu-20.04张量流2.2使用的数据集=MNIST我正在测试tensorflow,我注意到验证sparse_cate... 查看详情

具有奇怪检测结果的 TensorFlow 对象检测 api

】具有奇怪检测结果的TensorFlow对象检测api【英文标题】:Tensorflowobjectdetectionapiwithweirddetectionresult【发布时间】:2018-02-2715:50:51【问题描述】:我已经使用rfcn_resnet101模型在我自己的数据集上训练了tensorflow对象检测api,其中包含1... 查看详情

TensorFlow 对象检测 API 中未检测到任何内容

】TensorFlow对象检测API中未检测到任何内容【英文标题】:NothingisbeingdetectedinTensorflowObjectdetectionAPI【发布时间】:2018-04-2413:04:47【问题描述】:我正在尝试实现Tensorflow对象检测API示例。我正在关注sentdex视频以开始使用。示例代... 查看详情

Tensorflow 对象检测 API - 验证丢失行为

】Tensorflow对象检测API-验证丢失行为【英文标题】:TensorflowobjectdetectionAPI-validationlossbehaviour【发布时间】:2020-01-3120:52:57【问题描述】:我正在尝试使用TensorFlow对象检测API来识别图片和视频中的特定对象(吉他)。关于数据,... 查看详情

Tensorflow 对象检测 API 中的过拟合

】Tensorflow对象检测API中的过拟合【英文标题】:OverfittinginTensorflowObjectdetectionAPI【发布时间】:2020-06-1623:11:03【问题描述】:我正在自定义数据集(即车牌数据集)上训练tensorflow对象检测API模型。我的目标是使用tensorflowlite将此... 查看详情

Tensorflow 2 对象检测 API:Numpy 版本错误

】Tensorflow2对象检测API:Numpy版本错误【英文标题】:Tensorflow2ObjectDetectionAPI:NumpyVersionErrors【发布时间】:2021-05-2802:06:10【问题描述】:我遵循了“训练自定义对象检测器”教程(https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/... 查看详情

TensorFlow对象检测API教程中获取边界框坐标

】TensorFlow对象检测API教程中获取边界框坐标【英文标题】:GettheboundingboxcoordinatesintheTensorFlowobjectdetectionAPItutorial【发布时间】:2018-08-0113:42:03【问题描述】:我是Python和Tensorflow的新手。我正在尝试从TensorflowObjectDetectionAPI运行对... 查看详情

提取 Tensorflow 对象检测 API 的图像对象

】提取Tensorflow对象检测API的图像对象【英文标题】:ExtractimagesobjectofTensorflowobjectdetectionAPI【发布时间】:2021-01-3122:25:17【问题描述】:我的问题是我有ymin、xmin、ymax、xmax和盒子形状。我无法提取检测到的对象,它只显示所有图... 查看详情

TensorFlow 对象检测 API 过拟合

】TensorFlow对象检测API过拟合【英文标题】:TensorflowobjectdetectionAPIoverfitting【发布时间】:2021-10-1807:44:52【问题描述】:我正在借助以下教程使用Tensoflow对象检测API创建树检测器:https://www.youtube.com/watch?v=a1br6gW-8Ss我的问题是模型... 查看详情

Tensorflow 对象检测 API:TensorBoard 中损坏的训练图像

】Tensorflow对象检测API:TensorBoard中损坏的训练图像【英文标题】:TensorflowObjectDetectionAPI:CorruptedtrainingimagesinTensorBoard【发布时间】:2021-02-1714:39:29【问题描述】:我在TensorFlow2中使用TensorFlow对象检测API,但在TensorBoard中显示的训... 查看详情

在 TensorFlow 对象检测 API 中打印类名和分数

】在TensorFlow对象检测API中打印类名和分数【英文标题】:PrintingclassnameandscoreinTensorflowObjectDetectionAPI【发布时间】:2018-05-1713:35:22【问题描述】:我正在使用Tensorflow对象检测API,一切正常,但我想打印一个格式为Objectname,Score或... 查看详情

为啥 Keras 损失在第一个 epoch 之后急剧下降?

...【发布时间】:2020-11-0416:25:11【问题描述】:我正在Keras/Tensorflow中训练U-NetCNN,发现损失在第一个epoch的最后一批和第二个epoch的第一批之间大幅减少:Epoch0000 查看详情

Tensorflow 对象检测 API 数据增强边界框

】Tensorflow对象检测API数据增强边界框【英文标题】:TensorflowObjectDetectionAPIDataAugmentationBoundingBoxes【发布时间】:2019-04-2217:13:19【问题描述】:对于使用model_main.py通过TensorflowAPI进行对象检测,当我在pipeline.config的data_augmentation_opt... 查看详情

TensorFlow 对象检测 API 中的超参数优化

】TensorFlow对象检测API中的超参数优化【英文标题】:Hyper-parameteroptimizationintensorflowobjectdetectionAPI【发布时间】:2019-01-1102:58:22【问题描述】:有没有办法在对象检测API的配置文件中指定Hyperopt等超参数优化来微调模型?【问题讨... 查看详情

TensorFlow 对象检测 API 没有 train.py 文件

】TensorFlow对象检测API没有train.py文件【英文标题】:TensorflowObjectDetectionAPInotrain.pyfile【发布时间】:2018-12-2613:08:09【问题描述】:我已根据提供的文档正确安装了Tensorflow对象检测API。但是,当我需要训练我的网络时,research/objec... 查看详情

如何在 Tensorflow 对象检测 API 中查找边界框坐标

】如何在Tensorflow对象检测API中查找边界框坐标【英文标题】:HowtofindboundingboxescoordinatesinTensorflowObjectDetectionAPI【发布时间】:2019-09-3018:42:42【问题描述】:我正在使用Tensorflow对象检测API代码。我训练了我的模型并获得了很好的... 查看详情

如何修改 ssd mobilenet 配置以使用 tensorflow 对象检测 API 检测小对象?

】如何修改ssdmobilenet配置以使用tensorflow对象检测API检测小对象?【英文标题】:HowtomodifyssdmobilenetconfigtodetectsmallobjectsusingtensorflowobjectdetectionAPI?【发布时间】:2020-06-1715:18:47【问题描述】:我正在尝试使用ssdmobilenetv2从ipcam视频... 查看详情