DANet代码复现

本文记录了在Windows 10环境下使用PyTorch 1.4 CPU版本复现DANet(双注意力机制场景分割网络)的过程及遇到的问题。在尝试安装依赖库和运行训练脚本时出现错误,经初步排查可能与环境配置有关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DANet代码复现


说明:目前问题仍未解决。不知是环境配置的问题,还是操作的问题

DANet:dual attention network for scene segmentation
GitHub address: https://github.com/junfu1115/DANet

环境配置

DANet master分支
win10 x64;
python 3.6.12
pytorch 1.4 CPU only; torchvision 0.5.0; torch-encoding 1.2.2
scipy1.5.4……

操作

  1. 下载 pytorch 和 torchvision
  2. cd DANet 并执行命令 python setup.py install

执行上述命令后,报错UnicodeDecodeError,根据报错信息对setup.py line58修改如下:
long_description=open('README.md').read(), 改为 long_description=open('README.md', encoding='utf-8').read(),

  1. put data Cityscapes into ./datasets and put DANet101 in folder ./experiments/segmentation/models/
  2. run the file train.py in .\DANet-master\experiments\segmentation

尝试

尝试以下文章的解决方案,没有效果:
Pytorch-DANet编译历程
Win10+Pytorch1.0编译并训练语义分割网络DANet(双注意力机制)

原因:DANet项目的作者多次修改项目;博客安装的python及其扩展库的版本不同


报错信息

	Error message will be reported after the code is running (running.)\ train.py ):
	
	D:\DevelopmentTool\Anaconda3\envs\py36\python.exe E:/DANet-master/experiments/segmentation/train.py
	��Ϣ: ���ṩ��ģʽ�޷��ҵ��ļ���
	D:\DevelopmentTool\Anaconda3\envs\py36\lib\site-packages\torch\utils\cpp_extension.py:209: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte
	  warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))
	Traceback (most recent call last):
	  File "D:\DevelopmentTool\Anaconda3\envs\py36\lib\site-packages\torch\utils\cpp_extension.py", line 1066, in _build_extension_module
	    check=True)
	  File "D:\DevelopmentTool\Anaconda3\envs\py36\lib\subprocess.py", line 438, in run
	    output=stdout, stderr=stderr)
	subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
	
	During handling of the above exception, another exception occurred:
	
	Traceback (most recent call last):
	  File "E:/DANet-master/experiments/segmentation/train.py", line 18, in <module>
	    import encoding.utils as utils
	  File "E:\DANet-master\encoding\__init__.py", line 13, in <module>
	    from . import nn, functions, parallel, utils, models, datasets, transforms
	  File "E:\DANet-master\encoding\nn\__init__.py", line 12, in <module>
	    from .encoding import *
	  File "E:\DANet-master\encoding\nn\encoding.py", line 18, in <module>
	    from ..functions import scaled_l2, aggregate, pairwise_cosine
	  File "E:\DANet-master\encoding\functions\__init__.py", line 2, in <module>
	    from .encoding import *
	  File "E:\DANet-master\encoding\functions\encoding.py", line 14, in <module>
	    from .. import lib
	  File "E:\DANet-master\encoding\lib\__init__.py", line 16, in <module>
	    ], build_directory=cpu_path, verbose=False)
	  File "D:\DevelopmentTool\Anaconda3\envs\py36\lib\site-packages\torch\utils\cpp_extension.py", line 680, in load
	    is_python_module)
	  File "D:\DevelopmentTool\Anaconda3\envs\py36\lib\site-packages\torch\utils\cpp_extension.py", line 866, in _jit_compile
	    with_cuda=with_cuda)
	  File "D:\DevelopmentTool\Anaconda3\envs\py36\lib\site-packages\torch\utils\cpp_extension.py", line 919, in _write_ninja_file_and_build
	    _build_extension_module(name, build_directory, verbose)
	  File "D:\DevelopmentTool\Anaconda3\envs\py36\lib\site-packages\torch\utils\cpp_extension.py", line 1078, in _build_extension_module
	    message += ": {}".format(error.output.decode())
	UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 1148: invalid continuation byte
	
	Process finished with exit code 1


若有读者成功复现此项目代码,烦请提供一些建议,谢谢

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值