文档
注册

功能介绍

X2MindSpore工具可将基于PyTorch和TensorFlow开发的模型及其训练脚本根据适配规则迁移为可基于MindSpore运行的代码,大幅度提高了脚本迁移速度,降低了开发者的工作量。

约束说明

  • X2MindSpore工具支持对包括但不限于X2MindSpore 模型列表列出的模型进行迁移,迁移成功后可直接运行,部分模型需要根据实际情况进行少量适配。迁移后模型能够训练成功且收敛,但对最终精度和性能暂不做保证。
  • X2MindSpore工具会在迁移后的目录中生成适配层文件目录x2ms_adapter。该目录中保存的是基于MindSpore实现的PyTorch/TensorFlow API替换接口,工具会将原PyTorch/TensorFlow API按照映射关系迁移至适配层API,迁移后代码依赖适配层运行。
  • 通过X2MindSpore工具迁移后的训练脚本支持在MindSpore1.7及以上版本上运行。
  • MindSpore支持两种运行模式(Graph模式和PyNative模式),由于Graph模式存在Python语法限制,当前仅有X2MindSpore 模型列表中ResNet、BiT系列(PyTorch)和UNet(PyTorch)的模型支持Graph模式迁移,其余模型只支持迁移至PyNative模式,训练性能较Graph模式有所降低。具体差异详见MindSpore文档
  • 当前为了规避MindSpore中数据处理不支持创建Tensor的限制,在PyTorch迁移过程中将运行模式设置成了算子同步下发模式,可能存在训练性能的部分降低;用户可通过将context.set_context中的pynative_synchronize=True去除,使用算子异步下发模式提升性能;此时若报错,可检查数据处理部分代码,去除其中的创建Tensor行为,改为使用numpy的ndarray。
  • 当其他程序占用当前卡,导致可用内存不足,可在训练脚本中context.set_context语句添加device_id = **为指定调用卡的ID。
  • 当前TensorFlow 1.x的训练脚本不支持迁移为多卡脚本。

环境准备

  • 安装开发套件包,具体请参考CANN 软件安装指南的“安装开发环境”章节。
  • 执行训练脚本迁移前须安装如下依赖。如下命令如果使用非root用户安装,需要在安装命令后加上--user,例如:pip3 install pandas --user
    pip3 install pandas         #pandas版本号需大于或等于1.2.4
    pip3 install libcst         #Python语法树解析器,用于解析Python文件
    pip3 install jedi           #用于跨文件解析,建议安装

配置环境变量

  1. 以运行用户在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加以下内容(以非root用户的默认安装路径为例)。
    # Ascend-cann-toolkit环境变量(请根据实际路径修改)
    source ~/Ascend/ascend-toolkit/set_env.sh
  2. 执行:wq!命令保存文件并退出。
  3. 执行source ~/.bashrc命令使其立即生效。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词