全部产品
云市场

TFRecord数据转换

更新时间:2020-05-06 11:07:34

TFRecord数据转换

简介

PAI提供多机数据转换的功能,方便用户快速的把图片文件转换为tfrecord文件,进而使用训练组件进行训练。如果你是使用PAi标注平台,那么会自动产生标记结果文件,可以直接调用数据转换组件产生tfrecord。 如果你是通过自己的标注平台进行数据标注,需要把标记文件转换为pai标注文件格式。

pai命令示例

图片分类/图片多标签分类

  1. pai -name easy_vision_ext
  2. -Dbuckets='oss://{bucket_name}.{oss_host}/{path}/'
  3. -Darn='acs:ram::*******:role/aliyunodpspaidefaultrole'
  4. -DossHost='{oss_host}'
  5. -Dcmd convert
  6. -Dlabel_file 'oss://{bucket_name}/path/to/your/{label_file}'
  7. -Dconvert_param_config '
  8. --class_list_file oss://{bucket_name}/path/to/your/{class_list_file}
  9. --max_image_size 600
  10. --write_parallel_num 8
  11. --num_samples_per_tfrecord 128
  12. --test_ratio 0.1
  13. --model_type CLASSIFICATION
  14. '
  15. -Doutput_tfrecord 'oss://{bucket_name}/path/to/output/data_prefix'
  16. -Dcluster='{
  17. \"worker\" : {
  18. \"count\" : 1,
  19. \"cpu\" : 800
  20. }
  21. }'

文字检测识别

  1. pai -name easy_vision_ext
  2. -Dbuckets='oss://{bucket_name}.{oss_host}/{path}/'
  3. -Darn='acs:ram::*******:role/aliyunodpspaidefaultrole'
  4. -DossHost='{oss_host}'
  5. -Dcmd convert
  6. -Dlabel_file 'oss://{bucket_name}/path/to/your/{label_file}'
  7. -Dconvert_param_config '
  8. --model_type TEXT_END2END
  9. --default_class text
  10. --max_image_size 2000
  11. --char_replace_map_path oss://{bucket_name}/path/to/your_char_replace_map
  12. --default_char_dict_path oss://{bucket_name}/path/to/your_char_dict
  13. --test_ratio 0.1
  14. --write_parallel_num 8
  15. --num_samples_per_tfrecord 64
  16. '
  17. -Doutput_tfrecord 'oss://pai-vision-data-hz/test/convert/recipt_text_end2end/data'

参数说明

参数名称 参数描述 参数值格式 默认值
cmd 只能填 convert 字符串 必填,填写 “convert”
buckets 可选,输入bucket,可多个,以逗号隔开, 每个bucket须以”/“结尾 “oss://bucket_name/?role_arn=xxx&host=yyy” “oss://bucket_1/?role_arn=xxx&host=yyy,oss://bucket_2/”
label_file PAI标注文件的oss路径,具体格式说明参考PAI标注文件格式说明 oss://your_bucket/xxx.csv 必选参数
convert_param_config 转换配置参数,详细说明参考下方表格
和convert_config参数选择其中一个即可
—parama valuea —paramb valueb 可选,默认为””
output_tfrecord 输出tfrecord前缀 oss://your_dir/prefix 可选,默认为””
cluster 分布式转换参数配置 json格式字符串 “{\”worker\”:{\”count\”:3, \”cpu\”: 800, \”gpu\”:0, \”memory\”: 20000}}”

convert_param_config

参数名称 参数描述 参数值格式 默认值
model_type 转换数据用于何种模型训练 字符串 必选参数,可选范围如下:
CLASSIFICATION (图像分类/多标签)
DETECTION (物体检测)
SEGMENTATION (语义分割)
INSTANCE_SEGMENTATION (instance分割)
TEXT_END2END (端到端ocr)
TEXT_RECOGNITION (单行文字识别)
TEXT_DETECTION (文字检测)
VIDEO_CLASSIFICATION (视频分类)
SELF_DEFINED(自定义转换使用)
class_list_file 类别列表文件路径,文件内容每行格式为
类别名
或者
类别名:映射类别名
oss://path/to/your/classlit 可选参数,默认为’’
test_ratio 测试数据分割比例,设置为0,则所有数据转换为训练数据, 0.1表示10%数据作为验证集 0.1 可选,默认为0.1
max_image_size 图片最大边限制
如果设置,大图片将被resize后存入tfrecord,节省存储、提高数据读取速度。
int 可选,默认为 None(即不指定改参数)
max_test_image_size 同max_image_size, 用于测试数据设置 int 可选,默认值为${max_image_size}
default_class 默认类别名称,
所有没有在class_list中找到的类别都会被映射到这个名称
string 可选,默认为None
error_class 错误类别名称,
含有该类别的物体和box将会被过滤,不参与训练
string 可选,默认不传该参数
ignore_class 忽略类别名称,
只用于检测模型,含有该类别的box会在训练中被忽略
string 可选,默认不传该参数
converter_class 转换类名称 string 可选,默认为 QinceConverter
seperator 分隔符
用于标记内容的split
string 可选,默认不传该参数
image_format tfrecord中图片编码方式 string 可选, 默认为jpg
read_parallel_num 读取并发数 int 可选,默认为10
write_parallel_num 写tfrecord并发数 int 可选,默认为1
num_samples_per_tfrecord 每个tfrecord保存图片数 int 可选,默认为256
user_defined_converter_path 用户自定义converter代码路径,http/oss路径, 示例为http://path/to/your/converter.py string 可选
user_defined_generator_path 用户自定义generator代码路径,http/oss路径, 示例为http://path/to/your/generator.py string 可选
generator_class 自定义generator类名 string 可选
char_replace_map_path 字符映射替换文件,csv文件,包含两列[original, replaced], original的字符江北replaced替换 string 可选,默认不传该参数
default_char_dict_path 字符到id映射文件路径,每一行是一个字符, 第k行的字符id为k-1 string 可选,默认不传该参数
decode_type 视频解码方式 int,
取值范围如下:
1—Intra only,
2—Keyframe only
3—Without bidir
4—Decode all
可选,默认4
sample_fps 抽帧频率 float 可选,默认5
reshape_size 输出帧的大小 int 可选,默认224
decode_batch_size 每次decode步骤中的batch大小 int 可选,默认10
decode_keep_size 不同batch中overlap的帧的数量 int 可选,默认0


专有参数说明:
model_type 为 TEXT_END2END TEXT_RECOGNITION
char_replace_map_path default_char_dict_path 可用
model_type为VIDEO_CLASSIFICATION
decode_type sample_fps reshape_size decode_batch_size decode_keep_size 可用