华为云用户手册

  • 使用场景 Octopus平台接收到原始数据(Rosbag包)后,将对数据进行解包、轨迹和接管分析等操作,用于数据总览、数据场景、数据回放、标注服务等模块,请用户结合实际需求,准备好相应模块所需数据。 Octopus平台转换后的OpenData数据服务模块所需数据请见下表: 表2 数据和模块对应关系 类型 消息 数据总览 数据场景 数据回放 标注服务 相机 camera - - √ √ 激光雷达 lidar - - √ √ 位置数据 gnss √ - √ - 自车坐标姿态 ego_tf - √ √ - 车辆数据 vehicle - √ √ - 感知推理 object_array_vision - √ √ - 接管及打标签信息 tag_record - - √ - 控制指令 control - - √ - 规划轨迹 planning_trajectory - - √ - 预测跟踪 predicted_objects - - √ - 全局规划 routing_path - - √ - 交通灯 traffic_light_info - - √ - 毫米波雷达 radar - - √ -
  • 数据类型 Octopus平台对数据有以下要求: 数据类型:包括各传感器数据、车辆数据、目标推理数据、自车坐标姿态以及标签记录数据等。 数据格式:Octopus OpenData格式。其中相机采集数据文件后缀为“.jpg”,激光雷达采集数据文件后缀为“.pcd”,其他采集数据文件后缀为“.pb”(谷歌定义的protobuf格式文件)。 详情请参考表1。 消息topic具体格式要求请参考“消息topic格式规范”。 接收到的消息topic示例请参考“消息topic格式示例”。 自车相关或每个传感器设备,都对应一个消息topic。 采集数据的topic名称支持自定义,包含中英文、数字、“_”“-”,不得超过64个字符。 表1 数据类型和消息topic对应关系 分类 数据类型 消息topic(示例) 文件后缀 备注 传感器 相机(camera) camera_front .jpg 录制车辆路况图像数据。 激光雷达(lidar) lidar_roof_0 .pcd 以发射激光束探测目标的位置、速度等特征量的雷达系统,探测车辆周围的目标位置,监测移动速度。 位置数据(gnss) gnss_raw .pb 通过卫星导航系统,定位车辆位置。 毫米波雷达(radar) RADAR_FRONT .pcd 工作在毫米波段探测的雷达,探测车辆周围的目标位置,监测移动速度。 车辆数据 自车坐标和姿态数据(ego_tf) ego_tf .pb 定位自车所处位置以及当前车辆姿态。 车辆数据(vehicle) vehicle .pb 车辆底盘信息。 规划推理数据 目标推理数据(object_array_vision) object_array_vision .pb 感知数据信息。 标签数据 标签记录数据(tag_record) tag_record .pb 在车端标记驾驶过程中人工和自动驾驶路段以及其他重要信息。 控制数据 控制指令(control) control .pb 自车的方向盘转角、加速度值等控制数据。 规划路径 规划轨迹(planning_trajectory) planning_trajectory .pb 自车规划行驶路径。 预测路径 预测跟踪(predicted_objects) predicted_objects .pb 感知目标的预测路径。 全局规划 全局路径(routing_path) routing_path .pb 自车全局规划路径。 交通灯 交通灯信息(traffic_light_info) traffic_light_info .pb 红绿灯。
  • 标注数据.json文件说明 数据集中必含“.json”文件,用于集合该音频文件的所有标注数据信息,包括该音频所在的项目id、数据包id、音频上所有标注信息等。上传数据集前请保证“.json”文件内容正确。“.json”文件编写的参考样例如下: { "frame_id": 1, #帧序号 "batch_task_id": 1368, #批次任务id "project_id": "ee263479089143cf9d8ca66a10ed3c3d", #资源域ID "label_mode": "manual", #标注类型:auto和manual两种 "status": "labeled", #标注任务状态:unlabeled、labeled、unconfirmed、confirmed、all五种 "sample_type": "AUDIO", #样本类型:包含“IMAGE”,“POINT_CLOUD”,“AUDIO”,“TEXT” "des_order": "", #此份数据对应的原始数据包描述 "tag_names": [], #标签名称 "valid": true, #是否有效,包含“true”和“false”两种 "create_time": 1708657733087, #标注的创建时间 "difficult": false, #是否难例,包含“true”难例和“false”非难例 "label_counts": [ #各类标注物的个数统计 { "label_meta_id": 7900, #标注物使用的标签ID "label_num": 1, #标注物个数 "label_meta_name": "奇怪的声音1", #标注物名称 "label_meta_desc": "1233", #标注物描述 "label_meta_attr": "{\"声音1\":\"2333,4444\",\"声音2\":\"334455,1121333\"}", #标注物额外属性 "label_meta_shape": "audio", #标注物形状,包含“bndbox、line、circle、polygon、points、dashed、cube_3d、multiBox、polygon_3d_v2、audio、text” "label_meta_color": "#496832", #标注物颜色信息 "level": 0 }, { "label_meta_id": 7901, "label_num": 1, "label_meta_name": "噪声", "label_meta_desc": "11", "label_meta_attr": "{\"text1\":\"111,222,333\",\"额鹅鹅鹅\":\"1111,333\"}", "label_meta_shape": "audio", "label_meta_color": "#391c1c", "level": 0 } ], "audio_meta_info": { #音频信息 "id": "4951cbcb-57ea-4367-b0e2-56b77a18e9bd", "name": "0000.mp3", #音频名称 "source": "https://octopus-raw-ee263479089143cf9d8ca66a10ed3c3d.obs.cn-north-5.myhuaweicloud.com/label-data/task-1368/data/mp3/0000.mp3", #音频源的obs路径url "duration": "180.0s" #音频时长 }, "label_task_id": 1691, #批次子任务ID "partitionId": 20240222, "label_update_time": 1708944569975, #标注最近更新时间 "prefix_folder": "mp3", "image_id": "889b33fa-8c43-4760-a215-14d299af4291", "inspection": 0, "labels": [ { "label_meta_id": 7900, #标注物对应的标签ID "create_time": 0, "shape_type": "audio", #标注物形状 "serial_number": 1, #该帧中标注物唯一自增id "label_object_id": -1, "attribute": "{\"声音1\":\"2333\"}", #标注物属性 "audio": { #音频子段落标注信息 "xmin": 48.957073, #段落开始时间 "xmax": 80.938614, #段落结束时间 "gender": "MALE", #讲话人性别, 允许不存在此字段 "author": "role1", #讲话人角色, 允许不存在此字段 "text": "aaaaabbb" #音频对应的文本 }, "label_meta_name": "奇怪的声音1" #标注物名称 }, { "label_meta_id": 7901, "create_time": 0, "shape_type": "audio", "serial_number": 2, "label_object_id": -1, "attribute": "{}", "audio": { "xmin": 126.331764, "xmax": 138.0552 }, "label_meta_name": "噪声" } ] }
  • OCTOPUS格式文件基本要求(音频标注) 上传的OCTOPUS格式数据集需包含以下文件(以mp3格式为例)。音频文件支持的格式包含:wav、mp3、flac、m4a。 . ├─ 文件夹1 ├─ audio1.mp3 #音频文件 ├─ audio1.json #该音频文件的所有标注信息 ├─ 文件夹2 ├─ audio2.mp3 #音频文件 ├─ audio2.json #该音频文件的所有标注信息
  • 自定义属性相关操作 在“自定义属性”列表,还可以完成以下操作。 表1 自定义属性相关操作 任务 操作步骤 查询自定义属性 根据“属性名称”或“属性值”筛选,在搜索框中输入搜索条件,即可查询。 删除自定义属性 选择单个自定义属性,单击操作栏的“删除”,删除单个自定义属性。 勾选多个自定义属性,单击列表上方的“批量删除”,可批量删除自定义属性。 说明: 只允许删除未被通用存储内的数据引用的自定义属性。如果选择的数据被引用,则会提示不允许删除。
  • 模型文件说明(训练) Octopus模型管理模块,支持用户上传模型,并将其用于模型评测、模型编译任务。如果需要将模型用于内置评测模板评测,除模型文件外,需另外包含推理启动文件: customer_inference.py 仅当需要使用内置评测指标计算时需要添加推理启动文件,文件名称可自定义,将该文件置于模型目录下。 为了显示以上文件的使用流程,可参考如下图示: 模型文件基本要求 父主题: 模型管理
  • 预审核规则格式说明 预审核模型使用的审核规则以字典的格式保存在特定目录下的json文件中(TARGET_RULES_DIR),以便在审核报告中展示。 { "rules": [ { "rule": "", #规则名称 "description": "", #规则具体要求 "inspection_attribute": "" #此规则对应的审核属性,2D包含:多标,漏标,类型错误,未贴合,属性错误。3D包含:多标,漏标,类型错误,未贴合,属性错误,车头方向错误,锚点错误。 } … … ] } 示例: { "rules": [ { "rule": "标注框贴合精度", "description": "标注框与实际对象误差不超过5个像素", "inspection_attribute": "未贴合" }, { "rule": "标注框类别", "description": "类别标注错误", "inspection_attribute": "类型错误" } ] }
  • 预审核结果格式说明 审核完毕后,需要按照规定格式组织预标注结果,并保存在特定路径(TARGET_RESULT_DIR)下的json文件中。路径要求见镜像制作(标注)。 Json文件内容组织结构如下所示,labels字段中保存每个对象的标注信息、审核模型预测信息(predict_infos)和审核结果信息(inspection)。 { "labels":[{ #1. 此对象的标注信息 (直接从源数据labels.json中获取),如果未标注出此对象,则无此部分信息 … … #2.此对象的模型预测信息 ,如果模型未预测出此对象,则无此部分信息 "predict_infos": { #形状坐标信息 #对象类别名称 #额外属性信息 } #3.审核结果,如果未审核此对象,则无此部分信息 "inspection": { #字段名称取自OCTPS_INSPECTION_ATTRI_DIR文件 } }, … … ] } 其中3D大规模点云分割任务还包含“labels_ext”和“predict_labels_ext”字段,具体参考“3D大规模点云分割”。 { "labels":[], "labels_ext":{ } "predict_labels":[] } 以2D目标检测为例,完整json结果文件样例如下: { "labels": [ { #1. 此对象的标注信息(直接从源数据labels.json中获取) "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, "label_object_id": 2, "attribute": "{\"优先级\":\"1\"}", "label_meta_name": "框0504", #2.此对象的模型预测信息 "predict_infos": { "bndbox": { "ymin": 545.4334, "xmin": 1158.3188, "ymax": 725.71844, "xmax": 1456.3274 }, "label_meta_name": "框0504", "attribute": "{\"优先级\":\"1\"}" }, #3.审核结果 "inspection": { #字段名称取自OCTPS_INSPECTION_ATTRI_DIR文件 "miss_label_error": false, "vehicle_direction_error": false, "error_desc": "无效", "attribute_error": true, "out_range_label_error": true, "anchor_error": false, "classification_error": false, "extra_label_error": false } } ] } 不同类型的标注对象形状基本信息所需格式不同。下面为各类标注对象predict_infos的字段说明: 2D目标检测: {"predict_infos": { "bndbox": { "ymin": 545.4334, "xmin": 1158.3188, "ymax": 725.71844, "xmax": 1456.3274 }, "label_meta_name": "框0504", "attribute": "{\"优先级\":\"1\"}" } } 2D语义分割: {"predict_infos": { "polygon": { "size": 3, "points": [ { "xpoint": 135.03, "ypoint": 482.94937 }, { "xpoint": 84.318344, "ypoint": 554.4891 }, { "xpoint": 135.03, "ypoint": 482.94937 } ] }, "label_meta_name": "多边形0504", "attribute": "{\"优先级\":\"1\"}" } } 2D车道线: {"predict_infos": { "line": { "size": 3, "points": [ { "xpoint": 901.138, "ypoint": 553.583 }, { "xpoint": 741.36, "ypoint": 630.367 }, { "xpoint": 618.153, "ypoint": 681.566 } ] }, "label_meta_name": "线0504", "attribute": "{\"优先级\":\"1\"}" } } 3D目标检测: { "predict_infos": { "label_meta_name": "Car", "cube_3d": { "rotation": { "x": 0.0, "y": 0.0, "z": 0.08726646 }, "location": { "x": -40.23651584555386, "y": 1.2362389665094042, "z": -0.8413386615781039 }, "attribute": "{}", "dimensions": { "length": 4.459540762142082, "width": 1.4870339632034302, "height": 1.4895729290943762 } } } } 3D大规模点云分割: {"predict_infos": { "polygon_3d_v2": { "ascii_char": "2" }, "name": "car", } } 3D大规模点云分割完整样例 { "labels": [ { "label_meta_id": 4867, "create_time": 0, "polygon_3d_v2": { "ascii_char": "3" }, "name": "car", "shape_type": "polygon_3d_v2", "serial_number": 0, "label_object_id": -1, "attribute": "", "label_meta_name": "car", "inspection": { "miss_label_error": false, "vehicle_direction_error": false, "error_desc": "", "attribute_error": false, "out_range_label_error": false, "anchor_error": false, "classification_error": false, "extra_label_error": false }, "predict_infos": { "polygon_3d_v2": { "ascii_char": "2" }, "name": "car" } }, { "predict_infos": { "polygon_3d_v2": { "ascii_char": "4" }, "name": "van" } } ], "labels_ext": { "ascii_string": "3333333333 3333333333" }, "predict_labels_ext": { "ascii_string": "222222222244444 2222222222" } } labels_ext中保存点云中每个点的标注类别,具体内容说明参考OCTOPUS数据集格式说明。predict_labels_ext中保存点云中每个点的模型预测类别。 3D语义分割审核结果可视化说明:针对有审核属性错误的标注对象,展示该标注对象对应位置点的预测类别。
  • 环境变量使用说明 模型推理所需的待审核数据集目录等信息均可通过注入镜像的环境变量获取,详情见镜像制作(标注)。 环境变量 描述 获取方式(以python为例) OCTPS_DATASET_DIR 全量数据集目录 os.getenv('OCTPS_DATASET_DIR') OCTPS_META_PATH 模型版本关联标注物文件目录 os.getenv('OCTPS_META_PATH') OCTPS_INSPECTION_ATTRI_DIR 审核属性字段目录 os.getenv(' OCTPS_INSPECTION_ATTRI_DIR') OCTPS_DATASET_INDEX_PATH 待审核的数据帧索引文件目录(用于从全量数据集中筛选出需要审核的数据) os.getenv(' OCTPS_DATASET_INDEX_PATH') TARGET_RESULT_DIR 预审核结果数据目录 os.getenv('TARGET_RESULT_DIR') TARGET_RULES_DIR 预审核规则数据目录 os.getenv(' TARGET_RULES_DIR ') TARGET_ LOG _DIR 预审核日志文件目录 os.getenv('TARGET_LOG_DIR')
  • 标注数据.json文件说明 数据集中必含“.json”文件,用于集合该时间戳已标注点云的所有标注数据信息,包括该点云所在的项目id、数据包id、图片上所有标注框信息等。上传数据集前请保证“.json”文件内容正确。“.json”文件编写的参考样例如下: 3D立方体框数据: 该文件说明适用于3D目标识别,3D目标追踪,3D联合任务。 { "frame_id": 11, #帧序号 "batch_task_id": 2284, #批次任务ID "project_id": "da7febfd1405496ffd1240e6c17efc0f", #资源域ID "label_mode": "auto", #标注类型:auto和manual两种 "status": "labeled", #标注任务状态:unlabeled、labeled "sample_type": "POINT_CLOUD", #样本类型:包含“IMAGE”(图片)、“POINT_CLOUD”(点云) 、“AUDIO”(音频)、“TEXT”(文本) "des_order": "", #此份数据对应的原始数据包描述 "tag_names": [ "a_in_premodel", "b_in_premodel" ], #标签名称 "valid": true, #是否有效,包含“true”和“false”两种 "create_time": 1669339994173, #标注的创建时间 "difficult": false, #是否难例,包含“true”难例和“false”非难例 "label_counts": [ #各类标注物的个数统计 { "label_meta_id": 5414, #标注物使用的标签ID, "label_num": 1, #标注物个数 "label_meta_name": "Car", #标签名称 "label_meta_desc": "自采目标识别", #标签描述 "label_meta_attr": "{\"优先级\":\"0,1\"}", #标签额外属性 "label_meta_shape": "cube_3d", #标签形状 包含“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": "#d0021b", #标签颜色 "level": 0 } ], "point_cloud_meta_info": { #3D点云的标注属性信息,包含标定项id、图片名称、传感器类型、图片大小、图片源的obs路径url、时间戳 "id": "6a275591-53e1-406e-820e-ad077ae1da49", "name": "lidar-269-19.pcd", #点云名称 "source":"https://octopus-raw-da7febfd1405496ffd1240e6c17efc0f.obs.cn-north-5.myhuaweicloud.com/label-data/task-2284/data/8/lidar-269-19.pcd", #点云源的obs路径url "calibration_item_id": 269, #标定项ID "sensor": "lidar", #传感器类型 "timestamp": 1669339994173, "size": 0 }, "image_meta_infos": [ #图片属性信息,包含标定项id、图片名称、传感器类型、图片大小、图片源的obs路径url、时间戳 { "id": "3b018a08-caa8-4e86-ae7a-1e9988b65578", "name": "camera03-268-19.jpg", "source": "https://octopus-raw-da7febfd1405496ffd1240e6c17efc0f.obs.cn-north-5.myhuaweicloud.com/label-data/task-2284/data/8/camera03-268-19.jpg", "sensor": "camera03_0", #传感器名称 "timestamp": 1669339994173, "calibration_item_id": 268, #标定项ID "size": { #图片尺寸 "width": 1920, "depth": 3, "height": 1020 } } ], "label_task_id": 1372, #批次子任务ID "partitionId": 20221124, "label_update_time": 1688457112216, #标注最近更新时间 "prefix_folder": "8", "image_id": "9af1a414-d943-4965-96dd-ac0cd620eda5", "inspection": 0, "labels": [ #标注物信息 { "label_meta_id": 5414, #标注物对应的标签ID "create_time": 0, "name": "Car", #标注物名称 "shape_type": "cube_3d", #标注物形状:3D立体框 "serial_number": 0, "label_object_id": -1, "attribute": "", #标注物属性 "label_meta_name": "Car", "inspection": { #审核属性 "miss_label_error": false, #漏标 "vehicle_direction_error": false, #车头方向错误 "attribute_error": false, #属性错误 "out_range_label_error": false, #未贴合 "anchor_error": false, #锚点错误 "classification_error": false, #类别错误 "correct_label": true, "extra_label_error": false #多标 }, "cube_3d": { "orientation": 1.53980839, "alpha": 1.527701791334979, "rotation": { #3D框旋转角 "x": 0.0, "y": 0.0, "z": 1.53980839 }, "bndboxs": [ #3D联合标注中2D框的标注信息 { "label_meta_id": 5414, "bndbox": { "ymin": 508.54608, "xmin": 926.8102, "ymax": 727.8024, "xmax": 1189.3324 }, "label_meta_color": "#d0021b", "serial_number": 2, "sensor": "camera03_0", "attribute": "{}", "source": "https://octopus-raw-da7febfd1405496ffd1240e6c17efc0f.obs.cn-north-5.myhuaweicloud.com/label-data/task-2284/data/8/camera03-268-19.jpg", "label_meta_name": "Car", "inspection": { "miss_label_error": false, "vehicle_direction_error": false, "attribute_error": false, "out_range_label_error": false, "anchor_error": false, "classification_error": false, "correct_label": true, "extra_label_error": false } } ], "serial_number": 2, #标注物合成对象的唯一自增id,如果标注物之间没有合成则与serial_number保持一致,追踪任务中同一物体在不同帧中此字段相同 "location": { #3D框中心点坐标 "x": 0.6671804785728455, "y": 15.472203254699707, "z": -1.1619998216629028 }, "attribute": "{\"优先级\":\"1\"}", "dimensions": { #3D框长宽高 "length": 4.557755470275879, "width": 2.0348410606384277, "height": 1.4403225183486938 } } } ], "labels_ext": { "track_points": [ { "serial_number": 1, "points": [ ] } ] } }
  • 导出数据集 单击数据集列表操作栏的“导出”。 选择数据目的地。 图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 #该数据集所有标注物信息
  • 标签管理相关操作 在“标签管理”页面,还可以完成以下操作。 表2 标签管理相关操作 任务 操作步骤 修改标签 单击标签后 ,修改标签描述和仿真标签。 说明: 内置标签不允许修改。 当场景标签关联仿真标签之后,生成的仿真场景推送到仿真场景库,会自带场景标签。 删除标签或分类 单击标签或分类后的 ,可删除指定标签或分类。 说明: 如果标签在使用中时,则该标签不可删除。 查看标签 单击标签后,可查看标签详情。 搜索标签 在搜索输入框中输入搜索条件,按回车键即可查询。
  • 数据场景相关操作 在“数据场景”模块,还可以完成以下操作。 表1 数据场景相关操作 任务 操作步骤 切换视图 单击列表右上角“切换视图”,场景片段可以由列表和时间轴两种视图相互切换。 删除场景片段 选择目标场景片段,单击列表上方的“删除”,可删除单个或多个场景片段。 回放场景片段 鼠标悬停在目标场景片段时间轴上,单击“回放”,页面自动跳转至“数据回放”模块,详情请参考数据回放。 筛选场景片段 在搜索输入框中输入搜索条件或者根据起始时间查询场景片段。
  • 回收站 Octopus平台支持用户删除数据包,执行删除操作的数据包将暂存回收站,等待用户可根据项目情况及时恢复或永久删除。具体操作参考如下: 在“数据包”页签,单击指定数据包操作栏内的“删除”。 确认后单击“确认删除”,删除后的数据包将放入回收站。 图1 删除数据包 查看数据包状态。 单击“回收站”,删除后的数据包状态为“待处理”,此状态下的数据包还可进行以下操作: 还原 :恢复该数据包,参考步骤3。 永久删除:该数据包及关联的任务将会被Octopus平台永久删除,参考步骤4。 删除后不可恢复且不能再被使用,请谨慎操作。 恢复数据包。 单击操作栏中“还原”,删除后的数据包将从回收站中恢复至数据包列表,可继续用于回放、标注等操作。 永久删除数据包。 单击操作栏中“永久删除”,确认无误后单击“删除”。 图2 永久删除 查询数据包。 可按照“数据量”、“收集时间”进行列表排序,也可通过“数据包ID”、“数据包名称”、“车辆名称”、“收集时间段”,以及关键字查找目标数据包。 父主题: 源数据包
  • “octopus_data_collection.yaml”配置文件说明 数据包中有“Octopus_data_collection.yaml”配置文件,各类型传感器的名字必须和文件夹名称一致,格式也必须与规范相匹配。 配置文件,主要包括车辆名称、传感器信息和标定ID等信息,详情参考如下: # 华为八爪鱼自动驾驶云服务数据采集说明 cardrive: collect_time: 2020-11-01T08:00:00+08:00 #数据包采集日期,精确到小时即可 station: '腾飞' #选填 数据采集地点名称,站点名称 car: vehicle_name: 'test0805' #车辆名称,仅支持在八爪鱼平台创建的车辆 route: 'shuttlebus_30km' #选填 车辆行驶路线 mode: 'auto' #选填 路线驾驶意图, auto代表自动驾驶, manual代表人工驾驶采集 tags: #选填 数据包对应标签ID description: '' #选填 数据包描述 data_type: opendata #必填 数据包类型,转换后的OpenData数据中包含ocotopus_data_collection.yaml文件 map_id:'' #选填,高精地图ID,字符串类型,配备后才可在回放数据界面展示高精地图信息。 folders: #必填,传感器信息(硬盘递送选填,obs导入和本地直传必填) camera: #camera类型传感器 数量不超过20个 - name: camera_03encode format: jpg lidar: #lidar类型传感器 数量不超过10个 - name: pandar format: pcd gnss: #gnss类型传感器 数量不超过1个 - name: inspvax format: proto3 radar: #radar类型传感器 数量不超过10个 - name: pandar format: pcd vehicle: #vehicle类型传感器 数量不超过1个 - name: holo_VehicleInfoMagotan format: proto3 ego_tf: #ego_tf类型传感器 数量不超过1个 - name: localization_info format: proto3 object_array_vision: - #object_array_vision类型传感器 数量不超过5个 - name: tracked_objects format: proto3 tag_record: #tag_record类型传感器 数量不超过1个 - name: tag_record format: proto3 planning_trajectory: #planning_trajectory类型传感器 数量不超过1个 - name: planning_trajectory format: proto3 predicted_objects: #predicted_objects类型传感器 数量不超过1个 - name: prediction_prediction_obstacles format: proto3 control: #control类型传感器 数量不超过1个 - name: holo_ControlCommand format: proto3 routing_path: # routing_path类型传感器 数量不超过1个 - name: routing_routing_response_viz format: proto3 traffic_light_info: # traffic_light_info类型传感器 数量不超过1个 - name: traffic_light format: proto3
  • 使用场景 Octopus平台接收到原始数据(Rosbag包)后,将对数据进行解包、轨迹和接管分析等操作,用于数据总览、数据场景、数据回放、标注服务等模块,请用户结合实际需求,准备好相应模块所需数据。 Octopus平台转换后的OpenData数据服务模块所需数据请见下表: 表2 数据和模块对应关系 类型 消息 数据总览 数据场景 数据回放 标注服务 相机 camera - - √ √ 激光雷达 lidar - - √ √ 位置数据 gnss √ - √ - 自车坐标姿态 ego_tf - √ √ - 车辆数据 vehicle - √ √ - 感知推理 object_array_vision - √ √ - 接管及打标签信息 tag_record - - √ - 控制指令 control - - √ - 规划轨迹 planning_trajectory - - √ - 预测跟踪 predicted_objects - - √ - 全局规划 routing_path - - √ - 交通灯 traffic_light_info - - √ - 毫米波雷达 radar - - √ -
  • 数据类型 Octopus平台对数据有以下要求: 数据类型:包括各传感器数据、车辆数据、目标推理数据、自车坐标姿态以及标签记录数据等。 数据格式:Octopus OpenData格式。其中相机采集数据文件后缀为“.jpg”,激光雷达采集数据文件后缀为“.pcd”,其他采集数据文件后缀为“.pb”(谷歌定义的protobuf格式文件)。 详情请参考表1。 消息topic具体格式要求请参考“消息topic格式规范”。 接收到的消息topic示例请参考“消息topic格式示例”。 自车相关或每个传感器设备,都对应一个消息topic。 采集数据的topic名称支持自定义,包含中英文、数字、“_”“-”,不得超过64个字符。 表1 数据类型和消息topic对应关系 分类 数据类型 消息topic(示例) 文件后缀 备注 传感器 相机(camera) camera_front .jpg 录制车辆路况图像数据。 激光雷达(lidar) lidar_roof_0 .pcd 以发射激光束探测目标的位置、速度等特征量的雷达系统,探测车辆周围的目标位置,监测移动速度。 位置数据(gnss) gnss_raw .pb 通过卫星导航系统,定位车辆位置。 毫米波雷达(radar) RADAR_FRONT .pcd 工作在毫米波段探测的雷达,探测车辆周围的目标位置,监测移动速度。 车辆数据 自车坐标和姿态数据(ego_tf) ego_tf .pb 定位自车所处位置以及当前车辆姿态。 车辆数据(vehicle) vehicle .pb 车辆底盘信息。 规划推理数据 目标推理数据(object_array_vision) object_array_vision .pb 感知数据信息。 标签数据 标签记录数据(tag_record) tag_record .pb 在车端标记驾驶过程中人工和自动驾驶路段以及其他重要信息。 控制数据 控制指令(control) control .pb 自车的方向盘转角、加速度值等控制数据。 规划路径 规划轨迹(planning_trajectory) planning_trajectory .pb 自车规划行驶路径。 预测路径 预测跟踪(predicted_objects) predicted_objects .pb 感知目标的预测路径。 全局规划 全局路径(routing_path) routing_path .pb 自车全局规划路径。 交通灯 交通灯信息(traffic_light_info) traffic_light_info .pb 红绿灯。
  • 与数据包同名的yaml配置文件说明 数据包中必须含有与数据包同名的yaml配置文件主要包括车辆名称、传感器信息和标定ID等信息,详情参考如下: # 华为八爪鱼自动驾驶云服务数据采集说明 project: '项目名称' module: '感知' cardrive: collect_time: 2020-11-01T08:00:00+08:00 #数据包采集日期,精确到小时即可 station: '腾飞' #选填 数据采集地点名称,站点名称 car: vehicle_name: 'test' #车辆名称,仅支持在八爪鱼平台创建的车辆 route: 'shuttlebus_30km' #选填 车辆行驶路线 speed:10km/h #选填 车速 mode: 'auto' #选填 路线驾驶意图, auto代表自动驾驶, manual代表人工驾驶采集 tags: ['主车直行','主车倒车'] #选填 标签,标签个数不超过50个 例:沙尘天,正向设计,驾驶模式 description: '强风沙天,车辆空载在排土区自动驾驶到接土区前等待长坡道' #选填 车载情况 segments: #选填 数据包场景片段 - tags: ['晴天','直行'] time: 2021-08-27T11:43:07~2021-08-27T11:43:47 data_type: Rosbag #必填 数据类型 map_id: MAP1134 #选填,高精地图ID,字符串类型,配备后才可在回放数据界面展示高精地图信息。 preprocessor: #转OpenData算子信息 id: 10105 # 算子id resource_spec: X86_4Core_8GiB # 资源规格
  • Camera相机标定文件模板 标定文件名:“roof_cam_999.yaml” 文件内容示例: Roof_Cam_9: camera_model: pinhole intrinsics: rows: 1 cols: 4 data: - 957.3874 - 960.8491 - 957.7912 - 565.3051 resolution: width: 1020 height: 1920 distortion_model: radtan distortion_coeffs: rows: 1 cols: 5 data: - -0.3152 - 0.1068 - 1.0109e-05 - 0.00014344 - -0.0174 rotation_veh2cam_matrix: rows: 3 cols: 3 data: - -0.9998299042764152 - 0.017818974176046335 - 0.004792519744625967 - -0.0052751312364799794 - -0.027136554579648777 - -0.999617350015897 - -0.01768206109206492 - -0.9994728825361424 - 0.027225960978949772 tanslation_veh2cam_matrix: rows: 3 cols: 1 data: - -0.03155699382111174 - 1.1564462683421137 - 0.5492014802301336 rotation_veh_cam_euler: yaw: 178.97898507859358 pitch: -0.27459237862937325 roll: -88.43985827166519 translation_veh_cam: x: -0.015740166503007778 y: 0.580856341427072 z: 1.1412035414910402 transform_image2veh_matrix: rows: 3 cols: 3 data: [] transform_veh2image_matrix: rows: 3 cols: 4 data: - -973.6528713841998 - -939.7369315451515 - 30.649111295873002 - 495.5498232950973 - -15.049594426539091 - -590.5017166128401 - -944.1638507975063 - 1420.2429138739958 - -0.01768206109206492 - -0.9994728825361424 - 0.027225960978949772 - 0.5492014802301336 timeshift_cam_veh: 0.0
  • Lidar激光雷达标定文件模板 标定文件名:“lidar_right_999.yaml” 文件内容示例: Pandar40: rotation_vel2veh_matrix: rows: 3 cols: 3 data: [0.999365,0.0349167,0.00707821,-0.034795,0.999256,-0.0166374,-0.00765387,0.0163806,0.999837] tanslation_vel2veh_vector: rows: 3 cols: 1 data: [0.00915069,1.34196,1.38] rotation_veh_vel_euler: yaw: -1.9940678960476272 pitch: 0.43853880056948835 roll: 0.9386082809708912 translation_veh_vel: x: 0.00915069 y: 1.34196 z: 1.38 timeshift_vel_veh: 0.000000000
  • Vehicle车辆标定文件模板 标定文件名:“车辆自身参数.yaml” 文件内容示例: # The vehicle config vehicle: # basic mass: #质量 # Body front_track: #m前轮距 rear_track: #m后轮距 wheelbase: #m轴距 height: #m高度 width: #m宽度 length: #m长度 rear_distance: #m后轴到车尾距离 front_distance: #m后轴到车头距离 x_CoG: #m前轴到重心距离,x方向 y_CoG: #m中心到重心距离,y方向 z_CoG: #m地面到重心距离,z方向 # Wheel and brake wheel_radius: #m车轮半径 # Steering min_steering_angle: #rad车轮最小转向角度,弧度 max_steering_angle: #rad车轮最大转向角度,弧度 min_steering_wheel_angle: #rad方向盘最小转向角度,弧度 max_steering_wheel_angle: #rad方向盘最大转向角度,弧度 max_steering_wheel_speed: #rad/s方向盘最大转速 steering_zero_bias: #rad初始位置偏移量 # Powertrain max_speed: #m/s最大速度 max_reversing_speed: #m/s最大倒车速度 max_deceleration: #最大减速度 max_acceleration: #最大加速度 rpm_idle: #r/min引擎空闲状态转速 rpm_change: #r/min换挡时引擎转速 rpm_max: # r/min引擎最大转速 engine_power_max: #watt引擎最大功率 # Transmission main_ratio: #主减速器比率 gear_ratio_drive: #驾驶模式传动比率 gear_ratio_reverse: #倒车模式传动比率 # Coefficient lambda: #等效质量乘数,需大于1 Cd: #空气阻力系数 # default lane params lane_width_default: #车道宽度 lane_width_margin: #车道边线宽度 safe_avoid_distance: #m安全边线距离 #localizaition loc: yaw_offset:
  • 地图管理相关操作 表1 地图管理相关操作 任务 操作步骤 查看地图包详情 在“地图管理”页面,单击操作栏内的“详情”,用户可查看地图包详情。具体页面参考地图包详情。 删除地图包 在“地图管理”页面,单击操作栏内的“删除”,即可删除地图包。 查询地图包 在“地图管理”右上角页面,选择“地图ID”或“名称”,在搜索输入框中输入搜索条件,按回车键即可查询地图包。 更新地图包 在“地图包详情”页面,单击文件后“上传更新”,可对地图文件以及OSGB文件(OSGB:OpenSceneGraph ,OSGB文件格式属于3D图文件格式)进行修改。详情请参考地图包详情。
  • 地图包详情 在上传地图包后,在地图包列表页,单击操作栏内的“详情”,用户可查看地图包详情。 图2 地图包详情 表2 地图包详情说明 序号 区域 说明 1 控制地图包信息显示或者隐藏。 地图包信息包含:地图文件信息、osgb文件信息、地图信息。单击文件后“上传更新”,可对地图文件以及osgb文件进行修改。 2 地图显示区域 单击鼠标左键可旋转查看地图轨迹。 单击鼠标右键可平移地图轨迹。 鼠标滚轮可控制轨迹的大小缩放。 鼠标悬停在轨迹任意位置,可查看当前位置的坐标、车道等信息。 4 地图控制区域 单击右下方(放大、缩小、重置)任意选项,可以对地图进行放大、缩小、重置操作。
  • 开通我的模型 登录Octopus服务平台,在左侧菜单栏中单击“总览”。 在“我的模型”模块,单击操作栏中的“开通服务”。 图1 开通服务 选择需要开通服务的用户名,单击操作栏中的“开通服务”。 图2 开通服务 也可选择多个用户名,单击用户名上方的“批量开通”,批量开启服务。 取消服务。 单击开通服务的账号后的操作栏中“取消服务”,即可关闭服务。 也可选择已开通服务的多个用户名,单击用户名上方的“批量取消”,批量关闭服务。
  • 购买扩展资源包 购买扩容包和节点时,需要事前购买相对应的服务。 登录Octopus服务平台,在左侧菜单栏中单击“总览”。 单击购买服务入口。 图1 购买入口 选择需要购买的扩展资源包(以购买“同时在线用户数扩容包”为例),设置购买时长、购买个数以及是否自动续费。 图2 购买“同时在线用户数扩容包” 单击“下一步”,按需选择存储扩容包、通用处理节点和AI处理节点,此处以购买“自动驾驶数据管理缓存扩容包”和“octopus计算型CPU(16u32g)专属实例”为例。 图3 购买扩容包和通用处理节点 单击“下一步:确认配置”,并勾选“我已阅读并同意《八爪鱼自动驾驶云服务声明》”。 图4 确认配置 单击“去支付”,界面生成支付订单,可根据自身情况选择支付方式,确认付款。
  • 购买服务 登录Octopus服务平台,在左侧菜单栏中单击“总览”。 单击购买服务入口。 图1 购买服务入口 选择需要购买的服务基础版(以购买“八爪鱼自动驾驶云服务-基础版”为例),配置购买时长、购买个数、是否自动续费和仿真器类型。 图2 购买服务 购买了八爪鱼自动驾驶云服务-基础版后,不支持再购买其他云服务基础版。 购买了单独云服务模块基础版,不支持再购买八爪鱼自动驾驶云服务-基础版。 已购买的服务会在服务后打上“已购买”的标签,不支持到期前的重复购买。 合规服务依赖数据服务,在购买合规云服务-基础版前,需先购买数据云服务-基础版。 单击“下一步”,购买存储扩容包、通用处理节点和AI处理节点,请详见购买扩展资源包。 单击“下一步:确认配置”,并勾选“我已阅读并同意《八爪鱼自动驾驶云服务声明》”。 图3 确认配置 单击“去支付”,界面生成支付订单,可根据自身情况选择支付方式,确认付款。
  • 营销宣传风格文案 掌握未来,尽在眼前——揭开全新智能科技产品的神秘面纱 在这个快速变化的世界里,技术已经成为我们生活中不可或缺的重要元素。 它不断推动着我们的社会进步,改变着我们的生活方式。 现在,一个引领科技浪潮,凝聚了众多顶尖科技的智能产品即将横空出世! 家用机器人,是一款集合了众多顶尖科技的全新智能设备。 它可以帮助您更轻松地完成各种任务,为您带来更便捷、舒适和智能的生活体验。 家用机器人内置了丰富的功能和应用,能够满足您多样化的需求。 它可以与您的家居设备无缝对接,让您通过语音控制,轻松完成各种家务活动。 家用机器人是您生活中的最佳助手,它为您带来了更为智能、便捷和舒适的生活体验。 这样的智能生活体验,不仅让您的生活变得更加便利,也让您的家庭更加温馨和谐。 从科技创新的角度来看,家用机器人在许多方面都具有创新性。 它采用了简洁、时尚的外观设计,不仅美观大方,而且易于使用和操作。 它可以与智能家居设备进行连接,实现智能家居控制; 在引领科技潮流方面,家用机器人注重持续的技术更新和升级。 它将不断地推出新功能、新技术和新服务,以满足大家不断变化的需求。 接下来,我们将从功能和性能方面为您详细介绍这款家用机器人。 家用机器人具备智能保洁、智慧厨房、智慧管家、安全卫士、生活伴侣等多种功能。 这些功能使得家用机器人成为了一款极具实用性和便利性的智能家居产品。 家用机器人无论是清扫还是拖地,它都能以惊人的速度和效果完成任务。 它能够避开障碍物并高效清扫您的家中的每一个角落,将清洁工作进行到底。 智能机器人还可以根据自己的喜好和家庭环境来选择最合适的清洁模式。 家庭保洁时,智能机器人可以提供多种功能来帮助您完成各种区域的清洁工作。 智能机器人拥有高效的清洁能力。 智能机器人使用先进的吸尘技术和高效旋转刷子,能够在更短的时间内完成清扫任务。 它还能够清除地板和地毯上的各种污垢、灰尘和宠物毛发等杂质,让家变得更加干净整洁。 智能机器人采用先进的传感器和导航技术进行智能导航。 机器人不会碰到家具或其他障碍物,也不会误入不该进入的区域。 智能机器人还具有自动充电功能。 电量低时,它可以自动返回到充电站并自动启动充电。 智能机器人还可以通过语音指令来控制机器人的运行。 智能机器人有多种清洁模式可供选择。 您可以根据自己的喜好和家庭环境来选择最合适的清洁模式。 智能机器人为您提供了快速、高效和方便的家庭保洁服务。 拥有一款家用机器人,您的厨房将焕然一新! 不论是制作美味佳肴,还是清洁厨房,家用机器人都能轻松胜任。 它们可以根据您的口味和需求调节火候、时间和烹饪方式,帮助您烹饪出各种美食。 无论是大餐、快餐还是特殊口味,您只需轻松下达指令,机器人就能为您完成。 尽享美食的同时,您还可以更多地与家人朋友互动,创造宝贵的家庭时光。 智慧厨房是一种将智能科技与厨房设备结合的创新方式。 智慧厨房可以改变传统的烹饪方式,使其更为方便、快捷和健康。 智能机器人内置了多种传感器,可以精准地控制火候、时间和烹饪方式等参数。 它们还可以通过 自然语言处理 技术理解您的需求,根据您的口味偏好自动调整烹饪参数。 智能机器人还可以与智能烤箱、智能冰箱等,实现更加智能化的烹饪模式。 智能机器人可以根据您的口味和需求,自动烹饪美食。 智能机器人可以通过识别您所使用的食材,提供有关这些食材的营养信息和食谱建议。 它们还能根据您想要的口味和菜谱,自动添加所需的配料和调味品。 他们还可以根据您的个人偏好和历史记录,推荐适合您的菜肴和食谱。 智慧厨房的出现不仅提高了烹饪的效率和质量,还提供了一个新的健康饮食的理念。 智能厨房让我们的生活更方便、更高效、更加健康和美味。 家用机器人不仅是您的得力助手,更是贴心的家庭管家。 它们可以帮助您记住重要事项、日程安排,并提醒您及时处理。 它们能够回答您的问题、提供天气预报、播放音乐等各种娱乐功能。 无论您身处何地,只需一声令下,机器人将立即响应,提供真正个性化的服务。 智慧管家可以通过 语音识别 和自然语言处理技术,与您或家人进行交互和对话。 您只需对它说出您的需求,它就会立刻执行。 无论是预约洗衣服务、订餐、调节家居温度还是其他家务,智慧管家都能轻松胜任。 智慧管家可以帮助您管理日程安排,记录并提醒重要的会议、约会、生日。 告诉它您的日程安排,它就会在适当的时候提醒您,以确保您不会错过任何重要的事情。 智慧管家还可以监测和记录您的健康数据,例如心率、睡眠质量等。 为您提供个性化的健康建议和推荐,帮助您更好地管理自己的健康。 与健康设备连接后,它会实时传输数据并生成健康报告,让您全面了解自己的健康状况。 智慧管家还可以与智能家居设备进行连接,实现远程控制和自动化操作。 通过手机指令,您可以调节家居设备的亮度、颜色、音量。 智慧管家还能为您提供个性化的购物和外卖服务。 它会为您推荐合适的商品或菜品,并帮助您完成下单和支付。 家用机器人通过智能科技,为您提供贴心、个性化的家庭服务和生活管理。 在智慧管家的帮助下,您可以享受到更加舒适、便捷的生活体验。 家庭安全是每个家庭成员最关注的事情之一。 家用机器人将成为您的得力助手,为您的家庭安全保驾护航。 机器人内置了多种传感器和摄像头,可以随时监测您家中的状况, 一旦发现异常情况,就会立即向您发送警报通知,并采取适当的行动。 无论您在家还是外出,都能够放心知晓家中的安全状况。 机器人可以检查门窗是否关闭、有没有异常人员进入、烟雾或火灾等危险情况。 一旦发现异常情况,机器人会立即发出警报,通知您和家庭成员。 它们可以在居住区域周围巡逻,确保家庭的安全和隐私。 机器人还可以监控您家的空气质量、温度和湿度等参数,为您的家庭健康保驾护航。 机器人可以检测室内的环境和温度,并及时发现火灾和其他危险情况。 它们还可以配备喷水设备或灭火器,当发生火灾时快速采取行动,避免火势扩散。 机器人可以为您的家庭成员提供日常生活的帮助,例如为老年人提供日常护理等服务。 机器人可以帮助您保护家庭网络的安全,防止黑客入侵和数据泄露。 它们可以监控网络流量、追踪异常活动,并提供加密和安全存储数据的方案。 总的来说,家用机器人在安全保护和协助服务方面具备多种功能。 家用机器人不仅是您的得力助手,更是您贴心的家庭管家和忠实伴侣。 它们会陪伴您度过孤独的时刻,提供友好的交流和精彩的娱乐,让您永远不再感到孤单。 无论是与机器人一起跳舞、聊天还是观看电影,它们都能成为您开心时光的陪伴者。 家用机器人可以成为您的生活伴侣,与您进行互动和交流。 它们可以讲笑话、唱歌、讲故事,甚至能够跳舞和演奏乐器。 您可以通过语音与机器人交谈,并询问问题,例如天气预报、新闻资讯、菜谱等。 家用机器人可以帮助您监测健康数据并提供健康建议。 机器人可以成为您的学习伴侣,提供知识和教育支持。 它们可以回答您的问题、解释概念、讲解学科知识。 为了感谢广大消费者,品牌现在特别推出限时优惠活动! 购买家用机器人,即可享受超值优惠!数量有限,先到先得! 只需一键下单,即可享受上门安装和贴心售后服务,让您无后顾之忧。 不要再犹豫了,现在是购买的最佳时机!限时优惠真的不容错过! 我们承诺,您在购买指定家用机器人后,将会享受到优质的售后服务和保障。 我们会为您提供全面的支持和保障,确保您在使用过程中获得最佳的体验和满意度。 在优惠期间购买的家用机器人将享受售后服务和升级支持。 价格之低令人心动。还等什么? 赶快行动起来,带上家用机器人,开启智能家居新篇章! 父主题: 文案样例(进阶版)
  • 直播带货风格文案 哈喽哈喽,宝宝们晚上好呀,欢迎来到我们的直播间。 爱吃的宝宝们一定要认准我们的直播间,喜欢快乐购物的也要关注我们哦! 今天咱们刚刚开播,给大家带来了超多福利,是你想不到的优惠! 在直播间的宝宝可以扣个一,让我看到你们。 废话不多说,我们先来一波抽奖! 当前在直播间的宝宝,我们先来抽五个人免费送一波福利! 今晚的美食专场有饼干,有薯片…还有我也非常喜欢吃的麻辣香锅。 不过数量都比较少,真的要拼手速宝宝们! 今天直播间会有超级秒杀价,比双十一还要便宜哦! 今天我们的直播时间是八点到十二点,宝宝们有任何疑问都可以打在公屏上。 欢迎新进直播间的宝宝们,还没关注主播的可以先点一点左上方的关注。 右下角的点赞也可以一起点起来!今天我们直播间会有不定时的点赞抽奖活动哦! 来,先给大家上一款减脂期可以解馋的饼干。 这个包装看起来就非常有食欲对不对? 这款饼干真的非常适合喜欢吃零食,但又想控制热量的宝宝。 平常的饼干只能吃一包,现在你能吃三包! 这个饼干三包加起来的热量,才顶上平常一包饼干的热量! 并且这款饼干是无添加剂的,给大家看看成分哈,无任何添加剂。 放心吃,还不易长胖,是不是很赞! 这款饼干不添加油,还能吃出油的香味,健康和口味都给大家兼顾到了。 非油炸、无添加剂的饼干,根本不用担心吃多了上火、长痘这些问题。 追剧、逛街、或者是上班时下午饿了,来上一包都好。 这款饼干味道真的很特别,也很香,连我们不爱吃零食的同事都说好吃! 宝宝们听好了,今天主播是来给你们送福利的对不对? 所以今天这个价格,我们肯定也是不一样的。 常吃我们家饼干的宝宝应该知道,平常我们是七块九得一包。 所有宝宝听好了,今天在我们直播间,四十九块九发十包! 在十包的基础上,主播额外再加赠两包! 没错,相当于四十九块九得十二包!今天的价格真的非常给力! 折算下来四块多一包对不对,相当于半价啊宝子们! 但是今天只有五百份,所以宝子们,你们要拼手速了。 来,宝宝们话不多说,我们准备给大家上链接了,五、四、三、二、一 宝宝们,饼干已经上架了,在小黄车的一号链接。 今天这个价格,半价都不到,真的,只有在直播间才能享受到! 四十九块九到手十二包,比双十一价格还低,真的非常划算了! 今晚直播间只有五百份,抢完就没了…… 宝宝们一定要秒拍秒付,别等会想拍没有了。 拍好的宝宝们记得回来说一下,给大家备注优先发货。 我们所有产品都是经过食品安全检测的,大家可以放心下单! 大家看下我们家饼干的评价就知道了,真的是好产品! 没有付款的宝宝抓紧时间去下单啦!我们的福利价都是直播的时候才能享受的! 喜欢的宝宝可以直接去拍,下单就送运费险,大家放心大胆地去拍! 趁着我们今天直播间有优惠先拍下来,先把便宜占下来! 今天这个饼干我们真的加不了单哦,再跟大家说一遍真的加不了。 还没拍的抓紧时间啦,再过五秒钟,主播就要给大家过款了! 过款就恢复原价咯,等会想拍也没有了。 来,倒计时五秒钟,五、四、三、二、一,上下一款…… 接下来给大家推荐的是一款我自己也非常爱吃的麻辣香锅! 这个麻辣香锅是我吃过所有香锅中最让我惊艳的。 今天给大家准备了两种不同口味,有酱香味的和麻辣味的。 想吃麻辣香锅但又不太能吃辣的宝宝们有口福了。 不能吃辣的宝宝,等会下单的时候选酱香口味。 辣的和不辣的都想尝试的宝宝可以分别选择哈,喜欢哪个就选哪个。 他家麻辣香锅的特点就是: 第一、麻辣鲜香,香而不咸 第二、里面的配菜非常丰富量也很足,有乌冬面、蔬菜、鱼丸、素毛肚…… 第三、蔬菜非常新鲜,藕片什么的吃起来还是很脆的口感 给大家来看看我们麻辣香锅里面都有什么东西。 我们首先的话,是有一个水包, 这个水包是纯净水、直饮水,不是自来水哈,直接喝都是可以的。 菜包里面给大家做到有荤有素,做到营养均衡搭配。 并且都是采用新鲜食材,让你在吃的美味、吃的健康的同时吃的放心。 所以你尽管放心的去拍,我们的食品都有食品检测证书, 安全到小孩可以吃,安全到老人可以吃,都是没有任何问题的。 甚至说我们连餐盒都是加大成本的,我们做的是铝箔餐盒。 你可以去对比任何在市面上买得到的自热产品,他们基本上都是塑料盒子, 塑料盒子加热有异味,无论是自己吃,还是给到家人吃都是不太放心的。 我们的铝箔餐盒加热之后,无毒、无味、无害,放心加热使用! 我们一个麻辣香锅的重量都是有四百五十克的,差不多一斤,可以让你吃饱! 主播我是能做到吃饱后都还有得剩的,所以量上你不用担心。 保质期有八个月哦宝宝,放心囤货, 囤在家里常温保存,不需要占用冰箱容量,常温保存就可以。 像我们上班族的宝宝,上一天班本身就已经很辛苦很累了。 咱回到家不需要再去买菜做饭,不需要再用到电、用到气。 只需要一杯冷水,十五分钟,就可以吃上美味的麻辣香锅! 今天麻辣香锅的价格也非常给力。平常都要二十九块九的一盒对不对? 今天在我们直播间,第一盒二十九块九,第二盒十九块九,第三盒不要钱! 三盒只要四十九块八,平均下来只要十六块六一盒! 倒计时五、四、三、二、一上链接,来,什么都不要管,拍三盒,拍三盒是最优惠的…… 喜欢吃的宝宝抓紧时间去下单,有什么问题打在评论区就可以。 今天直播间下单平均下来一盒只要十六块六! 你在外面吃一顿麻辣香锅的价格可以在我们直播间吃十顿! 吃起来也是非常的简便快捷,还非常的经济划算。 现在拍下二号链接的宝宝,都会额外再送出泡发河粉一个,再送三个响铃卷! 这几个赠品单去购买都要花上十多块的价格才能够买得到。 但是今天在咱们直播间拍下来就直接送给大家, 赠品库存有限,咱先到先得! 这波赠品库存仅剩最后几单,全凭手速,手快有手慢无! 你再犹豫你再纠结,就被拍完、就被抢完了哈! 有任何问题都可以直接来直播间找到客服的,我们做到售后无忧有保障。 现在在直播间下单的宝子,主播都可以帮你安排明天提速发货的。 新进直播间的宝宝们,动动你们的小手给主播点点赞,点赞过万就抽奖 接下来我们要来抽奖啦,还没关注的宝宝一定要关注起来,不关注是没办法抽奖的哦! 我们直播间每天都会有很多抽奖福利,每天晚上八点都可以来看直播哦! 大家刷一下我们的抽奖暗号“我想要”,大家可以刷屏刷起来啦! 我们给刚进来的宝宝几秒钟的时间关注和刷屏…… 好的,现在倒计时五秒抽奖, 五、四、三、二、一 宝宝们,我们的直播还有十分钟就要结束了,大家还有什么疑问都可以打在公屏上! 没有领到券的宝宝可以先把我们直播间的专属券领一领,等会主播下播后就无法领了哈。 我们准备下播咯,跟大家预告一下明天我们的开播时间是晚上八点,记得来看哦!拜拜 父主题: 文案样例(进阶版)
  • ClickHouse参数调优实践 表1 ClickHouse参数调优汇总 参数名 参数描述 默认值 建议值 是否需要重启生效 max_memory_usage_for_all_queries 单台服务器上所有查询的内存使用量,默认没有限制。建议根据机器的总内存,预留一部分空间,防止内存不够导致服务或者机器异常。 0 机器总内存的80% 否 max_memory_usage 单个查询在单台服务器的能使用的最大内存。 10G 50GB 否(新版本可通过多租户方式配置) max_bytes_before_external_group_by 确定了在GROUP BY中启动将临时数据转存到磁盘上的内存阈值。默认值为0表示这项功能将被禁用。一般:设置为max_memory_usage/2。 0 25GB 否 max_execution_time 单次查询耗时的最长时间,单位为秒。默认没有限制。 0 300 否 max_threads 执行请求的最大线程数。默认情况下是按照机器CPU核数自动确定的。单并发情况下线程数越大越好(该值要小于CPU核数),多并发情况建议设置为CPU核数/2的值。 CPU核数/2 64 否 max_result_rows 限制返回结果行数,默认为0不限制。 0 100000 否 distributed_product_mode 默认SQL中的子查询不允许使用分布式表,修改为local表示将子查询中对分布式表的查询转换为对应的本地表。 deny 根据场景定: deny/local/global/allow 否 background_pool_size 后台用于merge的线程池大小。 16 64 否 log_queries system.query_log表的开关。默认值为0,不存在该表。修改为1,系统会自动创建system.query_log表,并记录每次query的日志信息。 0 1 否 skip_unavailable_shards 当通过分布式表查询时,遇到无效的shard是否跳过。默认值为0表示不跳过,抛异常。设置值为1表示跳过无效shard。 0 建议使用默认值。异常时,调整为1,提供有损服务。 否 max_bytes_before_external_sort 如果没有足够的内存,可以使用该参数来设置外部排序(在磁盘中创建一些临时文件)。默认为0表示禁用外部排序功能,当内存不够时直接抛错,设置了该值order by可以正常完成,但是速度非常慢。 0 25GB 否 keep_alive_timeout 服务端与客户端保持长连接的时长,单位为秒。 10 600 否 max_concurrent_queries 最大支持的查询并发。 100 150 否 session_timeout_ms Clickhouse服务和ZooKeeper保持的会话时长,超过该时间ZooKeeper还收不到Clickhouse的心跳信息,会将与Clickhouse的session断开。 3000 120000 否 父主题: ClickHouse数据库调优
  • 计费示例 示例中的价格仅供参考,实际计算请以购买页中的价格为准。 包月套餐示例 场景一:团队有25人,如何购买套餐较为划算? 解析: 首先,购买1个1元套餐,包含5人1个月的用量。 然后,购买1000元套餐,每个套餐内包含5人1个月的用量,因此需购买(25-5)/5=4个。 每月总费用为1+1000*4=4001(元)。 场景二:企业购买了1个1元套餐与4个1000元套餐,但实际有28人使用,将会如何计费? 解析: 购买套餐之后,系统会将使用量(人时)打包提供到租户下,则该企业购买的套餐包中包含的使用量为: 25人x24小时/天×31天=18600人时。28人连续使用时实际可以使用18600人时/28人≈664小时(约28天),此时该包月套餐的人时用量将在月内提前用完。 如果团队继续使用,则系统会按照28人规模进行按需计费。 CodeArts采用阶梯计费,由于团队共28人,人数单价分为两部分:20个人采用第一阶梯计费单价(假设单价为0.278元/人时),超出20的部分采用第二阶梯计费单价(假设单价为0.333元/人时)。 因此按需计费每小时产生的费用约为:0.278*20+0.333*(28-20)=8.224(元),每天产生的费用约为8.224*24=197.376(元)。 场景三:团队中有5人,购买1元套餐,代码仓库中使用量为200G(超出了每月固定额度),应如何计费? 解析: 团队购买或开通套餐后,代码托管每月固定赠送量为74400G小时。由于代码仓库中使用量为200G,则赠送量将在74400G小时 / 200G = 372小时(15.5天)后耗尽。 如果继续使用200G存储空间,则系统会对这200G存储空间采用按需计费模式。假设存储空间单价为0.000442元/GB/小时,则每小时产生的费用约为:200*0.000442=0.0884(元),每天产生的费用约为0.0884*24=2.1216(元)。 按需计费示例 场景:团队有28人,如果是用按需计费,每月的费用是多少? 解析: CodeArts采用阶梯计费,由于团队共28人,人数单价分为两部分:20个人采用第一阶梯计费单价(假设单价为0.278元/人时),超出20的部分采用第二阶梯计费单价(假设单价为0.333元/人时)。 因此按需计费每小时产生的费用约为:0.278*20+0.333*(28-20)=8.224(元),每天产生的费用约为8.224*24=197.376(元),每月(假设为31天)产生的费用为:197.376*31=6118.656元。
共100000条