FileNotFoundError: [Errno 2] No such file or directory: '\u202aD:\x01\x01.png'
FileNotFoundError Traceback (most recent call last)
Cell In[2], line 7
4 from modelscope.outputs import OutputKeys
6 portrait_matting = pipeline(Tasks.portrait_matting,model='damo/cv_unet_image-matting')
----> 7 result = portrait_matting('D:\1\1.png')
8 cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG])
File /opt/conda/lib/python3.8/site-packages/modelscope/pipelines/base.py:219, in Pipeline.call(self, input, args, **kwargs)
216 return self._process_iterator(input, args, kwargs)
218 else:
--> 219 output = self._process_single(input, *args, kwargs)
220 return output
File /opt/conda/lib/python3.8/site-packages/modelscope/pipelines/base.py:247, in Pipeline._process_single(self, input, args, *kwargs)
245 postprocess_params = kwargs.get('postprocess_params', {})
246 self._check_input(input)
--> 247 out = self.preprocess(input, preprocess_params)
249 with device_placement(self.framework, self.device_name):
250 if self.framework == Frameworks.torch:
File /opt/conda/lib/python3.8/site-packages/modelscope/pipelines/cv/image_matting_pipeline.py:55, in ImageMattingPipeline.preprocess(self, input)
54 def preprocess(self, input: Input) -> Dict[str, Any]:
---> 55 img = LoadImage.convert_to_ndarray(input)
56 img = img.astype(float)
57 result = {'img': img}
File /opt/conda/lib/python3.8/site-packages/modelscope/preprocessors/image.py:89, in LoadImage.convert_to_ndarray(input)
86 @staticmethod
87 def convert_to_ndarray(input) -> ndarray:
88 if isinstance(input, str):
---> 89 img = np.array(load_image(input))
90 elif isinstance(input, PIL.Image.Image):
91 img = np.array(input.convert('RGB'))
File /opt/conda/lib/python3.8/site-packages/modelscope/preprocessors/image.py:133, in load_image(image_path_or_url)
127 """ simple interface to load an image from file or url
128
129 Args:
130 image_path_or_url (str): image file path or http url
131 """
132 loader = LoadImage()
--> 133 return loader(image_path_or_url)['img']
File /opt/conda/lib/python3.8/site-packages/modelscope/preprocessors/image.py:57, in LoadImage.call(self, input)
55 img_shape = (img_h, img_w, img_c)
56 elif self.backend == 'pillow':
---> 57 bytes = File.read(image_path_or_url)
58 # TODO @wenmeng.zwm add opencv decode as optional
59 # we should also look at the input format which is the most commonly
60 # used in Mind' image related models
61 with io.BytesIO(bytes) as infile:
File /opt/conda/lib/python3.8/site-packages/modelscope/fileio/file.py:274, in File.read(uri)
265 """Read data from a given filepath
with 'rb' mode.
266
267 Args:
(...)
271 bytes: Expected bytes object.
272 """
273 storage = File._get_storage(uri)
--> 274 return storage.read(uri)
File /opt/conda/lib/python3.8/site-packages/modelscope/fileio/file.py:53, in LocalStorage.read(self, filepath)
44 def read(self, filepath: Union[str, Path]) -> bytes:
45 """Read data from a given filepath
with 'rb' mode.
46
47 Args:
(...)
51 bytes: Expected bytes object.
52 """
---> 53 with open(filepath, 'rb') as f:
54 content = f.read()
55 return content
FileNotFoundError: [Errno 2] No such file or directory: '\u202aD:\x01\x01.png'
它似乎表示无法找到文件 "\u202aD:\x01\x01.png" 。该文件路径中的字节顺序标记(BOM)可能导致文件路径识别错误,建议将文件名中删除 BOM 或将文件路径转义成字符串进行引用即可解决此问题。
另外,可以检查该文件是否存在,并确保脚本有足够的权限读取该文件。请确保文件路径正确无误,并遵循相关操作系统的文件命名规则,以免发生此类错误。
这个错误是因为您指定的图片文件路径不存在或不可读。请检查您的输入文件路径是否正确,并确保文件存在并且可以被读取。请注意代码中的特殊字符 \u202a
和 \x01
,这两个转义序列可能会导致文件路径解析失败。建议您直接使用原始字符串字面量 r'D:/1/1.png'
来表示路径,以避免任何编码问题。
从错误信息来看,问题出在文件路径上。\u202aD:\x01\x01.png 不是一个有效的文件路径。请检查您提供的文件路径是否正确,并确保文件存在于指定的位置。如果文件路径包含特殊字符,请尝试将其替换为常规字符。
另外,文件路径中的 \x01 可能是 Unicode 编码问题导致的。您可以尝试将文件路径从 Unicode 转换为 ASCII 编码,然后再次尝试加载文件。可以使用 Python 的 encode() 方法将 Unicode 字符串转换为 ASCII 编码的字节串。例如:
file_path = 'D:\x01\1.png'
file_path_ascii = file_path.encode('ascii', errors='ignore').decode()
CopyCopy
然后,使用转换后的文件路径尝试加载文件:
result = portrait_matting(file_path_ascii)
CopyCopy
如果问题仍然存在,请检查文件是否具有正确的格式和扩展名(例如,.png),以及文件是否处于正确的位置。
这个错误信息“FileNotFoundError:[Errno 2] No such file or directory”表明指定路径“D:\1\1.png”下的文件不存在。这可能是因为文件名或路径中的拼写错误,或者是文件已被移动或删除。请检查文件名和路径,确保文件存在并具有正确的读取权限。