Tensorflow多节点作业下载数据到/cache显示No space left
问题现象
创建训练作业,Tensorflow多节点作业下载数据到/cache显示:“No space left”。
原因分析
TensorFlow多节点任务会启动parameter server(简称ps)和worker两种角色,ps和worker会被调度到相同的机器上。由于训练数据对于ps没有用,因此在代码中ps相关的逻辑不需要下载训练数据。如果ps也下载数据到“/cache”,实际下载的数据会翻倍。例如只下载了2.5TB的数据,程序就显示空间不够而失败,因为/cache只有4TB的可用空间。
处理方法
在使用Tensorflow多节点作业下载数据时,正确的下载逻辑如下:
import argparse parser = argparse.ArgumentParser() parser.add_argument("--job_name", type=str, default="") args = parser.parse_known_args() if args[0].job_name != "ps": copy..............................