Shortcuts

常见问题

如何上传用户代码和数据文件到集群?

集群是内外环境,不能直接访问公网,仅可以通过 hfai workspace 工具同步本地项目目录到集群的工作区,命令功能详见环境管理,workspace工具原理请参考这里

数据集需符合 ffrecord 格式规范,上传通过 Studio 数据集上传工具

为什么任务被停掉了?

  1. 任务中只要有一个节点状态是fail,那么其他节点都会被停掉。可以查看该任务所有节点的日志进行定位;

  2. 任务超时没有输出(默认是30分钟),系统判别为疑似卡住,将节点标记为fail并退出;

  3. 可能因为容器oom被系统杀掉了,检查一下 sys log 里的相关信息。

为什么任务反复打断?

任务打断最主要的原因是集群资源占满,优先启动高级别任务以及同级别任务间轮转;也存在节点出现异常需要移出检查,这个节点上运行中的任务就会被打断并重新分配节点。 只要任务还没有处于结束状态(finished),就会继续保持在队列里直到可分配资源,不需要用户干预。

之前能运行的xxx为什么现在不行了?

确认任务是以何种方式提交的,

  • 如果是提交hfai run xxx.yaml,检查yaml里的参数,尤其是以下几个

    • container :是否是当前帐户可用的容器环境

    • group(仅内部用户) : hfai monitor quota-overview 检查当前帐户可用配额的分组,如 ‘jd_a100’

    • priority(仅内部用户) :hfai monitor quota-overview 检查当前帐户在每个优先级上的配额

  • 如果是以 hfai python xxx -- [cluster_options] 的方式启动任务,默认带入当前虚拟环境运行,检查代码里是否有重复导入环境引起的冲突,或者在命令执行时带上 --no_inherit 参数,确保环境加载由代码定义。

任务如果是还没进入运行就失败了(完全没有日志),大概率是和提交参数有关。只要进入运行,每个worker至少会有启动自检的日志输出,之后是运行输出。运行过程的问题建议结合日志、性能曲线排查。

库版本对不上

建议使用 hfai venv 创建和管理个人环境,如果是以其他方式安装的依赖包,需要用户自己确保加载路径正确。仍无法加载正确版本的话请上报错误信息。

页面白屏了

  1. 检查是否有请求错误,报错截图发给管理员。

  2. 换个浏览器试试,比如 chrome, firefox。

venv里找不到hfai了

--no_extend 方式创建的虚拟环境(即 hfai venv create <venv_name> --no_extend),是一个全新的虚拟环境,需要在这个环境里单独安装hfai,即

source hfai_env venv_name
pip install hfai 

任务已启动运行但是报错无法导入hf_env

如果已经执行了如下代码:

import hfai_env
hfai_env.set_env('xxx')

则代码中将不能再导入 hf_env,两者环境有冲突。

安装 hfai 报错 no matches found, 或者是 no matching distribution found

请确认是否是 Anaconda(Python3.8) 环境。

Linux, Mac 用户可以直接安装轻量版 hfai,Windows用户可以通过WSL安装轻量版 hfai。完全版 hfai 只支持 Ubuntu 20.04 。

AttributeError: module ‘hfai’ has no attribute ‘datasets’

hfai.datasets 在轻量版和完全版中都可以使用,它们都需要依赖 ffrecord,其基于 Linux 原生异步IO接口 libaio

以 Ubuntu 系统为例,可以通过如下命令安装:

sudo apt install libaio-dev