用法:作业运行
 -checkpoint_path <arg>作业的培训输出目录,可以
                              是本地或其他FS目录。这个
                              通常包括检查点文件和
                              导出模型
 -docker_image <arg> Docker映像名称/标签
 -env <arg> worker / ps的公共环境变量
 -input_path <arg>作业的输入,可以是本地或其他FS
                              目录
 -name <arg>作业名称
 -num_ps <arg>作业的PS任务数,默认情况下
                              是0
 -num_workers <arg>作业的工作者任务数量,由
                              默认是1
 -ps_docker_image <arg>为PS指定docker映像
                              未指定,PS使用--docker_image作为
                              默认。
 -ps_launch_cmd <arg>工作程序的命令行,参数为
                              直接用于启动PS
 -ps_resources <arg>每个PS的资源,例如
                              内存-mb = 2048,vcores = 2,yarn.io / gpu = 2
 -queue <arg>要运行作业的队列的名称,默认情况下是
                              使用默认队列
 -saved_model_path <arg>作业的模型导出路径(savedmodel),
                              不需要导出模型时需要
                              放在$ {checkpoint_path}下的可能是
                              本地或其他FS目录。这将是
                              曾经服役。
 -tensorboard <arg>我们是否应该为此任务运行TensorBoard?通过
                              默认是真的
 -verbose打印详细日志以进行故障排除
 -wait_job_finish在用户想要等待作业时指定
                              完
 -worker_docker_image <arg>为WORKER指定docker映像,当此
                              未指定,WORKER使用--docker_image
                              默认情况下。
 -worker_launch_cmd <arg>工作者的命令行,参数为
                              直接用来发动工人
 -worker_resources <arg>每个工作程序的资源,例如
                              内存-mb = 2048,vcores = 2,yarn.io / gpu = 2
 -localization <arg>指定本地化为远程/本地
                              所有容器可用的文件/目录(Docker)。
                              参数格式为“ RemoteUri:LocalFilePath [:rw]”
                              (尚不支持ro权限)。
                              RemoteUri可以是本地文件或目录
                              或HDFS或s3或abfs或http .etc。
                              LocalFilePath可以是绝对的或相对的。
                              如果是相对的,它将在容器的隐含条件下
                              工作目录。
                              此选项可以设置多次。
                              例子是
                              -localization“ hdfs:/// user / yarn / mydir2:/ opt / data”
                              -localization“ s3a:/// a / b / myfile1:./”
                              -localization“ https:/// a / b / myfile2:./myfile”
                              -localization“ /用户/纱线/ mydir3:/ opt / mydir3”
                              -localization“ ./mydir1 :.”。
使用本地化选项使容器中的条目python脚本可使用依赖关系Python脚本的集合时,可能还需要如下设置PYTHONPATH环境变量,以避免从entry_script.py报告模块导入错误。
...工作 #入口点 --localization entry_script.py:<路径> /entry_script.py #入口点的依赖Python脚本 --localization other_scripts_dir:<路径> / other_scripts_dir #PYTHONPATH env使依赖项可用于输入脚本 --env PYTHONPATH =“ <路径> / other_scripts_dir” --worker_launch_cmd“ python <路径> /entry_script.py ...”
对于潜水艇内部配置,请创建一个submarine.xml,它应该放在$ HADOOP_CONF_DIR下。
| 配置名称 | 描述 | 
|---|---|
| submarine.runtime.class | 可选的。运行时工厂的完整合格类名。 | 
| submarine.localization.max允许的文件大小MB | 可选的。这将对要在“ -localization” CLI选项中本地化的文件/目录设置大小限制。默认为2GB。 | 
纱罐路径到/hadoop-yarn-applications-submarine-3.2.0-SNAPSHOT.jar作业运行\ --env DOCKER_JAVA_HOME = / usr / lib / jvm / java-8-openjdk-amd64 / jre / \ --env DOCKER_HADOOP_HDFS_HOME = / hadoop-3.1.0 --name tf-job-001 \ --docker_image <您的docker-image> \ --input_path hdfs:// default / dataset / cifar-10-data \ --checkpoint_path hdfs:// default / tmp / cifar-10-jobdir \ --worker_resources内存= 4G,vcores = 2,gpu = 2 \ --worker_launch_cmd“ python ...(您的培训应用程序cmd)” --tensorboard#这将启动一个伴侣的tensorboard容器进行监视
1)DOCKER_JAVA_HOME指向Docker映像中的JAVA_HOME。
2)DOCKER_HADOOP_HDFS_HOME指向Docker映像中的HADOOP_HDFS_HOME。
3)-- worker_resources在需要GPU训练任务时可以包含gpu。
4)指定--tensorboard后,您可以转到YARN新UI,转到服务-> <您指定的服务> ->单击...以访问Tensorboard。
这将启动一个Tensorboard来监视您的所有工作。通过访问YARN UI(新UI)。您可以转到服务页面,转到tensorboard-service,单击快速链接(Tensorboard)可以将您引导至tensorboard。
见下面的截图:

纱罐hadoop-yarn-applications-submarine- <version> .jar作业运行\ --name tf-job-001 --docker_image <您的docker映像> \ --input_path hdfs:// default / dataset / cifar-10-data \ --checkpoint_path hdfs:// default / tmp / cifar-10-jobdir \ --env DOCKER_JAVA_HOME = / usr / lib / jvm / java-8-openjdk-amd64 / jre / \ --env DOCKER_HADOOP_HDFS_HOME = / hadoop-3.1.0 \ --num_workers 2 \ --worker_resources内存= 8G,vcores = 2,gpu = 1 --worker_launch_cmd“工人的cmd ...” \ --num_ps 2 \ --ps_resources memory = 4G,vcores = 2,gpu = 0 --ps_launch_cmd“ cmd for ps” \
纱罐hadoop-yarn-applications-submarine-3.2.0-SNAPSHOT.jar作业显示--name tf-job-001
输出如下:
职位元信息: 申请编号:application_1532131617202_0005 输入路径:hdfs:// default / dataset / cifar-10-data 检查点路径:hdfs:// default / tmp / cifar-10-jobdir 运行参数:--name tf-job-001 --docker_image wtan / tf-1.8.0-gpu:0.0.3 (...运行作业之前的所有命令行)
之后,您可以运行tensorboard --logdir = <checkpoint-path>来查看作业的Tensorboard。
#必要时清理先前的服务 纱线应用程序-破坏张量板服务; \ 纱罐/tmp/hadoop-yarn-applications-submarine-3.2.0-SNAPSHOT.jar \ 作业运行--name tensorboard-service --verbose --docker_image wtan / tf-1.8.0-cpu:0.0.3 \ --env DOCKER_JAVA_HOME = / usr / lib / jvm / java-8-openjdk-amd64 / jre / \ --env DOCKER_HADOOP_HDFS_HOME = / hadoop-3.1.0 \ --num_workers 0-张量板
您可以通过Tensorboard链接查看多个职业培训历史记录:
