云服务器内容精选

  • 产品功能 表/文件/整库迁移 支持批量迁移表或者文件,还支持同构/异构数据库之间整库迁移,一个作业即可迁移几百张表。 增量数据迁移 支持文件增量迁移、关系型数据库增量迁移、HBase/CloudTable增量迁移,以及使用Where条件配合时间变量函数实现增量数据迁移。 事务模式迁移 支持当 CDM 作业执行失败时,将数据回滚到作业开始之前的状态,自动清理目的表中的数据。 字段转换 支持去隐私、字符串操作、日期操作等常用字段的数据转换功能。 文件加密 在迁移文件到文件系统时,CDM支持对写入云端的文件进行加密。 MD5校验一致性 支持使用MD5校验,检查端到端文件的一致性,并输出校验结果。 脏数据归档 支持将迁移过程中处理失败的、被清洗过滤掉的、不符合字段转换或者不符合清洗规则的数据单独归档到脏数据日志中,便于用户查看。并支持设置脏数据比例阈值,来决定任务是否成功。
  • CDM迁移原理 用户使用CDM服务时,CDM管理系统在用户VPC中发放全托管的CDM实例。此实例仅提供控制台和Rest API访问权限,用户无法通过其他接口(如SSH)访问实例。这种方式保证了CDM用户间的隔离,避免数据泄漏,同时保证VPC内不同云服务间数据迁移时的传输安全。用户还可以使用VPN网络将本地数据中心的数据迁移到云服务,具有高度的安全性。 CDM数据迁移以抽取-写入模式进行。CDM首先从源端抽取数据然后将数据写入到目的端,数据访问操作均由CDM主动发起,对于数据源(如RDS数据源)支持SSL时,会使用SSL加密传输。迁移过程要求用户提供源端和目的端数据源的用户名和密码,这些信息将存储在CDM实例的数据库中。保护这些信息对于CDM安全至关重要。 图2 CDM迁移原理
  • 示例代码 查询数据集版本列表 from modelarts.session import Session from modelarts.dataset import Dataset session = Session() dataset = Dataset(session, dataset_id) version_list = dataset.list_versions() print(version_list) # 打印数据集的版本列表
  • 参数说明 表1 请求参数 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法请参见Session鉴权。 dataset_type 否 Integer 根据数据集类型查询数据集列表,默认为空。可选值如下: 0:图像分类 1:物体检测 3: 图像分割 100:文本分类 101:命名实体 102:文本三元组 200:声音分类 201:语音内容 202:语音分割 400:表格数据集 600:视频标注 900:自由格式 dataset_name 否 String 模糊匹配数据集名称,默认为空。 offset 否 Integer 分页列表的起始页,默认为0。 limit 否 Integer 指定每一页返回的最大条目数,取值范围[1,100],默认为10。
  • 示例代码 示例一:查询数据集列表 from modelarts.session import Session from modelarts.dataset import Dataset session = Session() # 查询数据集列表 dataset_list = Dataset.list_datasets(session) print(dataset_list) # 打印出查询结果 示例二:根据数据集类型查询数据集列表 # 查询图像分类数据集 dataset_list = Dataset.list_datasets(session, dataset_type=0) print(dataset_list) 示例三:根据数据集名称查询数据集列表 # 查询名称中包含dataset的数据集列表 dataset_list = Dataset.list_datasets(session, dataset_name="dataset") print(dataset_list)
  • SOURCE_DATASET_FILE_DIR SOURCE_DATASET_FILE_DIR 为标注或通用存储生成数据集时的源数据索引json文件,示例: 标注: /tmp/dataset-temp/{versionId}/f7c9a054-3c9e-49c7-8934-a1e1d668eb12/result_frame.json Json文件内容示例: 通用存储: /tmp/data-warehouse/warehouse-dataset/ 注:通用存储可能存在多个索引json文件,需遍历。(file_attributes_1.json, file_attributes_2.json……) Json文件内容示例:
  • OCTPS_DATASET_DIR OCTPS_DATASET_DIR 为数据集源数据的数据路径,根据不同的数据来源,所挂路径不同, 示例: 本地:/tmp/dataset-temp/local_import/6f91947c-cd47-434b-b654-8332da961d7a/f7c9a054-3c9e-49c7-8934-a1e1d668eb12/ 标注:/tmp/label-data/ 数据仓库 :/tmp/warehouse/ 生成子集,视图:/tmp/dataset-new/6f91947c-cd47-434b-b654-8332da961d7a/dataset/ OBS需通过用户桶的ak,sk依据OBS相关的sdk获取到用户所需筛选的源数据,示例: 图1 示例图1 图2 示例图2
  • TARGET_RESULT_DIR TARGET_RESULT_DIR 为存放筛选或者格式转换后数据的路径,本地路径示例: /tmp/temp-data/dataset/c8a73760-b5df-4f61-81d7-17e144fa6d69/result/data/ 对应OBS中raw桶路径为: temp-data/dataset/c8a73760-b5df-4f61-81d7-17e144fa6d69/result/data/
  • Octopus 目录 标注文件目录结构 +--- 1599625710056 | +--- 1599625710056.jpg | +--- 1599625710056.json +--- 1599625740054 | +--- 1599625740054.jpg | +--- 1599625740054.json 推理文件目录结构 +--- 1599625710056 | +--- 1599625710056.json +--- 1599625740054 | +--- 1599625740054.json
  • KITTI 目录 标注文件目录结构 +--- image_2 | +--- 000000.png | +--- 000001.png | +--- 000002.png +--- label_2 | +--- 000000.txt | +--- 000001.txt | +--- 000002.txt 推理文件目录结构 +--- 000000.txt +--- 000001.txt +--- 000002.txt 示例标注/推理文件 2D目标检测-KITTI.txt Car 0.00 0 -1.57 956 503 980 524 2.61 2.77 5.92 3.39 54.15 -0.01 -1.55 0. Car 0.00 0 -1.57 904 508 931 531 2.36 1.41 11.72 -3.22 40.29 1.14 -1.57 0. Car 0.00 0 -1.57 1118 514 1149 538 1.138 2.723 10.583 -0.636 40.702 0.747 -1.57 0. Car 0.00 0 -1.57 1018 497 1038 520 1.32 1.14 3.78 2.43 37.73 -1.08 -1.57 0. Car 0.00 0 -1.57 1048 508 1078 536 1.61 0.75 5.70 -3.11 28.20 0.63 -1.59 0. Car 0.00 0 -1.57 1175 517 1235 557 1.75 1.96 3.75 -7.57 12.66 -0.67 -1.54 0. Car 0.00 0 -1.57 756 517 802 552 2.61 2.77 5.92 3.39 54.15 -0.01 -1.55 0. Car 0.00 0 -1.57 304 533 446 612 2.36 1.41 11.72 -3.22 40.29 1.14 -1.57 0. Car 0.00 0 -1.57 0 491 310 766 1.138 2.723 10.583 -0.636 40.702 0.747 -1.57 0. Truck 0.00 0 -1.57 510 442 697 601 1.32 1.14 3.78 2.43 37.73 -1.08 -1.57 0. Car 0.00 0 -1.57 879 516 917 546 1.61 0.75 5.70 -3.11 28.20 0.63 -1.59 0. Car 0.00 0 -1.57 986 506 1056 577 1.75 1.96 3.75 -7.57 12.66 -0.67 -1.54 0. Car 0.00 0 -1.57 1072 494 1124 552 1.75 1.96 3.75 -7.57 12.66 -0.67 -1.54 0.
  • 必需字段样例 数据集可视化 “.json”文件中必须包含label_counts和labels字段信息。 创建标注任务 “.json”文件中必须包含label_counts和labels字段信息。如果需要json文件中已有的标注信息在平台上直接展示,则label_counts里面的标注物名称、描述、形状、额外属性需要和创建任务使用的平台标签信息保持一致。示例如下: {"label_counts" : [ #标注对象类型的个数统计 { "label_meta_id" : 1846, #标注物ID "label_num" : 1, #标注物个数 "label_meta_name" : "框0504", #标注物名称 "label_meta_desc" : "框0504", #标注物描述 "label_meta_attr" : "{\"优先级\":\"0,1\"}", #标注物额外属性 "label_meta_shape" : "bndbox", #标注物形状:矩形框 "label_meta_color" : "#f8e71c" #标注物颜色信息 } ], "labels" : [ { "label_meta_id" : 1846, "bndbox" : { "ymin" : 545.4334, "xmin" : 1158.3188, "ymax" : 705.71844, "xmax" : 1436.3274 }, "name" : "框0504", "shape_type" : "bndbox", "serial_number" : 2, #该帧中标注物唯一自增id "label_object_id" : 2, #标注物合成对象的唯一自增id,如果标注物之间没有合成则与serial_number保持一致,追踪任务中同一物体在不同帧中此字段相同 "attribute" : "{\"优先级\":\"1\"}", "label_meta_name" : "框0504" } ] }
  • Octopus格式文件基本要求(图片标注) 上传的Octopus格式数据集需包含以下文件。 ├─ 时间戳1 ├─时间戳1.jpg #时间戳1对应的已标注图片 ├─时间戳1.json #时间戳1内该标注图片的所有标注信息 ├─ 时间戳2 ├─时间戳2.jpg #时间戳2对应的已标注图片 ├─时间戳2.json #时间戳2内该标注图片的所有标注信息
  • 标注数据.json文件说明 数据集中必含“.json”文件,用于集合该时间戳已标注图片的所有标注数据信息,包括该图片所在的项目id、数据包id、图片上所有标注框信息等。上传数据集前请保证“.json”文件内容正确。“.json”文件编写的参考样例如下: { "frame_id" : 1, #帧序号 "batch_task_id" : 922, #批次任务ID "project_id" : "ca8aabb5a94840ea92f0f57369e3a7fe", #资源域ID "label_mode" : "manual", #标注类型:auto和manual两种 "status" : " labeled ", #标注任务状态:unlabeled、labeled、unconfirmed、confirmed、all五种 "sample_type" : "IMAGE", #样本类型:包含”IMAGE”、”POINT_CLOUD” 、“AUDIO”(音频)、“TEXT”(文本) "des_order" : "", #此份数据对应的原始数据包描述 "tag_names" : [], #标签名称 "valid" : true, #是否有效,包含”true”和”false”两种 "create_time" : 1683185878405, #标注的创建时间 "difficult" : false, #是否难例,包含”true”难例和”false”非难例 "label_counts" : [{ #各类标注物的个数统计 "label_meta_id" : 1848, #标注物使用的标签ID "label_num" : 1, #标注物个数 "label_meta_name" : "V3D0504", #标注物名称 "label_meta_desc" : "V3D0504", #标注物描述 "label_meta_attr" : "{\"优先级\":\"0,1\"}", #标注物额外属性 "label_meta_shape" : "multiBox", #标注物形状,包含”bndbox、line、circle、polygon、points、dashed、cube_3d、multiBox、polygon_3d_v2、audio、text、line_3d、dash_3d、line_dash_3d、dash_line_3d、double_line_3d、double_dash_3d” "label_meta_color" : "#7ed321", #标注物颜色信息 "level" : 0 }, { "label_meta_id" : 1849, "label_num" : 1, "label_meta_name" : "圆0504", "label_meta_desc" : "圆0504", "label_meta_attr" : "{\"优先级\":\"0,1\"}", "label_meta_shape" : "circle", "label_meta_color" : "#417505", "level" : 0 }, { "label_meta_id" : 1845, "label_num" : 3, "label_meta_name" : "线0504", "label_meta_desc" : "线0504", "label_meta_attr" : "{\"优先级\":\"0,1\"}", "label_meta_shape" : "line", "label_meta_color" : "#f5a623", "level" : 0 }, { "label_meta_id" : 1844, "label_num" : 1, "label_meta_name" : "点0504", "label_meta_desc" : "点0504", "label_meta_attr" : "{}", "label_meta_shape" : "points", "label_meta_color" : "#d0021b", "level" : 0 }, { "label_meta_id" : 1846, "label_num" : 1, "label_meta_name" : "框0504", "label_meta_desc" : "框0504", "label_meta_attr" : "{\"优先级\":\"0,1\"}", "label_meta_shape" : "bndbox", "label_meta_color" : "#f8e71c", "level" : 0 }, { "label_meta_id" : 1847, "label_num" : 1, "label_meta_name" : "多边形0504", "label_meta_desc" : "多边形0504", "label_meta_attr" : "{\"优先级\":\"0,1\"}", "label_meta_shape" : "polygon", "label_meta_color" : "#8b572a", "level" : 0 } ], "image_meta_info" : { #图片信息 "id" : "c7686eab-0a38-4b60-a594-67252c0323de", "name" : "hash0-1590980980006.jpg", #图片名称 "source" : "https://octopus-raw-ca8aabb5a94840ea92f0f57369e3a7fe.obs.cn-east-212.hdmap.myhuaweicloud.com/label-data/task-922/data/hash0-1590980980006/hash0-1590980980006.jpg", #图片源的obs路径url "sensor" : "default_camera", #传感器类型 "timestamp" : 1683185878405, #时间戳 "calibration_item_id" : 0, #标定项ID "size" : { #图片尺寸 "width" : 1920, "depth" : 3, "height" : 1080 } }, "label_task_id" : 21376, #批次子任务ID "partitionId" : 20220826, "label_update_time" : 1683187695480, #标注最近更新时间 "prefix_folder" : "hash0-1590980980006", "image_id" : "9f853814-f40e-4b73-80e1-df67696f8f46", #图片id "inspection" : 0, "labels" : [ #标注物信息 { "label_meta_id" : 1844, #标注物对应的标签ID "create_time" : 1683187362541, "name" : "点0504", #标注物名称 "shape_type" : "points", #标注物形状:点 "serial_number" : 0, #该帧中标注物唯一自增id "label_object_id" : 0, #标注物合成对象的唯一自增id,如果标注物之间没有合成则与 serial_number保持一致,追踪任务中同一物体在不同帧中此字段相同 "attribute" : "", #标注物属性 "label_meta_name" : "点0504", "points" : { #点的坐标信息 "size" : 1, "points" : [{ "xpoint" : 1233.4807, "ypoint" : 689.4183 } ] } }, { "label_meta_id" : 1845, "create_time" : 1683187374024, "line" : { #线的坐标信息 "size" : 4, "points" : [{ "xpoint" : 901.138, "ypoint" : 553.583 }, { "xpoint" : 731.36, "ypoint" : 630.367 }, { "xpoint" : 618.153, "ypoint" : 681.566 }, { "xpoint" : 360.516, "ypoint" : 798.086 } ] }, "name" : "线0504", "shape_type" : "line", #标注物形状:线 "serial_number" : 1, "label_object_id" : 1, "attribute" : "{\"优先级\":\"1\"}", "label_meta_name" : "线0504" }, { "label_meta_id" : 1846, "create_time" : 1683187387330, "bndbox" : { #矩形框坐标信息 "ymin" : 545.4334, "xmin" : 1158.3188, "ymax" : 705.71844, "xmax" : 1436.3274 }, "name" : "框0504", "shape_type" : "bndbox", #标注物形状:矩形框 "serial_number" : 2, "label_object_id" : 2, "attribute" : "{\"优先级\":\"1\"}", "label_meta_name" : "框0504" }, { "label_meta_id" : 1847, "create_time" : 1683187417245, "polygon" : { #多边形的坐标信息 "size" : 3, "points" : [{ "xpoint" : 135.03, "ypoint" : 482.94937 }, { "xpoint" : 84.318344, "ypoint" : 554.4891 }, { "xpoint" : 135.03, "ypoint" : 482.94937 } ] }, "name" : "多边形0504", "shape_type" : "polygon", #标注物形状:多边形 "serial_number" : 3, "label_object_id" : 3, "attribute" : "{\"优先级\":\"1\"}", "label_meta_name" : "多边形0504" }, { "label_meta_id" : 1848, "create_time" : 1683187426497, "multiBox" : { #2.5D框的坐标信息 "size" : 10, "points" : [{ "xpoint" : 475.06976, "ypoint" : 645.49835 }, { "xpoint" : 602.3017, "ypoint" : 645.49835 }, { "xpoint" : 602.3017, "ypoint" : 537.2833 }, { "xpoint" : 475.06976, "ypoint" : 537.2833 }, { "xpoint" : 475.06976, "ypoint" : 645.49835 }, { "xpoint" : 664.7857, "ypoint" : 632.3677 }, { "xpoint" : 664.7857, "ypoint" : 537.2833 }, { "xpoint" : 602.3017, "ypoint" : 537.2833 }, { "xpoint" : 602.3017, "ypoint" : 645.49835 }, { "xpoint" : 664.7857, "ypoint" : 632.3677 } ] }, "name" : "V3D0504", "shape_type" : "multiBox", #标注物形状:2.5D "serial_number" : 4, "label_object_id" : 4, "attribute" : "{\"优先级\":\"1\"}", "label_meta_name" : "V3D0504" }, { "label_meta_id" : 1849, "create_time" : 1683187565067, "name" : "圆0504", "shape_type" : "circle", #标注物形状:圆 "serial_number" : 5, "label_object_id" : 5, "attribute" : "{\"优先级\":\"1\"}", "label_meta_name" : "圆0504", "circle" : { #圆的坐标信息 "xcenter" : 795.6399, "ycenter" : 554.03625, "radius" : 31.255125 } } ] }
  • 导出数据集 单击数据集列表操作栏的“导出”。 选择数据目的地。 图1 数据目的地 数据目的地:默认选择OBS。 访问密钥:请输入访问密钥(AK)。 私有访问密钥:请输入私有访问密钥(SK)。 OBS目录:请指定数据集导出后存放的目录。 访问密钥ID(AK)和私有访问密钥(SK),在导入数据时,通过AK识别访问用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。如何获取访问密钥AK/SK? 输入的访问密钥和私有访问密钥需要具有OBS服务如下权限: obs:object:GetObject obs:object:PutObject obs:bucket:ListAllMyBuckets obs:bucket:ListBucket 查看用户拥有的OBS服务权限,可参考如何查看用户拥有的权限? 单击“确认”,等待数据集导出。 查看导出的数据集。 单击“导出任务”页面,即可看到导出任务,可对任务进行删除操作。 在指定的OBS桶中(如“Octopus-beijing1”)可以看到下载的数据集文件夹目录,将包含该数据集的全部文件。 图2 OBS桶 导出的数据集文件目录结构可参考如下(包含图片标注): ├─{数据集名称}_{时间戳} ├─ data ├─ 帧目录名称1 ├─图片名称1.jpg #对应的已标注图片 ├─帧目录名称1.json #该标注图片的所有标注信息 ├─帧目录名称2 ├─图片名称2.jpg #对应的已标注图片 ├─帧目录名称2.json #该标注图片的所有标注信息 … ├─ meta └─ label_meta_infos.json #该数据集所有标注物信息 导出的数据集文件目录结构(点云标注类型): ├─{数据集名称}_{时间戳} ├─ data ├─帧目录名称1 ├─点云名称1.pcd #对应的已标注点云 ├─图片名称1.jpg #该点云图像对应的已标注图片 ├─帧目录名称1.json #该标注点云的所有标注信息 ├─帧目录名称2 ├─点云名称2.pcd #对应的已标注点云 ├─图片名称2.jpg #该点云图像对应的已标注图片 ├─帧目录名称2.json #该标注点云的所有标注信息 … ├─ meta └─ label_meta_infos.json #该数据集所有标注物信息
  • 数据配比功能介绍 用户针对业务场景,可以通过数据配比功能,自由组合多个数据集,并控制数据占比。 数据集来源:用户自己创建并且已经发布的数据集。 数据集组合:选择多个数据集,并且可以指定数据之间的配比和条数,最大支持20个。 配比的作用:支持用户灵活调整数据集的比例。 比例:用户自己创建的数据集,默认1:1:1的方式。例如,3个数据集D1(100GB)、D2(50GB)、D3(200GB),配比按照最大比例去配比,即为D1(50GB)、D2(50GB)、D3(50GB),则3*50=150GB,此时用户可以控制最大的数据量,限制数据量大小,如100GB。 表1 配置比例 配置比例 数据集大小上限500GB 第一阶段 第二阶段 - 数据集 原始大小 默认值 手动修改 实际大小 D1 100GB 1 1 100GB D2 50GB 1 2 50GB D3 200GB 1 1 200GB 训练数据集PD1 / 15 15 750GB 条数:用户指定每个数据集需要提供的条数;如果某个数据集的条数不满足用户需求,则提示用户重新输入,避免用户无感配置失败。 条数:不提供配比,默认全都选上。 表2 配置条数 配置条数 数据集大小上限500GB 第一阶段 第二阶段 - 数据集 原始大小 默认值 手动修改 实际条数 D1 100 100 100 53 D2 50 50 50 27 D3 200 200 100 53 训练数据集PD1 / / 1250 667