华为云用户手册
-
响应示例 状态码: 201 OK { "name" : "graph-test-has-condition-step", "description" : "", "workspace_id" : "0", "steps" : [ { "name" : "condition_step_test", "title" : "condition_step_test", "description" : "", "type" : "condition", "conditions" : [ { "type" : "==", "left" : "$ref/parameters/is_true", "right" : true } ], "if_then_steps" : [ "training_job1" ], "else_then_steps" : [ "training_job2" ], "policy" : { } }, { "name" : "training_job1", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/a2ff296da618452daa8243399f06db8e" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config1" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-b0b9fa4c06254b2ebb0e48ba1f7a916c" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "condition_step_test" ], "policy" : { } }, { "name" : "training_job2", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/f78e46676a454ccdacb9907f589f8d67" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config2" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-4a4317eb49ad4370bd087e6b726d84cf" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "condition_step_test" ], "policy" : { } }, { "name" : "training_job3", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/dee65054c96b4bf3b7ac98c0709f9ae0" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config3" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-3039303b3ae14f3e9eed416ba6361b1f" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "training_job1", "training_job2" ], "policy" : { } } ], "labels" : [ "subgraph" ], "data" : [ { "name" : "a2ff296da618452daa8243399f06db8e", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job1" ] }, { "name" : "f78e46676a454ccdacb9907f589f8d67", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job2" ] }, { "name" : "dee65054c96b4bf3b7ac98c0709f9ae0", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job3" ] } ], "parameters" : [ { "name" : "is_true", "type" : "bool", "delay" : true, "value" : true, "used_steps" : [ "condition_step_test" ] }, { "name" : "train_spec", "type" : "str", "format" : "flavor", "description" : "training specificaiton", "default" : "modelarts.vm.cpu.8u", "used_steps" : [ "training_job1", "training_job2", "training_job3" ] }, { "name" : "service_config1", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job1" ] }, { "name" : "service_config2", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job2" ] }, { "name" : "service_config3", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job3" ] } ] }
-
响应示例 状态码: 201 ok { "kind" : "job", "metadata" : { "id" : "425b7087-83de-49ed-9e40-5bb642be956f", "name" : "TestModelArtsJob", "description" : "This is a ModelArts job", "create_time" : 1637045545982, "workspace_id" : "0", "user_name" : "" }, "status" : { "phase" : "Creating", "secondary_phase" : "Creating", "duration" : 0, "start_time" : 0, "node_count_metrics" : null, "tasks" : [ "worker-0", "server-0" ] }, "algorithm" : { "id" : "3f5d6706-7b67-408d-8ba0-ec08048c45ed", "name" : "ttt-obs-gpu", "code_dir" : "/cn-north-4-rse/test/moxingtest-code/", "boot_file" : "/cn-north-4-rse/test/moxingtest-code/test_obs_gpu.py", "parameters" : [ { "name" : "input_dir", "description" : "", "i18n_description" : null, "value" : "s://cn-north-4-rse/test/moxingtest-dir/", "constraint" : { "type" : "String", "editable" : true, "required" : true, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } }, { "name" : "input_file", "description" : "", "i18n_description" : null, "value" : "obs://cn-north-4-rse/test/moxingtest/", "constraint" : { "type" : "String", "editable" : true, "required" : true, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } }, { "name" : "large_file_method", "description" : "", "i18n_description" : null, "value" : "1", "constraint" : { "type" : "Integer", "editable" : true, "required" : true, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } } ], "engine" : { "engine_id" : "horovod-cp36-tf-1.16.2", "engine_name" : "Horovod", "engine_version" : "0.16.2-TF-1.13.1-python3.6" }, "policies" : { } }, "spec" : { "resource" : { "policy" : "regular", "flavor_id" : "modelarts.p3.large.public.free", "flavor_name" : "Computing GPU(Vnt1) instance", "node_count" : 1, "flavor_detail" : { "flavor_type" : "GPU", "billing" : { "code" : "modelarts.vm.gpu.free", "unit_num" : 1 }, "flavor_info" : { "cpu" : { "arch" : "x86", "core_num" : 8 }, "gpu" : { "unit_num" : 1, "product_name" : "GP-Vnt1", "memory" : "32GB" }, "memory" : { "size" : 64, "unit" : "GB" } } } }, "log_export_path" : { } } } 状态码: 400 通用的错误应答消息体格式;如下为id是3f5d6706-7b67-408d-8ba0-ec08048c45ee的算法未找到时的返回信息。 { "error_msg" : "algorithm not found.", "error_code" : "ModelArts.2755", "error_solution" : "Check whether the training project information in the request is valid." }
-
请求示例 创建免费规格的训练作业。设置作业名称为“TestModelArtsJob”,描述为“This is a ModelArts job”。算法依赖的是id为3f5d6706-7b67-408d-8ba0-ec08048c45ed的算法,该算法未定义inputs与outputs,规格选用的是gpu免费规格。 POST https://endpoint/v2/{project_id}/training-jobs { "kind" : "job", "metadata" : { "name" : "TestModelArtsJob", "description" : "This is a ModelArts job" }, "algorithm" : { "id" : "3f5d6706-7b67-408d-8ba0-ec08048c45ed", "parameters" : [ { "name" : "input_dir", "value" : "obs://cn-north-4-rse/test/moxingtest-dir/" }, { "name" : "input_file", "value" : "obs://cn-north-4-rse/test/moxingtest/" }, { "name" : "large_file_method", "value" : "1" } ], "policies" : { "auto_search" : null }, "environments" : { } }, "spec" : { "resource" : { "flavor_id" : "modelarts.p3.large.public.free", "node_count" : 1 }, "log_export_path" : { "obs_url" : "" } } } 使用 自定义镜像 创建训练作业。设置作业名称为“TestModelArtsJob2”,描述为“This is a ModelArts job2”的自定义镜像训练作业。使用专属资源池和nfs挂载。 POST https://endpoint/v2/{project_id}/training-jobs { "kind" : "job", "metadata" : { "name" : "TestModelArtsJob2", "description" : "This is a ModelArts job2" }, "algorithm" : { "engine" : { "image_url" : "xxxxxxxx/fastseq:1.2" }, "command" : "cd /home/ma-user/ddp_demo && sh run_ddp.sh", "parameters" : [ ], "policies" : { "auto_search" : null }, "environments" : { "NCCL_DEBUG" : "INFO", "NCCL_IB_DISABLE" : "0" } }, "spec" : { "resource" : { "flavor_id" : "modelarts.pool.visual.xlarge", "node_count" : 1, "pool_id" : "poolfaf38d76" }, "log_export_path" : { "obs_url" : "/cn-north-4-training-test/limou/ddp-demo-log/" }, "volumes" : [ { "nfs" : { "nfs_server_path" : "192.168.0.82:/", "local_path" : "/home/ma-user/nfs/", "read_only" : false } } ] } }
-
请求示例 创建训练作业标签。设置TMS标签的key/value为“111”和“k3”,TMS标签的key/value为"k3"和“v2”。 POST https://endpoint/v2/{project_id }/trainJob/{training_job_id}/tags/create { "tags" : [ { "key" : "111", "value" : "v2" }, { "key" : "k3", "value" : "v2" } ] }
-
请求示例 启动智能标注(主动学习)任务。任务类型选择“auto-label”。 { "task_type" : "auto-label", "collect_key_sample" : true, "config" : { "algorithm_type" : "fast" } } 启动智能标注(预标注)任务。任务类型选择“pre-label”。 { "task_type" : "pre-label", "model_id" : "c4989033-7584-44ee-a180-1c476b810e46", "collect_key_sample" : true, "config" : { "inf_config_list" : [ { "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1 } ] } } 启动自动分组任务。任务类型选择“auto-grouping”。 { "task_type" : "auto-grouping", "config" : { "n_clusters" : "2", "ambiguity" : false, "image_brightness" : false, "image_colorfulness" : false, "property" : "size", "result_type" : 1 } }
-
功能介绍 启动智能任务,支持启动“智能标注”和“自动分组”两大类智能任务。可通过指定请求体中的“task_type”参数来启动某类任务。数据路径或工作路径位于KMS加密桶的数据集,不支持启动主动学习和自动分组任务,支持预标注任务。 “智能标注”是指基于当前标注阶段的标签及图片学习训练,选中系统中已有的模型进行智能标注,快速完成剩余图片的标注操作。“智能标注”又包含“主动学习”和“预标注”两类。 “主动学习”表示系统将自动使用半监督学习、难例筛选等多种手段进行智能标注,降低人工标注量,帮助用户找到难例。 “预标注”表示选择用户模型管理里面的模型进行智能标注。 “自动分组”是指先使用聚类算法对未标注图片进行聚类,再根据聚类结果进行处理,可以分组打标或者清洗图片。
-
请求示例 请求示例,创建在线服务。 POST https://{endpoint}/v1/{project_id}/services { "infer_type" : "real-time", "service_name" : "mnist", "description" : "mnist service", "config" : [ { "specification" : "modelarts.vm.cpu.2u", "weight" : 100, "model_id" : "0e07b41b-173e-42db-8c16-8e1b44cc0d44", "instance_count" : 1 } ] } 请求示例,创建在线服务且配置多版本分流。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "mnist", "description" : "mnist service", "infer_type" : "real-time", "config" : [ { "model_id" : "xxxmodel-idxxx", "weight" : "70", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1, "envs" : { "model_name" : "mxnet-model-1", "load_epoch" : "0" } }, { "model_id" : "xxxxxx", "weight" : "30", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1 } ] } 请求示例,创建专属资源池自定义规格在线服务样例。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "realtime-demo", "description" : "", "infer_type" : "real-time", "cluster_id" : "8abf68a969c3cb3a0169c4acb24b0000", "config" : [ { "model_id" : "eb6a4a8c-5713-4a27-b8ed-c7e694499af5", "weight" : "100", "cluster_id" : "8abf68a969c3cb3a0169c4acb24b0000", "specification" : "custom", "custom_spec" : { "cpu" : 1.5, "memory" : 7500 }, "instance_count" : 1 } ] } 请求示例,创建在线服务设置自动停止。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "service-demo", "description" : "demo", "infer_type" : "real-time", "config" : [ { "model_id" : "xxxmodel-idxxx", "weight" : "100", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1 } ], "schedule" : [ { "type" : "stop", "time_unit" : "HOURS", "duration" : 1 } ] } 请求示例,创建批量服务且输入数据映射方式为“file”。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "batchservicetest", "description" : "", "infer_type" : "batch", "cluster_id" : "8abf68a969c3cb3a0169c4acb24b****", "config" : [ { "model_id" : "598b913a-af3e-41ba-a1b5-bf065320f1e2", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1, "src_path" : "https://infers-data.obs.xxxxx.com/xgboosterdata/", "dest_path" : "https://infers-data.obs.xxxxx.com/output/", "req_uri" : "/", "mapping_type" : "file" } ] } 请求示例,创建批量服务且输入数据映射方式为“csv”。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "batchservicetest", "description" : "", "infer_type" : "batch", "config" : [ { "model_id" : "598b913a-af3e-41ba-a1b5-bf065320f1e2", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1, "src_path" : "https://infers-data.obs.xxxxx.com/xgboosterdata/", "dest_path" : "https://infers-data.obs.xxxxx.com/output/", "req_uri" : "/", "mapping_type" : "csv", "mapping_rule" : { "type" : "object", "properties" : { "data" : { "type" : "object", "properties" : { "req_data" : { "type" : "array", "items" : [ { "type" : "object", "properties" : { "input5" : { "type" : "number", "index" : 0 }, "input4" : { "type" : "number", "index" : 1 }, "input3" : { "type" : "number", "index" : 2 }, "input2" : { "type" : "number", "index" : 3 }, "input1" : { "type" : "number", "index" : 4 } } } ] } } } } } } ] } 请求示例,创建边缘服务样例。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "service-edge-demo", "description" : "", "infer_type" : "edge", "config" : [ { "model_id" : "eb6a4a8c-5713-4a27-b8ed-c7e694499af5", "specification" : "custom", "instance_count" : 1, "custom_spec" : { "cpu" : 1.5, "memory" : 7500 }, "envs" : { }, "nodes" : [ "2r8c4fb9-t497-40u3-89yf-skui77db0472" ] } ] }
-
响应示例 状态码: 201 create image save job successfully { "name" : "imagesave", "namespace" : "dev", "tag" : 0.1, "description" : "hello world!", "status" : "ACTIVE", "message" : "building", "create_time" : 1686718209968 }
-
请求示例 如下以创建uuid为2cd88daa-31a4-40a8-a58f-d186b0e93e4f的训练作业对应worker-0镜像保存任务为例。 POST https://endpoint/v2/{project_id}/training-jobs/2cd88daa-31a4-40a8-a58f-d186b0e93e4f/tasks/worker-0/save-image-job { "name" : "imagesave", "namespace" : "dev", "tag" : 0.1, "description" : "hello world!" }
-
URI POST /v2/{project_id}/training-jobs/{training_job_id}/tasks/{task_id}/save-image-job 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 training_job_id 是 String 训练作业ID。获取方法请参见查询训练作业列表。 task_id 是 String 训练作业的任务名称。可从训练作业详情中的status.tasks字段中获取。
-
请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 镜像名称,长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 namespace 否 String 镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 tag 否 String 镜像tag,长度限制64个字符, 支持大小写字母、数字、中划线、下划线和点。 description 否 String 该镜像所对应的描述信息,长度限制512个字符。
-
响应参数 状态码: 201 表3 响应Body参数 参数 参数类型 描述 name String 镜像名称,长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 namespace String 镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 tag String 镜像tag,长度限制64个字符, 支持大小写字母、数字、中划线、下划线和点。 description String 该镜像所对应的描述信息,长度限制512个字符。 status String 镜像状态。枚举值如下: INIT:初始化。 CREATING:镜像保存中,此时训练作业不可用。 CREATE_FAILED:镜像保存失败。 ACTIVE:镜像保存成功,保存的镜像可以在SWR控制台查看,同时可以基于保存的镜像创建训练作业。 message String 镜像创建的时间,UTC毫秒。 create_time Long 镜像保存操作过程中,展示构建信息。
-
请求示例 创建数据校验任务的版本。设置任务名称为“PRE-e77c”。 { "name" : "PRE-e77c", "inputs" : [ { "type" : "DATASET", "source" : "PYc9H2HGv5BJNwBGXyK", "version_id" : "Osc8SZ7TZStiRV4vYkZ" } ], "work_path" : { "type" : "DATASET", "path" : "PYc9H2HGv5BJNwBGXyK", "version_name" : "V0011" }, "description" : "", "template" : { "id" : "sys_data_validation", "operator_params" : [ { "name" : "MetaValidation", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_validation_select", "image_max_width" : "1920", "image_max_height" : "1920", "total_status" : "[0,1,2]" } } ] }, "workspace_id" : "0" }
-
功能介绍 创建处理任务,支持创建“特征分析”任务和“数据处理”两大类任务。可通过指定请求体中的复合参数“template”的“id”字段来创建某类任务。 “特征分析”是指基于图片或目标框对图片的各项特征,如模糊度、亮度进行分析,并绘制可视化曲线,帮助处理数据集。 “数据处理”是指从大量的、杂乱无章的、难以理解的数据中抽取或者生成对某些特定的人们来说是有价值、有意义的数据。“数据处理”又分为“数据校验”、“数据清洗”、“数据选择”和“数据增强”四类。 “数据校验”表示对数据集进行校验,保证数据合法。 “数据清洗”表示对数据进行去噪、纠错或补全的过程。 “数据选择”表示从全量数据中选择数据子集的过程。 “数据增强”表示通过简单的数据扩增例如缩放、裁剪、变换、合成等操作直接或间接的方式增加数据量。
-
请求示例 创建特征分析任务。设置任务类型为“sys_data_analyse”。 { "name" : "V001", "description" : "", "data_source" : { "type" : "DATASET", "source" : "X6c3N3eztX7cr3Arvqu" }, "template" : { "id" : "sys_data_analyse", "operator_params" : [ { "id" : "sys_data_analyse", "params" : { "op_list" : [ ] } } ] }, "version_id" : "J4Eh2FDEWH1qnDlD3hQ" } 创建数据处理(数据校验)任务。设置任务类型为“sys_data_validation”。 { "name" : "PRE-e77c", "inputs" : [ { "type" : "DATASET", "source" : "PYc9H2HGv5BJNwBGXyK", "version_id" : "yoJ5ssClpNlOrsjjFDa" } ], "work_path" : { "type" : "DATASET", "path" : "PYc9H2HGv5BJNwBGXyK", "version_name" : "V0010" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_validation", "operator_params" : [ { "name" : "MetaValidation", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_validation_select", "image_max_width" : "1920", "image_max_height" : "1920", "total_status" : "[0,1,2]" } } ] }, "workspace_id" : "0" } 创建数据处理(数据清洗)任务。设置任务类型为“sys_data_cleaning”。 { "name" : "PRE-330f", "inputs" : [ { "type" : "DATASET", "source" : "gfghHSokody6AJigS5A", "version_id" : "54IXbeJhfttGpL46lbv" } ], "work_path" : { "type" : "DATASET", "path" : "gfghHSokody6AJigS5A", "version_name" : "V004" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_cleaning", "operator_params" : [ { "name" : "PCC", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_cleaning_select", "prototype_sample_path" : "obs://test-obs/classify/data/animals/", "criticism_sample_path" : "", "n_clusters" : "auto", "simlarity_threshold" : "0.9", "embedding_distance" : "0.2", "checkpoint_path" : "/home/work/user-job-dir/test-lxm/resnet_v1_50", "total_status" : "[0,2]", "do_validation" : "True" } } ] }, "workspace_id" : "0" } 创建数据处理(数据筛选)任务。设置任务类型为“sys_data_selection”。 { "name" : "PRE-aae5", "inputs" : [ { "type" : "DATASET", "source" : "gLNSdlQ1iAAmPgl0Won", "version_id" : "WAVPSYpKE3FggbgRxiK" } ], "work_path" : { "type" : "DATASET", "path" : "gLNSdlQ1iAAmPgl0Won", "version_name" : "V003" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_selection", "operator_params" : [ { "name" : "SimDeduplication", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "source_service" : "select", "filter_func" : "data_deduplication_select", "simlarity_threshold" : "0.9", "total_status" : "[0,2]", "do_validation" : "True" } } ] }, "workspace_id" : "0" } 创建数据处理(数据增强)任务。设置任务类型为“sys_data_augmentation”。 { "name" : "PRE-637c", "inputs" : [ { "type" : "DATASET", "source" : "XGrRZuCV1qmMxnsmD5u", "version_id" : "kjPDTOSi6BQqhtXZlFv" } ], "work_path" : { "type" : "DATASET", "path" : "XGrRZuCV1qmMxnsmD5u", "version_name" : "V002" }, "description" : "", "create_version" : true, "template" : { "id" : "sys_data_augmentation", "operator_params" : [ { "name" : "AddNoise", "advanced_params_switch" : false, "params" : { "task_type" : "image_classification", "dataset_type" : "manifest", "noise_type" : "Gauss", "loc" : "0", "scale" : "1", "lam" : "2", "p" : "0.01", "total_status" : "[3]", "filter_func" : "data_augmentation", "do_validation" : "True" } } ] }, "workspace_id" : "0" }
-
请求示例 创建专属资源池。设置资源类型为“Pool”,资源池名称为“pool-001”,资源池类型为“Dedicate”(物理资源池),资源池支持的作业类型为“训练作业”。 POST https://{endpoint}/v2/{project_id}/pools { "kind" : "Pool", "apiVersion" : "v2", "metadata" : { "labels" : { "os.modelarts/name" : "pool-001", "os.modelarts/workspace.id" : "0" }, "annotations" : { "os.modelarts/description" : "", "os.modelarts/billing.mode" : "0" } }, "spec" : { "type" : "Dedicate", "scope" : [ "Train" ], "network" : { "name" : "net-0123-86c13962597848eeb29c5861153a391f" }, "resources" : [ { "flavor" : "modelarts.vm.gpu.tnt004", "count" : 2 } ], "driver" : { "gpuVersion" : "440.31" } } }
-
响应示例 状态码: 400 Bad request { "error_code" : "ModelArts.50004000", "error_msg" : "Bad request" } 状态码: 409 Already exists { "error_code" : "ModelArts.50015000", "error_msg" : "Pool already exists." }
-
响应参数 状态码: 200 表12 响应Body参数 参数 参数类型 描述 apiVersion String API版本。可选值如下: v2 kind String 资源类型。可选值如下: Pool:资源池 metadata PoolMetadata object 资源池的metadata信息。 spec PoolSpecModel object 资源池的期望信息。 status PoolStatus object 资源池的状态信息。 表13 PoolMetadata 参数 参数类型 描述 name String 系统自动生成的pool名称,相当于pool ID。 creationTimestamp String 时间戳,例如"2021-11-01T03:49:41Z"。 labels PoolMetaLabels object 资源池的标签信息。 annotations PoolMetaAnnotations object 资源池的注释信息。 表14 PoolMetaLabels 参数 参数类型 描述 os.modelarts/workspace.id String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 os.modelarts/name String 用户指定的pool名称。 os.modelarts/resource.id String 资源池的主资源id,通常提供给cbc使用。 os.modelarts/tenant.domain.id String 资源池的租户id,记录资源池创建在哪个租户账号下。 表15 PoolMetaAnnotations 参数 参数类型 描述 os.modelarts/description String 资源池的描述信息。 os.modelarts/billing.mode String 计费模式。可选值如下: 0:按需计费 1:包周期计费 os.modelarts/period.num String 包周期订购周期,比如2。 os.modelarts/period.type String 包周期订购类型。可选值如下: 2:月 3:年 4:小时 os.modelarts/auto.renew String 是否自动续费.可选值如下: 0:不自动续费,默认值 1:自动续费 os.modelarts/promotion.info String 用户在cbc选择的折扣信息。 os.modelarts/service.console.url String 订购订单支付完成后跳转的url地址。 os.modelarts/order.id String 订单id,包周期资源池创建或者计费模式变更的时候该参数必需。 os.modelarts/flavor.resource.ids String 每种规格对应的resourceId,主要和cbc交互使用。 os.modelarts/tms.tags String 创建的时候由用户指定的TMS标签。 表16 PoolSpecModel 参数 参数类型 描述 type String 资源池类型。可选值如下: Dedicate:物理资源池,独立的网络,支持网络打通,定制驱动,定制作业类型。 scope Array of strings 资源池支持的作业类型。至少选择一种,物理资源池支持全部选择。可选值如下: Train:训练作业 Infer:推理作业 Notebook:Notebook作业 resources Array of resources objects 资源池中的资源规格信列表,包括资源规格和相应规格的资源数量。 network network object 资源池网络参数。物理资源池时必选。 jobFlavors Array of strings 资源池支持的作业规格信息列表,内容为作业规格名称。 driver PoolDriver object 资源池的驱动信息。 controlMode Integer 资源池的受限状态。可选值如下: 0:代表不受限 1:转包周期受限 2:规格变更受限 4:服务受限 8:冻结 16:公安冻结(不可退订) 另外状态是可以叠加的,比如9代表转包周期受限+冻结状态。 表17 resources 参数 参数类型 描述 flavor String 资源规格,比如:modelarts.vm.gpu.tnt004。 count Integer 相应规格资源数量。 azs Array of PoolNodeAz objects az列表信息。 表18 PoolNodeAz 参数 参数类型 描述 az String 可用区名称。 count Integer 指定可用区扩容时,指定可用区的节点数。 表19 network 参数 参数类型 描述 name String 网络名称;用户接口通过指定网络名称创建网络,系统会自动创建子网,用户无法创建子网。默认将创建在第一个子网下。 表20 PoolDriver 参数 参数类型 描述 gpuVersion String GPU驱动版本,物理资源池中含有GPU规格时可填,例如:"440.33"。 npuVersion String NPU驱动版本,物理资源池中含有ascend规格时可填,例如:"C78"。 updateStrategy String 驱动升级策略。可选值如下: force:强制升级,立即升级节点驱动,可能影响节点上正在运行的作业 idle:安全升级,待节点上没有作业运行时进行驱动升级 表21 PoolStatus 参数 参数类型 描述 phase String 资源池集群状态。可选值如下: Creating:创建中 Running:运行中 Abnormal:资源池不正常 Deleting:删除中 Error:资源池错误 message String 资源池处于当前状态的提示信息。 resources resources object 资源池中不同状态的资源量。 scope Array of scope objects 资源池业务状态信息。 driver driver object 资源池驱动信息。 parent String 资源池父节点名称,物理池为空。 root String 资源池根节点名称,物理池为自己的名称。 表22 resources 参数 参数类型 描述 creating PoolResourceFlavorCount object 状态为创建中状态的资源量。 available PoolResourceFlavorCount object 状态为可用状态的资源量。 abnormal PoolResourceFlavorCount object 状态为非正常状态的资源量。 deleting PoolResourceFlavorCount object 状态为删除中状态的资源量。 表23 PoolResourceFlavorCount 参数 参数类型 描述 flavor String 资源规格名称,比如:modelarts.vm.gpu.tnt004。 count Integer 规格保障使用量。 maxCount Integer 资源规格的弹性使用量,物理池该值和count相同。 azs Array of azs objects 资源所在的AZ的数量。 nodePool String 节点池名称。比如:nodePool-1。 表24 azs 参数 参数类型 描述 az String AZ的名称。 count Integer AZ的资源数量。 表25 scope 参数 参数类型 描述 scopeType String 业务类型。可选值如下: Train:训练任务 Infer:推理任务 Notebook:Notebook作业 state String 业务状态。可选值如下: Enabling:启动中 Enabled:已启动 Disabling:关闭中 Disabled:已关闭 表26 driver 参数 参数类型 描述 gpu PoolDriverStatus object GPU驱动信息。 npu PoolDriverStatus object NPU驱动信息。 表27 PoolDriverStatus 参数 参数类型 描述 version String 当前驱动版本。 state String 当前驱动状态。可选值如下: Creating:创建中 Upgrading:升级中 Running:运行中 Abnormal:不正常 状态码: 400 表28 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码: 409 表29 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-ModelArts-User-ID 否 String 实际的外部租户ID,如果有的话,工作空间鉴权以该ID为准。 表3 请求Body参数 参数 是否必选 参数类型 描述 apiVersion 是 String API版本。可选值如下: v2 kind 是 String 资源类型。可选值如下: Pool:资源池 metadata 是 PoolMetadataCreation object 资源池的metadata信息。 spec 否 PoolSpecCreation object 资源池的描述信息。 表4 PoolMetadataCreation 参数 是否必选 参数类型 描述 labels 是 PoolLabelsCreation object 资源池的标签信息。 annotations 否 PoolAnnotationsCreation object 资源池的注释信息。 表5 PoolLabelsCreation 参数 是否必选 参数类型 描述 os.modelarts/name 是 String 用户指定的资源池名称。 os.modelarts/workspace.id 否 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 os.modelarts/node.prefix 否 String 自定义节点名称前缀。 表6 PoolAnnotationsCreation 参数 是否必选 参数类型 描述 os.modelarts/description 否 String 资源池的描述信息。 os.modelarts/billing.mode 否 String 计费模式,可选值如下: 0:按需计费 1:包周期计费 os.modelarts/period.num 否 String 包周期订购周期,比如2。当计费模式为包周期时该参数必传。 os.modelarts/period.type 否 String 包周期订购类型。可选值如下: 2:月 3:年 当计费模式为包周期时该参数必传。 os.modelarts/auto.renew 否 String 是否自动续费。可选值如下: 0:不自动续费,默认值 os.modelarts/auto.pay 否 String 是否自动付费,仅在用户购买包周期资源时生效。可选值如下: true:自动付费 false:手动付费,默认值 os.modelarts/promotion.info 否 String 用户在cbc选择的折扣信息。 os.modelarts/service.console.url 否 String 订购订单支付完成后跳转的url地址。 os.modelarts/order.id 否 String 订单id,包周期资源池创建或者计费模式变更的时候该参数必需。 表7 PoolSpecCreation 参数 是否必选 参数类型 描述 type 是 String 资源池类型。可选值如下: Dedicate:物理资源池,独立的网络,支持网络打通,定制驱动,定制作业类型。 scope 是 Array of strings 资源池支持的作业类型。用户创建标准资源池时至少选择一种,物理资源池支持全部选择。可选值如下: Train:训练作业 Infer:推理作业 Notebook:Notebook作业 resources 是 Array of PoolResourceFlavor objects 资源池中的资源规格信列表,包括资源规格和相应规格的资源数量。 network 是 network object 资源池网络参数。创建物理资源池时必选。 jobFlavors 否 Array of strings 资源池支持的作业规格信息列表,内容为作业规格名称。 driver 否 PoolDriver object 资源池的驱动信息。 表8 PoolResourceFlavor 参数 是否必选 参数类型 描述 flavor 是 String 资源规格,比如:modelarts.vm.gpu.tnt004。 count 是 Integer 资源规格的保障资源量。 maxCount 否 Integer 资源规格的弹性资源量。物理池中该值和count必须一致。 extendParams 否 extendParams object 自定义配置参数。 表9 extendParams 参数 是否必选 参数类型 描述 dockerBaseSize 否 String 指定资源池节点的容器引擎空间大小。 表10 network 参数 是否必选 参数类型 描述 name 是 String 网络名称,即网络详情中的metadata.name字段的值。用户接口通过指定网络名称创建网络,系统会自动创建子网,用户无法创建子网。默认将创建在第一个子网下。 表11 PoolDriver 参数 是否必选 参数类型 描述 gpuVersion 否 String GPU驱动版本,物理资源池中含有GPU规格时可填,例如:"440.33"。 npuVersion 否 String NPU驱动版本,物理资源池中含有ascend规格时可填,例如:"C78"。 updateStrategy 否 String 驱动升级策略。可选值如下: force:强制升级,立即升级节点驱动,可能影响节点上正在运行的作业 idle:安全升级,待节点上没有作业运行时进行驱动升级
-
请求示例 为指定的Notebook添加资源标签。例如设置TMS标签的key为“test”,value为“service-gpu”。 https://{endpoint}/v1/{project_id}/notebooks/a55eba18-1ebf-4e9a-8229-d2d3b593a3dc/tags/create { "tags" : [ { "key" : "test", "value" : "service-gpu" }, { "key" : "model_version", "value" : "0.1" } ] }
-
响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。
-
请求示例 创建Notebook实例。设置实例规格为“modelarts.vm.cpu.2u”,存储类型为“EVS”,资源所属为“MANAGED”,存储容量为50G。 { "name" : "notebooks_test", "feature" : "NOTEBOOK", "workspace_id" : "0", "description" : "api-test", "flavor" : "modelarts.vm.cpu.2u", "image_id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090", "volume" : { "category" : "evs", "ownership" : "managed", "capacity" : 50 } }
-
响应示例 状态码: 200 OK { "description" : "api-test", "feature" : "NOTEBOOK", "flavor" : "modelarts.vm.cpu.2u", "id" : "f9937afa-4451-42db-a76b-72d624749f66", "image" : { "description" : "description", "id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090", "name" : "notebook2.0-mul-kernel-cpu-cp36", "swr_path" : "swr.xxxxx.com/atelier/notebook2.0-mul-kernel-cpu-cp36:3.3.2-release_v1", "tag" : "3.3.2-release_v1", "type" : "BUILD_IN" }, "lease" : { "create_at" : 1638841744515, "duration" : 3600000, "enable" : true, "type" : "TIMING", "update_at" : 1638841744515 }, "name" : "notebooks_test", "status" : "CREATING", "token" : "3eff13f2-3d70-5456-6dc7-e3f99f562022", "workspace_id" : "0" }
-
请求示例 创建节点池。 POST https://{endpoint}/v2/{project_id}/pools/{pool_name}/nodepools { "kind" : "NodePool", "apiVersion" : "v2", "metadata" : { "name" : "nodepool-1", "annotations" : { } }, "spec" : { "resources" : { "nodePool" : "nodepool-1", "flavor" : "modelarts.vm.2u4g.dcc", "count" : 1, "maxCount" : 1, "network" : { "vpc" : "277e9abc-0e6b-431a-9232-cfd25d5fc566", "subnet" : "03796378-c356-4c14-826b-e4913aa9c8b9", "securityGroups" : [ "0a15b48d-06f1-41e4-b782-ade90087bf59" ] } } } }
-
响应示例 状态码: 200 OK。 { "kind" : "NodePool", "apiVersion" : "v2", "metadata" : { "name" : "nodepool-1", "annotations" : { } }, "spec" : { "resources" : { "nodePool" : "nodepool-1", "flavor" : "modelarts.vm.2u4g.dcc", "count" : 1, "maxCount" : 1, "network" : { "vpc" : "277e9abc-0e6b-431a-9232-cfd25d5fc566", "subnet" : "03796378-c356-4c14-826b-e4913aa9c8b9", "securityGroups" : [ "0a15b48d-06f1-41e4-b782-ade90087bf59" ] } } } } 状态码: 400 Bad request { "error_code" : "ModelArts.50004000", "error_msg" : "Bad request." }
-
响应示例 状态码: 200 OK。 { "kind" : "Network", "apiVersion" : "v1", "metadata" : { "name" : "network-7a03-86c13962597848eeb29c5861153a391f", "creationTimestamp" : "2022-09-16T09:44:59Z", "labels" : { "os.modelarts/name" : "network-7a03", "os.modelarts/workspace.id" : "0" }, "annotations" : { } }, "spec" : { "cidr" : "192.168.128.0/17", "connection" : { } }, "status" : { "phase" : "" } } 状态码: 400 Bad Request。 { "error_code" : "ModelArts.50004000", "error_msg" : "Bad request." }
-
请求示例 创建网络。设置资源类型为“Network”,用户指定的network名称为“network-7a03”,网络的cidr为“192.168.128.0/17”。 POST {endpoint}/v2/{project_id}/pools { "apiVersion" : "v1", "kind" : "Network", "metadata" : { "labels" : { "os.modelarts/name" : "network-7a03", "os.modelarts/workspace.id" : "0" } }, "spec" : { "cidr" : "192.168.128.0/17" } }
-
请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 apiVersion 是 String API版本。可选值如下: v1 kind 是 String 资源类型。可选值如下: Network:网络 metadata 是 NetworkMetadataCreation object 网络资源的metadata信息。 spec 是 NetworkSpec object 网络资源的描述信息。 表3 NetworkMetadataCreation 参数 是否必选 参数类型 描述 labels 是 NetworkMetadataLabels object 网络资源的标签信息。 表4 NetworkMetadataLabels 参数 是否必选 参数类型 描述 os.modelarts/name 是 String 用户指定的network名称。 os.modelarts/workspace.id 否 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。 表5 NetworkSpec 参数 是否必选 参数类型 描述 cidr 是 String 网络的cidr。取值范围: 172.16.0.0/12~24 192.168.0.0/16~24。 connection 否 NetworkConnection object 当前网络与其他云服务的连通信息。 表6 NetworkConnection 参数 是否必选 参数类型 描述 peerConnectionList 否 Array of peerConnectionList objects Peer方式打通网络列表。 表7 peerConnectionList 参数 是否必选 参数类型 描述 peerVpcId 是 String 对端的VPC ID。 peerSubnetId 是 String 对端的子网ID。 defaultGateWay 否 Boolean 默认路由开关。
-
请求示例 创建AI应用。设置AI应用名称为“mnist”,版本为“1.0.0”,类型为“TensorFlow”,模型文件来源于OBS桶。 POST https://{endpoint}/v1/{project_id}/models { "model_name" : "mnist", "model_version" : "1.0.0", "source_location" : "https://models.obs.xxxxx.com/mnist", "source_job_id" : "55", "source_job_version" : "V100", "model_type" : "TensorFlow", "runtime" : "python2.7", "description" : "mnist model", "execution_code" : "https://testmodel.obs.xxxxx.com/customize_service.py", "input_params" : [ { "url" : "/v1/xxx/image", "protocol" : "http", "method" : "post", "param_name" : "image_url", "param_type" : "string", "min" : 0, "max" : 9, "param_desc" : "http://test/test.jpeg" } ], "output_params" : [ { "url" : "/v1/xxx/image", "protocol" : "http", "method" : "post", "param_name" : "face_location", "param_type" : "box", "param_desc" : "face_location param value description" } ], "dependencies" : [ { "installer" : "pip", "packages" : [ { "package_name" : "numpy", "package_version" : "1.5.0", "restraint" : "ATLEAST" } ] } ], "model_algorithm" : "object_detection", "model_metrics" : "{\"f1\":0.52381,\"recall\":0.666667,\"precision\":0.466667,\"accuracy\":0.625}", "apis" : [ { "url" : "/v1/xxx/image", "protocol" : "http", "method" : "post", "input_params" : { "type" : "object", "properties" : { "image_url" : { "type" : "string" } } }, "output_params" : { "type" : "object", "properties" : { "face_location" : { "type" : "box" } } } } ], "initial_config" : "{\"protocol\":\"http\",\"port\":\"8080\",\"health\":{\"check_method\":\"HTTP\",\"protocol\":\"http\",\"url\":\"/health\",\"period_seconds\":\"5\",\"failure_threshold\":\"10\",\"initial_delay_seconds\":\"12\"},\"readiness_health\":{\"check_method\":\"HTTP\",\"protocol\":\"http\",\"url\":\"/readiness_health\",\"period_seconds\":\"5\",\"failure_threshold\":\"20\",\"initial_delay_seconds\":\"12\"},\"startup_health\":{\"check_method\":\"HTTP\",\"protocol\":\"http\",\"url\":\"/startup_health\",\"period_seconds\":\"5\",\"failure_threshold\":\"10\",\"initial_delay_seconds\":\"12\"}}" }
-
接口约束 使用模板导入模型与不使用模板导入这两类导入方式的Body参数要求不一样。以下Body参数说明中以模板参数表示适合使用模板导入模型时填写的参数,非模板参数表示适合不使用模板导入时填写的参数,公共参数表示与导入方式无关的参数。 使用模板导入模型时(model_type为Template),template字段必填,source_location不需要填。 不使用模板导入模型时(即model_type不为Template),source_location必填,template不需要填。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- ...
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章