转载自本人在华为昇腾论坛上的帖子:
https://bbs.huaweicloud.com/forumreview/thread-184219-1-1.html
问题描述:
用 pyCharm Toolkit 训练时可能会遇到路径问题,想保存训练结果到OBS却发现保存不下来!!!
ModelArts相关文档链接:https://support.huaweicloud.com/tfmigr-cann51RC1alpha1/atlasmprtgma_13_0004.html
官方文档保存方法截图:
按照如上方法,发现保存不到OBS里。
解决办法:
ModelArts文档上关于路径问题没说清的地方:
可能是因为ModelArts版本更新了,但是文档上没更新说明的原因导致(该解决办法针对的是2022-04月在用的版本)。
如下代码可以得到数据路径(config.data_url,用于读取数据集)和训练输出路径(config.train_url,用于保存模型输出),替换下自己代码里的相应路径即可
import argparse
parser = argparse.ArgumentParser() parser.add_argument("--data_url", type=str, default="./dataset")
parser.add_argument("--train_url", type=str, default="./output")
config = parser.parse_args()
Data路径用 config.data_url
输出路径用 config.train_url
ModelArts上打印的路径详细信息截图:
code_dir : 代码路径,即代码复制到ModelArts里的路径位置
work_dir : 工作路径,即当前路径(os.getcwd()或linux命令pwd)显示的路径
data_url : 数据路径,数据可以从这里读取
train_url : 保存训练输出路径,保存到这里,训练结束后会自动复制到OBS里
吐槽一下:
官方文档里新建的 "/cache/dataset" 或是 "/cache/result" ,其实都是在“/”目录(即上面“/home”的上一层目录)下新建了两个文件夹,其实没有必要。
相关cache(缓存)日志里的信息截图: