Traceback (most recent call last): File "C:\Users\31225\Desktop\MVSNet_pytorch-master\train.py", line 77, in <module> train_dataset = MVSDataset(args.trainpath, args.trainlist, "train", 3, args.numdepth, args.interval_scale) File "C:\Users\31225\Desktop\MVSNet_pytorch-master\datasets\dtu_yao.py", line 20, in __init__ self.metas = self.build_list() File "C:\Users\31225\Desktop\MVSNet_pytorch-master\datasets\dtu_yao.py", line 24, in build_list with open(self.listfile) as f: TypeError: expected str, bytes or os.PathLike object, not NoneType
时间: 2023-08-28 16:03:26 浏览: 238
这个错误提示是说在文件路径或者文件名是None的情况下无法打开文件,可能是在初始化 `MVSDataset` 对象时传入了错误的参数,你可以检查以下参数 `args.trainpath`、`args.trainlist` 是否正确赋值。同时也需要检查代码中是否有对这些参数的错误操作,比如没有给这些参数赋值,或者在使用这些参数时没有进行判空操作。
相关问题
Traceback (most recent call last): File "D:\文件\三维重建\project\MVSNet_pytorch-master\MVSNet_pytorch-master\train.py", line 16, in <module> from utils import * File "D:\文件\三维重建\project\MVSNet_pytorch-master\MVSNet_pytorch-master\utils.py", line 2, in <module> import torchvision.utils as vutils File "C:\Users\31225\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\__init__.py", line 5, in <module> from torchvision import datasets, io, models, ops, transforms, utils File "C:\Users\31225\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\models\__init__.py", line 16, in <module> from .maxvit import * File "C:\Users\31225\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\models\maxvit.py", line 3, in <module> from typing import Any, Callable, List, Optional, OrderedDict, Sequence, Tuple ImportError: cannot import name 'OrderedDict' from 'typing' (C:\Users\31225\AppData\Local\Programs\Python\Python37\lib\typing.py)
这个错误提示表明程序无法从typing模块中导入OrderedDict,可能是因为你的Python版本过低,不支持该模块。在Python 3.7及其以下版本中,typing模块确实不支持OrderedDict。如果你想要使用OrderedDict,可以考虑升级你的Python版本到3.8及以上。如果你无法升级Python版本,可以考虑修改程序中使用OrderedDict的部分,改为使用常规字典dict。如果你不确定如何修改程序,可以尝试在utils.py文件中,将该行代码中的OrderedDict替换为dict。例如:
```
# 修改前
from typing import Any, Dict, List, Tuple, Union, OrderedDict
# 修改后
from typing import Any, Dict, List, Tuple, Union
# 或者直接将该行代码注释掉
# from typing import Any, Dict, List, Tuple, Union, OrderedDict
```
需要注意的是,这种修改可能会导致程序的某些功能出现问题,需要你对程序进行仔细测试。
Traceback (most recent call last): File "e:/RetinexNet_Pytorch-main/RetinexNet_Pytorch-main/train.py", line 163, in <module> main(args.epochs, args.batch_size, args.patch_size, args.lr, args.data_dir, args.ckpt_dir, args.gpu_id, args.vis_dir) File "e:/RetinexNet_Pytorch-main/RetinexNet_Pytorch-main/train.py", line 37, in main assert len(train_low_data_names) != 0 AssertionError
这个错误是由一个断言(assert)语句引起的。在您的代码中,断言确保了一个条件的真实性。如果断言的条件为 False,则会引发 AssertionError 异常。
在这个特定的例子中,断言 `len(train_low_data_names) != 0` 没有得到满足,即训练低分辨率图像数据的列表 `train_low_data_names` 的长度为 0。这意味着没有提供任何训练数据。
要解决这个问题,您需要确保在执行断言之前,训练低分辨率图像数据的列表 `train_low_data_names` 中有至少一个元素。您可以检查路径是否正确、文件是否存在以及数据是否被正确加载。
如果您需要进一步的帮助,请提供更多的代码和上下文信息。
阅读全文