Win10 slowfast安装记录
- ###重要!!!想要按照这个配置环境的同学请先看此文最后一行!!!###
slow fast教程运行后报错
AttributeError: module 'torch.distributed' has no attribute 'is_initialized'
可能是pytorch版本问题,需要升级到1.7。
注意不要用官网的方法,用这个方法在虚拟环境下升级link
进入虚拟环境,用pip卸载pytorch和torchvision
pip uninstall torch
pip uninstall torchvision
cuda版本改成对应版本,我的是10.2
conda install pytorch==1.7.0 torchvision==0.8.0 cudatoolkit=10.2 -c pytorch
如果conda换过源去掉-c
conda install pytorch==1.7.0 torchvision==0.8.0 cudatoolkit=10.2 pytorch
- 换过源的可能会报如下的错
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
只需反复执行安装指令,系统就会从中断处继续下载安装包。
- 安装下载到100%后可能会报。
InvalidArchiveError('Error with archive your-path\\pkgs\\pytorch-1.7.0-py3.8_cuda102_cudnn7_0.tar.bz2. You probably need to delete and re-download or re-create this file. Message from libarchive was:\n\nCould not unlink')
此时再执行一次安装指令直到命令行刷新显示结果done。
然后按照这篇博客修改DETECTRON2部分对应文件内容。
修改处1)注释掉your-path\Lib\site-packages\torch\include\torch\csrc\jit\runtime\argument_spec.h的159行,并添加
namespace {
//static constexpr size_t ARG_SPEC_DEPTH_LIMIT = 128; (line159)
static const size_t ARG_SPEC_DEPTH_LIMIT = 128;
}
修改处2)注释掉your-env-path\Lib\site-packages\torch\include\pybind11\cast.h的1449行并添加
//explicit operator type&() { return *(this->value); }
explicit operator type&() { return ((type)this->value); }
修改处3)将detectron2\detectron2\layers\csrc\deformable 文件夹下三个文件中全部的AT_CHECK全部替换为TORCH_CHECK
重新调试detectron2
重新设置vc2019配置
SET MSSdk=1
SET DISTUTILS_USE_SDK=1
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.27
成功后显示
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.7.6
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
进入detectron2目录,输入指令
#detectron2安装指令
报extention相关的错
通过github的issue查找是因为1.7版本pytorch不支持windows上的detectron2.
换1.5版本可以支持detectron2但是不支持slowfast.
还是会报一开始的AttributeError: module 'torch.distributed' has no attribute 'is_initialized'
如果你也遇到和我一样的问题,别浪费时间了,尽早换linux系统吧。
至此放弃win10+torch1.7环境下的slowfast,转为ubuntu20,过程见我另一篇文章。