我正在尝试让深度学习网络(https://github.com/MIC-DKFZ/nnUNet(使用我自己的数据集,但我在路径上遇到了问题。我使用了几种方法来定义我的路径。作者为此问题导入了以下软件包:
import os
from batchgenerators.utilities.file_and_folder_operations import maybe_mkdir_p, join
有了这个,我分别尝试了以下行:
base = os.environ["nnUNet_base"]
base = join("Tortuosity", "nnUNet_base")
base = "Tortuosity/nnUNet_base"
我在Tortuosity
目录中有nnUNet_base
目录。使用第一种方法,它似乎没有正确注册目录(我要求print("base =", base)
,作为回报,我得到了None
.对于第二种和第三种方法,我得到以下错误:
Traceback (most recent call last):
File "experiment_planning/plan_and_preprocess_task.py", line 18, in <module>
from nnunet.paths import base,splitted_4d_output_dir, cropped_output_dir, preprocessing_output_dir, raw_dataset_dir, network_training_output_dir
File "/home/pere/anaconda3/envs/nnunet_env/nnUNet/nnunet/paths.py", line 51, in <module>
maybe_mkdir_p(splitted_4d_output_dir)
File "/home/pere/anaconda3/envs/nnunet_env/lib/python3.6/site-packages/batchgenerators/utilities/file_and_folder_operations.py", line 40, in maybe_mkdir_p
os.mkdir(os.path.join("/", *splits[:i+1]))
PermissionError: [Errno 13] Permission denied: '/nnUNet_base'
在这种情况下,我不知道如何授予权限。请帮忙,我应该怎么做才能有效地定义我的案例的路径?我在Mac上运行带有Ubuntu 16.04的VM。
谢谢!
错误是这样说的:
os.mkdir(os.path.join("/", *splits[:i+1]))
这意味着,路径位于/下,而不是在您的主目录中。仅使用绝对路径的修复程序写在 nunet 的评论中。
base = "/home/pere/Tortuosity/nnUNet_base"
如果 Tortuosity 直接位于您的个人文件夹中。