Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSeg
提交
7465623a
P
PaddleSeg
项目概览
PaddlePaddle
/
PaddleSeg
通知
285
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
53
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleSeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
53
Issue
53
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7465623a
编写于
10月 14, 2019
作者:
L
LutaoChu
提交者:
wuzewu
10月 14, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
improve create_dataset_list (#56)
* improve create_dataset_list
上级
a0690c69
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
10 deletion
+33
-10
docs/data_prepare.md
docs/data_prepare.md
+13
-1
docs/imgs/file_list2.png
docs/imgs/file_list2.png
+0
-0
pdseg/tools/create_dataset_list.py
pdseg/tools/create_dataset_list.py
+20
-9
未找到文件。
docs/data_prepare.md
浏览文件 @
7465623a
...
...
@@ -65,6 +65,16 @@ PaddleSeg采用通用的文件列表方式组织训练集、验证集和测试
![
cityscapes_filelist
](
./imgs/file_list.png
)
若数据集缺少标注图片,则文件列表不用包含分隔符和标注图片路径,如下图所示。
![
cityscapes_filelist
](
./imgs/file_list2.png
)
**注意事项**
此时的文件列表仅可在调用
`pdseg/vis.py`
进行可视化展示时使用,
即仅可在
`DATASET.TEST_FILE_LIST`
和
`DATASET.VIS_FILE_LIST`
配置项中使用。
不可在
`DATASET.TRAIN_FILE_LIST`
和
`DATASET.VAL_FILE_LIST`
配置项中使用。
完整的配置信息可以参考
[
`./dataset/cityscapes_demo`
](
../dataset/cityscapes_demo/
)
目录下的yaml和文件列表。
### 文件列表生成
...
...
@@ -72,7 +82,9 @@ PaddleSeg提供了生成文件列表的使用脚本,可适用于自定义数
```
python pdseg/tools/create_dataset_list.py <your/dataset/dir> ${FLAGS}
```
运行后将在数据集根目录下生成训练/验证/测试集的文件列表(文件主名与
`--second_folder`
一致,扩展名为
`.list`
)。
运行后将在数据集根目录下生成训练/验证/测试集的文件列表(文件主名与
`--second_folder`
一致,扩展名为
`.txt`
)。
**Note:**
若训练/验证/测试集缺少标注图片,仍可自动生成不含分隔符和标注图片路径的文件列表。
#### 命令行FLAGS列表
...
...
docs/imgs/file_list2.png
0 → 100644
浏览文件 @
7465623a
90.6 KB
pdseg/tools/create_dataset_list.py
浏览文件 @
7465623a
...
...
@@ -16,6 +16,7 @@
import
glob
import
os.path
import
argparse
import
warnings
def
parse_args
():
...
...
@@ -110,29 +111,39 @@ def generate_list(args):
separator
=
args
.
separator
for
dataset_split
in
args
.
second_folder
:
print
(
"Creating {}.
lis
t..."
.
format
(
dataset_split
))
print
(
"Creating {}.
tx
t..."
.
format
(
dataset_split
))
image_files
=
get_files
(
0
,
dataset_split
,
args
)
label_files
=
get_files
(
1
,
dataset_split
,
args
)
if
not
image_files
:
img_dir
=
os
.
path
.
join
(
dataset_root
,
args
.
folder
[
0
],
dataset_split
)
print
(
"No files in {}"
.
format
(
img_dir
))
continue
elif
not
label_files
:
num_images
=
len
(
image_files
)
if
not
label_files
:
label_dir
=
os
.
path
.
join
(
dataset_root
,
args
.
folder
[
1
],
dataset_split
)
print
(
"No files in {}"
.
format
(
label_dir
))
num_label
=
len
(
label_files
)
if
num_images
<
num_label
:
warnings
.
warn
(
"number of images = {} < number of labels = {}."
.
format
(
num_images
,
num_label
))
continue
num_images
=
len
(
image_files
)
file_list
=
os
.
path
.
join
(
dataset_root
,
dataset_split
+
'.list'
)
file_list
=
os
.
path
.
join
(
dataset_root
,
dataset_split
+
'.txt'
)
with
open
(
file_list
,
"w"
)
as
f
:
for
item
in
range
(
num_images
):
left
=
image_files
[
item
].
replace
(
dataset_root
,
''
)
if
left
[
0
]
==
os
.
path
.
sep
:
left
=
left
.
lstrip
(
os
.
path
.
sep
)
right
=
label_files
[
item
].
replace
(
dataset_root
,
''
)
if
right
[
0
]
==
os
.
path
.
sep
:
right
=
right
.
lstrip
(
os
.
path
.
sep
)
line
=
left
+
separator
+
right
+
'
\n
'
try
:
right
=
label_files
[
item
].
replace
(
dataset_root
,
''
)
if
right
[
0
]
==
os
.
path
.
sep
:
right
=
right
.
lstrip
(
os
.
path
.
sep
)
line
=
left
+
separator
+
right
+
'
\n
'
except
:
line
=
left
+
'
\n
'
f
.
write
(
line
)
print
(
line
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录