笔记2-Windows10深度学习环境(C++有关)


参考:
[1]【Win】彻底解决subprocess.CalledProcessError
[2] VS2017安装教程(详细版)
[3] MSVC设置版本
[4] WIN10更新后VS2017 c++命令行编译环境设置
[5] windows下cs231n的assignment2中CNN的fast layers编译出错
[6] Python 3.8.x 解决 unable to find vcvarsall.bat 问题
[7] Stuck in the process of compiling C++ extensions 卡住解决方法 time.sleep(self.wait_seconds)
[8] pytorch: knn cuda编译
[9] 解决忽略无效分布的警告WARNING: Ignoring invalid distribution
[10] torch.cat报错可能是数据没有正确读入

接笔记1的报错subprocess.CalledProcessError: Command ‘[‘where’, ‘cl’]’ returned non-zero exit status 1.

在这里插入图片描述
错误与cl有关,首先参考[1]【Win】彻底解决subprocess.CalledProcessError 继续进行。
下载存
在这里插入图片描述
启动,
在这里插入图片描述
在这里插入图片描述
等待(<10分钟)
安装完成后继续安装下一个,
在这里插入图片描述

等待时间(15:26-15:31)
在这里插入图片描述
果然有两个目录
在这里插入图片描述
但是目录内容和参考链接不同:在这里插入图片描述在这里插入图片描述
希望不会有问题。

按照[2]安装VS2017(后面一部分是失败记录,可以直接跳到“再次安装VS2017”)

在这里插入图片描述
以管理员身份运行
参考链接指出不能安装C盘,所以准备安装到D盘,但是这个机器没有D盘,在这个间隙,画面变了,
在这里插入图片描述搜索到
在这里插入图片描述
应该是前面领用机器的同学已经安装过2019版本了,直接跳过。

按照[2]准备三组路径

E:\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64

E:\VisualStudio\VC\Tools\MSVC\14.29.30133\lib\x64
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x86

E:\VisualStudio\VC\Tools\MSVC\14.29.30133\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt

设置环境变量之系统变量

在这里插入图片描述
第一组添加到Path变量
在这里插入图片描述
新建系统变量 LIB,第二组添加到LIB变量
在这里插入图片描述
新建系统变量INCLUDE,第三组添加到INCLUDE变量
在这里插入图片描述
点击确定保存。
重启电脑,好奇尝试下仍不可以,果然还需要批处理程序。
E:\VisualStudio\VC\Auxiliary\Build下双击 vcvarall.bat

发现窗口一闪而过,之后还是不行

下载
在这里插入图片描述
管理员授权,编辑加一行pause不成功。
在这里插入图片描述
改为添加cmd,解决了一闪而过的问题
在这里插入图片描述
但是仍然报错,
把评论区的意见尝试了一下,
在这里插入图片描述
也没有作用,还是报错。
在这里插入图片描述
call “E:\VisualStudio\VC\Auxiliary\Build\vcvarsall.bat” amd64 10.0.14393.0 -vcvars_ver=14.29
在这里插入图片描述
vcvarsall.bat仍然不行,根据CAI

猜测需要删系统变量,删掉C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\,还是有报错
在这里插入图片描述

但是运行时候仍然报错

E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py:305: UserWarning: Error checking compiler version for cl: ‘utf-8’ codec can’t decode byte 0xd3 in position 0: invalid continuation byte
warnings.warn(f’Error checking compiler version for {compiler}: {error}')
Traceback (most recent call last):
File “E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\setuptools\msvc.py”, line 275, in _msvc14_get_vc_env
out = subprocess.check_output(
File “E:\anaconda\envs\zgp_m3dm_main\lib\subprocess.py”, line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File “E:\anaconda\envs\zgp_m3dm_main\lib\subprocess.py”, line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command ‘cmd /u /c “E:\VisualStudio\VC\Auxiliary\Build\vcvarsall.bat” x86_amd64 && set’ returned non-zero exit status 255.
在这里插入图片描述
阅读[5]发现conda list果然没有libpython,安装,尽管他可能换掉cudatookit,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不成功
在这里插入图片描述
conda install -c msys2 m2w64-toolchain
在这里插入图片描述
不成功
conda deactivate返回base再试一遍
在这里插入图片描述

在这里插入图片描述

再删windows 8.1还是
在这里插入图片描述
base中安装
conda install -c msys2 m2w64-toolchain

                                                                                                                                                                                                                                   
CondaSSLError: OpenSSL appears to be unavailable on this machine. OpenSSL is required to                                                                                                                                           
download and install packages.                                                                                                                                                                                                     
                                                                                                                                                                                                                                   
Exception: HTTPSConnectionPool(host='conda.anaconda.org', port=443): Max retries exceeded with url: /msys2/win-64/current_repodata.json (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))

去掉Path变量中的空格
C:\Program Files (x86)\WindowsKits\10\Windows Performance Toolkit
在这里插入图片描述
将第二三组的环境变量…\ucrt加上\x86,重启命令行无用,重启计算机。还是不行,直接删掉试试
在这里插入图片描述
在这里插入图片描述
再把文件夹的名字改回带空格的,
在这里插入图片描述
将Path变量中也改回带空格的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

base conda install -c msys2 m2w64-toolchain

在这里插入图片描述在这里插入图片描述
一如既往的报错。

再次安装VS2017

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待(11:21-11:34)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f2c913db9c974aa1832c020846df25ff.png在这里插入图片描述

运行代码错误相同。
再修改环境变量,将原Path,LIB, NCLUDE中删掉,增加新的,重启就没有立即报错了。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
但是运行非常非常慢

强行停止之后再运行,两小时后仍然无反应
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build
手动双击在这里插入图片描述

在这里插入图片描述
一闪而过,应该是成功,
发现是锁住在这里了:
\lib\site-packages\torch\utils\file_baton.py", line 42, in wait time.sleep(self.wait_seconds)
KeyboardInterrupt
在这里插入图片描述

怀疑是不是因为我Visual Studio装到了C盘的原因,管理员模式运行, 还是一样。
参考[7],为了找到文件,在锁住的地方print一下,
在这里插入图片描述
将找到的路径下的lock删掉
在这里插入图片描述
再次运行,只多显示了一行,还是卡住,

  warnings.warn(f'Error checking compiler version for {compiler}: {error}'),
  在停止就又有了knn/lock,估计是每次不正常结束都会产生lock.
 过程中删掉lock,报错
   File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 3, in <module>
    from m3dm_runner import M3DM
  File "G:\RGB_PC\M3DM-main\M3DM-main\m3dm_runner.py", line 5, in <module>
    from feature_extractors import multiple_features
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\multiple_features.py", line 2, in <module>
    from feature_extractors.features import Features
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\features.py", line 18, in <module>
    from knn_cuda import KNN
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\knn_cuda\__init__.py", line 38, in <module>
    _knn = load_cpp_ext("knn")
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\knn_cuda\__init__.py", line 26, in load_cpp_ext
    ext = load(
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 1080, in load
    return _jit_compile(
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 1318, in _jit_compile
    return _import_module_from_library(name, build_directory, is_python_module)
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 1701, in _import_module_from_library
    module = importlib.util.module_from_spec(spec)
ImportError: DLL load failed while importing knn: 找不到指定的模块。

进程已结束,退出代码1
在这里插入图片描述
注释features.py的#from knn_cuda import KNN
还是卡在torch\utils\cpp_extension.py:305: UserWarning: Error checking compiler version for cl: ‘utf-8’ codec can’t decode byte 0xd3 in position 0: invalid continuation byte
warnings.warn(f’Error checking compiler version for {compiler}: {error}')
在这里插入图片描述
在wait前加入print,无反应。
在这里插入图片描述

UserWarning: Error checking compiler version for cl: name ‘gbk’ is not defined
warnings.warn(f’Error checking compiler version for {compiler}: {error}')
加引号
在这里插入图片描述
没有warn了,但也无报错,死锁。

  File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 3, in <module>
    from m3dm_runner import M3DM
  File "G:\RGB_PC\M3DM-main\M3DM-main\m3dm_runner.py", line 5, in <module>
    from feature_extractors import multiple_features
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\multiple_features.py", line 3, in <module>
    from .features import Features
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\features.py", line 30, in <module>
    from models.models import Model
  File "G:\RGB_PC\M3DM-main\M3DM-main\models\models.py", line 9, in <module>
    from knn_cuda import KNN
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\knn_cuda\__init__.py", line 4, in <module>
    from torch.utils.cpp_extension import load
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 163, in <module>
    CUDA_HOME = _find_cuda_home()
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 78, in _find_cuda_home
    if cuda_home and not torch.cuda.is_available():
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\cuda\__init__.py", line 52, in is_available
    return torch._C._cuda_getDeviceCount() > 0
KeyboardInterrupt

进程已结束,退出代码-1073741510 (0xC000013A: interrupted by Ctrl+C)

删掉
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

取消
删不掉在这里插入图片描述
将近期相关lock全删了,在这里插入图片描述

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3卡住
在这里插入图片描述

Traceback (most recent call last):
  File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 3, in <module>
    from m3dm_runner import M3DM
  File "G:\RGB_PC\M3DM-main\M3DM-main\m3dm_runner.py", line 5, in <module>
    from feature_extractors import multiple_features
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\multiple_features.py", line 3, in <module>
    from .features import Features
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\features.py", line 30, in <module>
    from models.models import Model
  File "G:\RGB_PC\M3DM-main\M3DM-main\models\models.py", line 8, in <module>
    from knn_cuda import KNN
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\knn_cuda\__init__.py", line 38, in <module>
    _knn = load_cpp_ext("knn")
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\knn_cuda\__init__.py", line 26, in load_cpp_ext
    ext = load(
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 1081, in load
    return _jit_compile(
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 1320, in _jit_compile
    return _import_module_from_library(name, build_directory, is_python_module)
  File "E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\torch\utils\cpp_extension.py", line 1703, in _import_module_from_library
    module = importlib.util.module_from_spec(spec)
ImportError: DLL load failed while importing knn: 找不到指定的模块。

进程已结束,退出代码1
在这里插入图片描述

ImportError: DLL load failed while importing knn: 找不到指定的模块。
python-BaseException
Backend TkAgg is interactive backend. Turning interactive mode on.

卸载重新pip install G:\RGB_PC\KNN_CUDA-0.2-py3-none-any.whl,仍然死锁,放弃。
不是与装到C盘了有关吧,卸载重装VS2017到E盘
在控制面版中卸载VS2017。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b274a597731246f4af84c677a29c1ec5.png
在这里插入图片描述
卸载后只剩下VS2019,再运行2017的安装程序,(将安装位置从C改为E,相关环境变量同样修改)
在这里插入图片描述
同样勾选C++桌面和python开发,之后务必改安装位置。
在这里插入图片描述
等待十来分钟。
修改相关系统变量,Path,LIB, INCLUDE。
在这里插入图片描述
仍然是老样子锁住。
找到lock删掉则
在这里插入图片描述
手动复制 python3.dll 到虚拟环境的 Scripts 目录参考[Python] ImportError: DLL load failed … 找不到指定的模块 此类问题解决方法
在这里插入图片描述
不输出卡在knn了,但是仍然锁住的样子。
在这里插入图片描述
发现还是有lock在knn中,在这里插入图片描述
想要再次删掉发现,
在这里插入图片描述
看来还是卡在了这里,lock文件被占用了。
在调试的考试阶段删掉lock,
在这里插入图片描述
似乎缺少文件’E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\knn_cuda\csrc\_ext\knn\knn.pyd’

knn_cuda需要按windows的方法装,参考[8]knn_cuda的windows的方法,

首先pip uninstall knn_cuda
测试一下前一位领用机器的同学有没有装过,执行
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))

在这里插入图片描述发现虽然没有,但是又自动给装了。再执行一遍,可见到已经安装了。

输入命令choco install make

不用管理员模式会报错,
在这里插入图片描述
用管理员模式打开,
PS C:\Windows\system32> choco install make
成功,可见:

Chocolatey v2.2.2
Installing the following packages:
make
By installing, you accept licenses for the packages.

make v4.4.1 [Approved]
make package files install completed. Performing other installation steps.
 ShimGen has successfully created a shim for make.exe
 The install of make was successful.
  Software installed to 'C:\ProgramData\chocolatey\lib\make'

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Enjoy using Chocolatey? Explore more amazing features to take your
experience to the next level at
 https://chocolatey.org/compare

在自己的虚拟环境下安装,
conda activate zgp_M3DM_main
不成功,提示:

If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.

To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - cmd.exe
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

conda init powershell

no change     E:\anaconda\Scripts\conda-env.exe
no change     E:\anaconda\Scripts\conda-script.py
no change     E:\anaconda\Scripts\conda-env-script.py
no change     E:\anaconda\condabin\conda.bat
no change     E:\anaconda\Library\bin\conda.bat
no change     E:\anaconda\condabin\_conda_activate.bat
no change     E:\anaconda\condabin\rename_tmp.bat
no change     E:\anaconda\condabin\conda_auto_activate.bat
no change     E:\anaconda\condabin\conda_hook.bat
no change     E:\anaconda\Scripts\activate.bat
no change     E:\anaconda\condabin\activate.bat
no change     E:\anaconda\condabin\deactivate.bat
modified      E:\anaconda\Scripts\activate
modified      E:\anaconda\Scripts\deactivate
modified      E:\anaconda\etc\profile.d\conda.sh
modified      E:\anaconda\etc\fish\conf.d\conda.fish
no change     E:\anaconda\shell\condabin\Conda.psm1
modified      E:\anaconda\shell\condabin\conda-hook.ps1
no change     E:\anaconda\Lib\site-packages\xontrib\conda.xsh
modified      E:\anaconda\etc\profile.d\conda.csh
no change     C:\Users\Richardo.M.Song\Documents\WindowsPowerShell\profile.ps1

==> For changes to take effect, close and re-open your current shell. <==

重启再次conda activate zgp_M3DM_main,还是不行

If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.

To initialize your shell, run

   $ conda init <SHELL_NAME>

Currently supported shells are:
 - bash
 - cmd.exe
 - fish
 - tcsh
 - xonsh
 - zsh
 - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

使用Cmd
在这里插入图片描述

把makefile文件中的usr/bin修改为 ./anaconda/envs/zgp_m3dm_main/bin
G:\KNN_CUDA-master>make
系统找不到指定的路径。
sudo cp ./ninja ./anaconda/envs/zgp_m3dm_main/bin
process_begin: CreateProcess(NULL, sudo cp ./ninja ./anaconda/envs/zgp_m3dm_main/bin, …) failed.
make (e=2): 系统找不到指定的文件。
make: *** [makefile:10: reqs] Error 2

G:\KNN_CUDA-master>sudo cp ninja ./anaconda/envs/zgp_m3dm_main/bin
‘sudo’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

要git clone windows分支

在这里插入图片描述

使用管理员身份运行Cmd(以下为失败记录,可以跳至“再次使用管理员身份运行Cmd”)

(zgp_M3DM_main) C:\Windows\system32>cd C:\Users\Richardo.M.Song\KNN_CUDA
(zgp_M3DM_main) C:\Users\Richardo.M.Song\`KNN_CUDA>make`
copy %cd%\ninja C:\Windows\System32\bin
已复制         1 个文件。
pip3 install -r requirements.txt
WARNING: Ignoring invalid distribution -orch (e:\anaconda\envs\zgp_m3dm_main\lib\site-packages)
Requirement already satisfied: numpy in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from -r requirements.txt (line 1)) (1.24.4)
Requirement already satisfied: scikit_learn in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from -r requirements.txt (line 2)) (1.3.2)
Requirement already satisfied: torch>=1.1.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from -r requirements.txt (line 3)) (1.9.0+cu111)
Requirement already satisfied: scipy>=1.5.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (1.10.1)
Requirement already satisfied: joblib>=1.1.1 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (3.2.0)
Requirement already satisfied: typing-extensions in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from torch>=1.1.0->-r requirements.txt (line 3)) (4.9.0)
WARNING: Ignoring invalid distribution -orch (e:\anaconda\envs\zgp_m3dm_main\lib\site-packages)
python setup.py bdist_wheel
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3

还是奇怪的在输出C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3后卡住。
不是与同时装了VS2017和VS2019有关吧,卸载VS2019,没有作用。
在这里插入图片描述
发现虽然已经pip uninstall knn_cuda卸载,也没有成功安装,但存在E:\anaconda\envs\zgp_m3dm_main\Lib\site-packages\knn_cuda,删掉,
在这里插入图片描述
再次在cmd中(zgp_M3DM_main) C:\Users\Richardo.M.Song`KNN_CUDA>make`还是卡住。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a47f6ce5201a44dc8d5b819670e34621.png
过了一会,在下一行输入make install。

(zgp_M3DM_main) C:\Users\Richardo.M.Song\KNN_CUDA>make install
pip3 install --upgrade --find-links=dist KNN_CUDA
WARNING: Ignoring invalid distribution -orch (e:\anaconda\envs\zgp_m3dm_main\lib\site-packages)
Looking in links: dist
WARNING: Location 'dist' is ignored: it is either a non-existing path or lacks a specific scheme.
ERROR: Could not find a version that satisfies the requirement KNN_CUDA (from versions: none)
ERROR: No matching distribution found for KNN_CUDA
make: *** [makefile:15: install] Error 1

##参考[9]删掉E:\anaconda\envs\zgp_m3dm_main\Lib\site-packages~orch和E:\anaconda\envs\zgp_m3dm_main\Lib\site-packages~orch-1.9.0+cu111.dist-info

pip3 install --upgrade --find-links=dist KNN_CUDA
Looking in links: dist
WARNING: Location 'dist' is ignored: it is either a non-existing path or lacks a specific scheme.
ERROR: Could not find a version that satisfies the requirement KNN_CUDA (from versions: none)
ERROR: No matching distribution found for KNN_CUDA
make: *** [makefile:15: install] Error 1

在管理员模式下有反应,但是有记得切换虚拟环境。

copy %cd%\ninja C:\Windows\System32\bin
已复制         1 个文件。
pip3 install -r requirements.txt
Requirement already satisfied: numpy in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from -r requirements.txt (line 1)) (1.19.5)
Requirement already satisfied: scikit_learn in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from -r requirements.txt (line 2)) (0.24.2)
Collecting torch>=1.1.0 (from -r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/c4/49/9da10fef2c2ba8ff91eeab70a123ca60d082b1012b3aff7825c9b1115852/torch-1.10.2-cp36-cp36m-win_amd64.whl
Requirement already satisfied: joblib>=0.11 in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (1.1.0)
Requirement already satisfied: scipy>=0.19.1 in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (1.5.4)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (3.0.0)
Requirement already satisfied: typing-extensions in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from torch>=1.1.0->-r requirements.txt (line 3)) (4.0.1)
Requirement already satisfied: dataclasses; python_version < "3.7" in c:\users\richardo.m.song\appdata\local\programs\python\python36\lib\site-packages (from torch>=1.1.0->-r requirements.txt (line 3)) (0.8)
Installing collected packages: torch

再次使用管理员身份运行Cmd

自己的虚拟环境下-切换到KNN路径
make

(zgp_M3DM_main) C:\Users\Richardo.M.Song\KNN_CUDA>make
copy %cd%\ninja C:\Windows\System32\bin
已复制         1 个文件。
pip3 install -r requirements.txt
Requirement already satisfied: numpy in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from -r requirements.txt (line 1)) (1.24.4)
Requirement already satisfied: scikit_learn in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from -r requirements.txt (line 2)) (1.3.2)
Requirement already satisfied: torch>=1.1.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from -r requirements.txt (line 3)) (1.9.0+cu111)
Requirement already satisfied: scipy>=1.5.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (1.10.1)
Requirement already satisfied: joblib>=1.1.1 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit_learn->-r requirements.txt (line 2)) (3.2.0)
Requirement already satisfied: typing-extensions in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from torch>=1.1.0->-r requirements.txt (line 3)) (4.9.0)
python setup.py bdist_wheel
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3
running bdist_wheel
running build
running build_py
creating build
creating build\lib
creating build\lib\knn_cuda
copying knn_cuda\__init__.py -> build\lib\knn_cuda
creating build\lib\knn_cuda\csrc
creating build\lib\knn_cuda\csrc\cuda
copying knn_cuda\csrc\cuda\knn.cu -> build\lib\knn_cuda\csrc\cuda
copying knn_cuda\csrc\cuda\knn.cpp -> build\lib\knn_cuda\csrc\cuda
E:\anaconda\envs\zgp_M3DM_main\lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
installing to build\bdist.win-amd64\wheel
running install
running install_lib
creating build\bdist.win-amd64
creating build\bdist.win-amd64\wheel
creating build\bdist.win-amd64\wheel\knn_cuda
creating build\bdist.win-amd64\wheel\knn_cuda\csrc
creating build\bdist.win-amd64\wheel\knn_cuda\csrc\cuda
copying build\lib\knn_cuda\csrc\cuda\knn.cpp -> build\bdist.win-amd64\wheel\.\knn_cuda\csrc\cuda
copying build\lib\knn_cuda\csrc\cuda\knn.cu -> build\bdist.win-amd64\wheel\.\knn_cuda\csrc\cuda
copying build\lib\knn_cuda\__init__.py -> build\bdist.win-amd64\wheel\.\knn_cuda
running install_egg_info
running egg_info
creating KNN_CUDA.egg-info
writing KNN_CUDA.egg-info\PKG-INFO
writing dependency_links to KNN_CUDA.egg-info\dependency_links.txt
writing requirements to KNN_CUDA.egg-info\requires.txt
writing top-level names to KNN_CUDA.egg-info\top_level.txt
writing manifest file 'KNN_CUDA.egg-info\SOURCES.txt'
reading manifest file 'KNN_CUDA.egg-info\SOURCES.txt'
writing manifest file 'KNN_CUDA.egg-info\SOURCES.txt'
Copying KNN_CUDA.egg-info to build\bdist.win-amd64\wheel\.\KNN_CUDA-0.2-py3.8.egg-info
running install_scripts
creating build\bdist.win-amd64\wheel\KNN_CUDA-0.2.dist-info\WHEEL
creating 'dist\KNN_CUDA-0.2-py3-none-any.whl' and adding 'build\bdist.win-amd64\wheel' to it
adding 'knn_cuda/__init__.py'
adding 'knn_cuda/csrc/cuda/knn.cpp'
adding 'knn_cuda/csrc/cuda/knn.cu'
adding 'KNN_CUDA-0.2.dist-info/METADATA'
adding 'KNN_CUDA-0.2.dist-info/WHEEL'
adding 'KNN_CUDA-0.2.dist-info/top_level.txt'
adding 'KNN_CUDA-0.2.dist-info/RECORD'
removing build\bdist.win-amd64\wheel

继续make install

(zgp_M3DM_main) C:\Users\Richardo.M.Song\KNN_CUDA>make install
pip3 install --upgrade --find-links=dist KNN_CUDA
Looking in links: dist
Processing c:\users\richardo.m.song\knn_cuda\dist\knn_cuda-0.2-py3-none-any.whl
Requirement already satisfied: numpy in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from KNN_CUDA) (1.24.4)
Requirement already satisfied: scikit-learn in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from KNN_CUDA) (1.3.2)
Requirement already satisfied: torch>=1.1.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from KNN_CUDA) (1.9.0+cu111)
Requirement already satisfied: typing-extensions in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from torch>=1.1.0->KNN_CUDA) (4.9.0)
Requirement already satisfied: scipy>=1.5.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit-learn->KNN_CUDA) (1.10.1)
Requirement already satisfied: joblib>=1.1.1 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit-learn->KNN_CUDA) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in e:\anaconda\envs\zgp_m3dm_main\lib\site-packages (from scikit-learn->KNN_CUDA) (3.2.0)
Installing collected packages: KNN_CUDA
Successfully installed KNN_CUDA-0.2

应该是成功了。
而且conda list也可见。
在这里插入图片描述
再次运行发现果然不再在import处报错了。

运行

路径问题,

在这里插入图片描述
编辑-在文件中查找,修改为当前模型所在的路径。

报错 torch.cat(self.patch_xyz_lib, 0)处报错NotImplementedError: There were no tensor arguments to this function (e.g., you passed an empty list of Tensors),…

start main
hans parser
E:\anaconda\envs\zgp_m3dm_main\lib\site-packages\timm\models\_factory.py:117: UserWarning: Mapping deprecated model name vit_base_patch8_224_dino to current vit_base_patch8_224.dino.
  model = create_fn(
Extracting train features for class bagel: 0it [00:00, ?it/s]has importargparse
has m3os 
has mtorch 
has featurestorch
has featuresnp
has featuresmatplotlib 
has featuresau_pro_util
has featurespointnet2_utils
has featuresfeature_fusion
has modtimm
has modpointnet2_utilstimm
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3
has modKNN
has featuresModel 
has mfeature_extractors.features
has m3feature_extractors
has imporM3DM
has import
Extracting train features for class bagel: 0it [00:05, ?it/s]


Running coreset for DINO+Point_MAE+Fusion on class bagel...
Traceback (most recent call last):
  File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 127, in <module>
    run_3d_ads(args)
  File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 20, in run_3d_ads
    model.fit(cls)
  File "G:\RGB_PC\M3DM-main\M3DM-main\m3dm_runner.py", line 56, in fit
    method.run_coreset()
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\multiple_features.py", line 841, in run_coreset
    self.patch_xyz_lib = torch.cat(self.patch_xyz_lib, 0)
NotImplementedError: There were no tensor arguments to this function (e.g., you passed an empty list of Tensors), but no fallback function is registered for schema aten::_cat.  This usually means that this function requires a non-empty list of Tensors, or that you (the operator writer) forgot to register a fallback function.  Available functions are [CPU, CUDA, QuantizedCPU, BackendSelect, Named, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, UNKNOWN_TENSOR_TYPE_ID, AutogradMLC, AutogradHPU, AutogradNestedTensor, AutogradPrivateUse1, AutogradPrivateUse2, AutogradPrivateUse3, Tracer, Autocast, Batched, VmapMode].

CPU: registered at aten\src\ATen\RegisterCPU.cpp:16286 [kernel]
CUDA: registered at aten\src\ATen\RegisterCUDA.cpp:20674 [kernel]
QuantizedCPU: registered at aten\src\ATen\RegisterQuantizedCPU.cpp:1025 [kernel]
BackendSelect: fallthrough registered at ..\aten\src\ATen\core\BackendSelectFallbackKernel.cpp:3 [backend fallback]
Named: registered at ..\aten\src\ATen\core\NamedRegistrations.cpp:7 [backend fallback]
ADInplaceOrView: fallthrough registered at ..\aten\src\ATen\core\VariableFallbackKernel.cpp:60 [backend fallback]
AutogradOther: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradCPU: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradCUDA: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradXLA: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
UNKNOWN_TENSOR_TYPE_ID: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradMLC: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradHPU: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradNestedTensor: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradPrivateUse1: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradPrivateUse2: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradPrivateUse3: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
Tracer: registered at ..\torch\csrc\autograd\generated\TraceType_2.cpp:9621 [kernel]
Autocast: registered at ..\aten\src\ATen\autocast_mode.cpp:259 [kernel]
Batched: registered at ..\aten\src\ATen\BatchingRegistrations.cpp:1019 [backend fallback]
VmapMode: fallthrough registered at ..\aten\src\ATen\VmapModeRegistrations.cpp:33 [backend fallback]

将过去在ubuntu系统上提取的特征清空。
在这里插入图片描述
仍然是相同的报错


Running coreset for DINO+Point_MAE+Fusion on class bagel...
Traceback (most recent call last):
  File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 127, in <module>
    run_3d_ads(args)
  File "G:/RGB_PC/M3DM-main/M3DM-main/main.py", line 20, in run_3d_ads
    model.fit(cls)
  File "G:\RGB_PC\M3DM-main\M3DM-main\m3dm_runner.py", line 56, in fit
    method.run_coreset()
  File "G:\RGB_PC\M3DM-main\M3DM-main\feature_extractors\multiple_features.py", line 841, in run_coreset
    self.patch_xyz_lib = torch.cat(self.patch_xyz_lib, 0)
NotImplementedError: There were no tensor arguments to this function (e.g., you passed an empty list of Tensors), but no fallback function is registered for schema aten::_cat.  This usually means that this function requires a non-empty list of Tensors, or that you (the operator writer) forgot to register a fallback function.  Available functions are [CPU, CUDA, QuantizedCPU, BackendSelect, Named, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, UNKNOWN_TENSOR_TYPE_ID, AutogradMLC, AutogradHPU, AutogradNestedTensor, AutogradPrivateUse1, AutogradPrivateUse2, AutogradPrivateUse3, Tracer, Autocast, Batched, VmapMode].

CPU: registered at aten\src\ATen\RegisterCPU.cpp:16286 [kernel]
CUDA: registered at aten\src\ATen\RegisterCUDA.cpp:20674 [kernel]
QuantizedCPU: registered at aten\src\ATen\RegisterQuantizedCPU.cpp:1025 [kernel]
BackendSelect: fallthrough registered at ..\aten\src\ATen\core\BackendSelectFallbackKernel.cpp:3 [backend fallback]
Named: registered at ..\aten\src\ATen\core\NamedRegistrations.cpp:7 [backend fallback]
ADInplaceOrView: fallthrough registered at ..\aten\src\ATen\core\VariableFallbackKernel.cpp:60 [backend fallback]
AutogradOther: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradCPU: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradCUDA: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradXLA: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
UNKNOWN_TENSOR_TYPE_ID: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradMLC: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradHPU: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradNestedTensor: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradPrivateUse1: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradPrivateUse2: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
AutogradPrivateUse3: registered at ..\torch\csrc\autograd\generated\VariableType_2.cpp:9928 [autograd kernel]
Tracer: registered at ..\torch\csrc\autograd\generated\TraceType_2.cpp:9621 [kernel]
Autocast: registered at ..\aten\src\ATen\autocast_mode.cpp:259 [kernel]
Batched: registered at ..\aten\src\ATen\BatchingRegistrations.cpp:1019 [backend fallback]
VmapMode: fallthrough registered at ..\aten\src\ATen\VmapModeRegistrations.cpp:33 [backend fallback]


进程已结束,退出代码1

参考[10]改正路径

在这里插入图片描述
再次运行就可以了。
在这里插入图片描述
nvidia-smi查看
在这里插入图片描述
代码已经在GPU上运行,环境已彻底配置成功了。

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值