tensorflow - tensorflow.python.framework.errors_impl.InvalidArgumentError:断言失败 - 有没有办法将我的 XML 注释文件转换为 CSV 文档?
问题描述
我正在使用 Python 3.9、Tensorflow 2.6.0、Ubuntu 20.04,并遵循本教程。这些tf.record
文件刚刚生成,我正在尝试开始我的培训。这些.config
文件是从Tensorflow 2 Detection Model Zoo下载的。
在尝试使用以下代码开始训练我的 Tensorflow 模型时...:
python model_main_tf2.py --model_dir=path_to_model_dir/my_ssd_resnet50_v1_fpn --pipeline_config_path=path_to_model_dir/my_ssd_resnet50_v1_fpn/pipeline.config
...我收到此错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError: assertion failed: [[0.0792563558][0.286692768][0.342465758]] [[0.000978473574][0.365949124][0.695694685]]
这个 Stack Overflow 帖子很好地概述了错误,但我仍然需要帮助来解决它。我已经检查过了,没有无效条目(照片尺寸之外的最小值/最大值,并且没有负值)。最可能的罪魁祸首是几个边界框是以相反的顺序绘制的,因此一些min
边界框的尺寸大于max
尺寸,正如帖子所讨论的那样。我需要在生成tf.record
文件之前更正边界框尺寸(对于我的训练和测试数据集)。
我已经用 Pascal VOC 格式的Labelimg标记了我的图像,所以我的每个图像都有一个XML
文件(我大约有 10,900 个)。有没有办法将我xml
的文件转换为CSV
文档然后生成tf.record
文件?
生成文件后,CSV
我可以使用以下代码更正列的顺序。我希望使用这些更正的文件来生成 tf.record 文件。min
max
csv
#Designed to correctly modify min/max columns in the CSV files generated when producing tf.record files
#Designed to run each line from the command line
import pandas
import numpy as np
import os
import csv
#Open CV file
df = pandas.read_csv("C:\\desired_directory\\train.csv")
df = df.assign(
xmin=df[['xmin', 'xmax']].min(1),
xmax=df[['xmin', 'xmax']].max(1),
ymin=df[['ymin', 'ymax']].min(1),
ymax=df[['ymin', 'ymax']].max(1),
)
df.to_csv("C:\\desired_directory_to_save_csv_file\\train.csv")
解决方案
推荐阅读
- python - 当我将其转换为 exe 时,Python 有效负载未连接
- wordpress - 如果特定产品是购物车中的唯一商品,则清除购物车(多个 IDS)
- python - 仅舍入特定值,而其他值保持不变
- javascript - JS MediaRecorder API 导出一个不可搜索的 WebM 文件
- azure-blob-storage - Azure 存储生命周期管理的选项有限?
- php - MySQL中同时查询多个列
- r - 在 keras_model_sequential() 或 k_clear_session() 之后,R 中的 Keras 卡住了
- c++ - 在 C++ 中读取格式化文本文件时出现问题
- javascript - 当作为 handleSubmit 函数发送到子组件时,反应状态不更新
- javascript - Formik 表单中的某些字段未更新