问题报错:
Traceback (most recent call last):
File "train_stage1.py", line 9, in <module>
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/site-packages/torch/__init__.py", line 613, in <module>
_C._initExtension(manager_path())
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/site-packages/torch/cuda/__init__.py", line 167, in <module>
_lazy_call(_check_capability)
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/site-packages/torch/cuda/__init__.py", line 165, in _lazy_call
_queued_calls.append((callable, traceback.format_stack()))
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 197, in format_stack
return format_list(extract_stack(f, limit=limit))
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 211, in extract_stack
stack = StackSummary.extract(walk_stack(f), limit=limit)
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 363, in extract
f.line
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 285, in line
self._line = linecache.getline(self.filename, self.lineno).strip()
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/linecache.py", line 16, in getline
lines = getlines(filename, module_globals)
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/linecache.py", line 47, in getlines
return updatecache(filename, module_globals)
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/linecache.py", line 137, in updatecache
lines = fp.readlines()
File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa3 in position 1014: invalid start byte
解决办法1:
尝试将编码方式改为“gbk”或者“gb2312”以及“gb18030”之后,输出就正常了,这说明原来的中文字符是采用gbk/gb2312/gb18030编码的。
解决办法2:
可能是代码中存在中文字,或者其他乱码,将其删除即可。
参考:Python3错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd5 解决方法