下载
中文
注册

系统约束与限制

  1. 该文档仅配套TensorFlow 1.15版本使用,当前版本同时支持TensorFlow 2.6.5版本的模型迁移,具体请参考TensorFlow 2.6.5模型迁移指南
  2. 当前版本不支持float64/complex64/complex128/DT_VARIANT数据类型。
  3. 目前系统支持的format主要有NCHW、NHWC、NC、HWCN、CN。
  4. 如果用户原始脚本中已经实现了手动混合精度功能(比如显式调用cast算子转换计算精度),系统的默认精度处理方式是优先保持原图精度,即当算子不支持float32数据类型时,直接降低精度到float16。
  5. 条件分支、循环分支只支持tf.cond、tf.while_loop、tf.case。
  6. 多P训练时,NPURunconfig不支持save_checkpoints_secs。
  7. 多卡训练时,不支持仅保存单卡的Summary信息。
  8. iterations_per_loop>1的场景下,save_checkpoints_steps必须大于或等于iterations_per_loop,且是iterations_per_loop的整数倍,否则不会按照save_checkpoints_steps配置的值保存数据。iterations_per_loop>1的场景下,可能无法按照save_summary_steps和log_step_count_steps配置的值保存信息,请参考Log/Summary实现信息保存。
  9. 仅summary/log/data算子支持String类型。
  10. 针对Atlas 训练系列产品,算子不支持inf/nan输入。
  11. 集合通信约束:
    • 分布式训练场景下,HCCL会使用Host服务器的部分端口进行集群信息收集,需要操作系统预留该部分端口。默认情况下,HCCL使用60000-60015端口,若通过环境变量HCCL_IF_BASE_PORT指定了Host网卡起始端口,则需要预留以该端口起始的16个端口。

      操作系统端口号预留示例:sysctl -w net.ipv4.ip_local_reserved_ports=60000-60015

    • 针对Atlas 训练系列产品:server内只支持1/2/4/8P粒度的分配。
  12. 数据预处理约束:
    • 只支持使用tf.data.make_initializable_iterator进行getnext算子下沉。
    • 当前不支持queue方式读取数据,仅支持dataset和placeholder方式。
  13. 如果使用python的多进程包multiprocessing创建多进程,请不要使用fork方法,建议使用forkserver方法。