我正在尝试让深度学习网络(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。
谢谢!
发布于 2020-01-09 20:22:39
错误是这样的:
os.mkdir(os.path.join("/", *splits[:i+1]))这意味着,该路径在/下,而不在您的主目录中。在nunet的注释中写了只使用绝对路径的修复。
base = "/home/pere/Tortuosity/nnUNet_base"如果Tortuosity直接在您的主文件夹中。
https://stackoverflow.com/questions/59663547
复制相似问题