代码拉取完成,页面将自动刷新
容器编译指令 - docker build . -t init-container:v1.0 - docker tag init-container:v1.0 harbor.apulis.cn:8443/develop/apulistech/init-container:v1.0 - docker push harbor.apulis.cn:8443/develop/apulistech/init-container:v1.0 JOB启动环境说明 initContainer prestart与start两个文件夹会被拷贝到业务容器的/prestart与/start两个文件夹当中 /pod.env统一存放镜像的初始化环境变量,由镜像制作方提供 JOB环境设置 业务方调用job-scheduler API创建JOB - 如果API中PrestartScripts参数为空,则POD启动过程不执行环境配置,直接按root身份启动CMD - 如果API中PrestartScripts参数非空,则POD启动过程执行环境配置。此过程会逐个调用/prestart文件夹中的一个或多个可执行文件,最后执行/start/start.sh 。 start.sh脚本代用了用户参数CMD,但是以用户身份(CreateJob Owner字段)来执行。 预置环境变量: AILAB_ADDR http://ai-lab.default:10000/api/v1 用于访问实验管理数据,由业务方设置 AILAB_LAB_ID 123 本次job所属实验ID APULIS_CLUSTER_ID {xxx-xxx-xxxxxxx} 该集群cluster标识 AILAB_TOKEN "xxxxx.ffff" 用户创建job时的token AILAB_AFFINITY_JOB_ID xxxx 设置了亲和性的目标job id AILAB_AFFINITY_TASK_NAME master|worker 设置了亲和性的目标task name (如果为单节点任务,无此环境变量) AILAB_JOB_TYPE dev|train|eval 预定义job类型 DIST_JOB_ROLE master|worker|ps [实验性质]预定义分布式job角色 访问job详情使用: $AILAB_ADDR/labs/$AILAB_LAB_ID/runs/$JOB_ID POD_NAME POD名称 POD_IP POD IP JOB_ID 任务ID USER_NAME 用户名 PRESTART_SCRIPTS 启动脚本列表,空格符隔开 JOB_CMD 任务启动命令 代码开发预置环境变量: 由应用层(aiarts设置) DEV_PROJECT_CODE /home/{username}/code DEV_PROJECT_OUTPUT /home/{username}/outputs DEV_PROJECT_REPO xxxxxxxx 项目对应的repo ID DEV_USERDATA_DIR /home/{username}/userdata DEV_TEAMDATA_DIR /home/{username}/teamdata DEV_ADHUB_DIR /home/{username}/adhub DEV_USER_CONDA /home/{username}/conda [实验性质] 资源类型定义 const ( AILAB_RESOURCE_TYPE_MODEL = "model" //模型工厂资源 AILAB_RESOURCE_TYPE_DATASET = "dataset" //数据集资源 AILAB_RESOURCE_TYPE_MLRUN = "mlrun" //实验管理中的run AILAB_RESOURCE_TYPE_OUTPUT = "*" //本次run的输出存储 AILAB_RESOURCE_TYPE_CODE = "code" //代码开发资源 AILAB_RESOURCE_TYPE_ENGINE = "engine" //镜像中心资源, experiment ) 实验管理启动训练/评估命令: iqi_launcher --codePath {{ model/code }} 实验管理需要的资源构造方式: data_path ===> data_path: { type:"dataset", id:"数据集id" , version:"数据集版本" } pretrained_model ====> pretrained_model: { type:"mlrun" , id:"上次训练的runId" } output_path ====> output_path:{type:"*"} checkpoint_path ====> checkpoint_path:{type:"#train" } labels ====> 取数据集 label device_num ====> 用户输入number 预置模型训练/评估总会加入一个预置模型资源: model: { id:"预置模型ID" , version:"预置模型版本" } 工业质检平台 sysParams 参数入库时需要转换: 训练: data_path pretrained_model train_output ==> output_path 评估: train_output ===> checkpoint_path eval_output ===> output_path 系统预置镜像随安装包部署安装,名字固定: ascend-mindinsight:1.2.0 (ascend-mindinsight/arm64:1.2.0 ascend-mindinsight/amd64:1.2.0) ascend-ms-train:21.0.rc1 (ascend-ms-train/arm64:21.0.rc1 ascend-ms-train/amd64:21.0.rc1 ) 上云: 1. job的flags 值中 AILAB_RUN_FLAGS_USE_CLOUD = 0x40 bit位设置了表示在modelArts云端训练/评估;否则为本地训练/评估 2. modelArts的jobName与ai-lab分配的jobId关联 pod ssh安装配置: 1. init-ssh 根据传入环境变量: AILAB_SSH_PASSWD xxxxx 非空表示需要安装ssh服务,开放22端口,并以此随机密码初始化ssh登录用户密码(仅主节点) 2. 修改/etc/ssh/ssh_config 增加StrictHostKeyChecking no 不提示known_hosts (自动化ssh命令需要) 3. launcher根据当前用户名和token调用AAA接口获得当前用户的public key ,追加写入 ~/.ssh/authorized_keys 4. 分布式podgroup, 主从ssh互相信任待定 dev pod 代码仓git clone ssh方式安装配置: 1. 调用代码管理接口根据code ID 获得repo的访问地址和私钥 ssh_url ,secret_key 2. 创建~/.ssh/repos/${DEV_PROJECT_REPO},写入secret_key,并chmod 600 3. 追加写入~/.ssh/config 增加一行 echo "IdentityFile ~/.ssh/repos/${DEV_PROJECT_REPO}" >> ~/.ssh/config 引用该私钥 4. 根据当前用户,当前repo初始化code目录如果未初始化 git clone $ssh_url ~/${USER_NAME}/code 5. 检查 juypter是否安装,如已安装启动juytper,根目录设置为 /home/${USER_NAME};如未安装报错退出
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。