在windows下使用anaconda管理多个环境(尤其用于模型训练),已成为算法工程师的一种基本技能。平时大部分时间都在用linux+docker,我也趁着这次的环境调试好好学习了一下anaconda的环境创建和管理。整体来说,anaconda的使用还是非常人性化的,具体官网请转至 all you need know about anaconda .

如标题所示,实验的系统环境是windows 10,系统中已安装最新的CUDA v11.5。
conda环境为python 3.7,并使用以下指令进行pytorch安装:

conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

然后运行模型的训练代码,报错信息如下:

====================================================================
No CUDA runtime is found, using CUDA_HOME='your CUDA installation path\NVIDIA GPU Computing Toolkit\CUDA\v11.5’

Traceback (most recent call last):
File “train.py”, line 20, in
import src.renderutils as ru
File “xxx\src\renderutils_init_.py”, line 9, in
from .ops import xfm_points, xfm_vectors, image_loss, prepare_shading_normal, lambert, pbr_specular, pbr_bsdf, _fresnel_shlick, _ndf_ggx, _lambda_ggx, _masking_smith
File “xxx\src\renderutils\ops.py”, line 61, in
torch.utils.cpp_extension.load(name=‘renderutils_plugin’, sources=source_paths, extra_ldflags=ldflags, with_cuda=True, verbose=True)
File “xxx\anaconda\envs\dmodel\lib\site-packages\torch\utils\cpp_extension.py”, line 1136, in load
keep_intermediates=keep_intermediates)
File “xxx\anaconda\envs\dmodel\lib\site-packages\torch\utils\cpp_extension.py”, line 1347, in _jit_compile
is_standalone=is_standalone)
File “xxx\anaconda\envs\dmodel\lib\site-packages\torch\utils\cpp_extension.py”, line 1445, in _write_ninja_file_and_build_library
is_standalone=is_standalone)
File “xxx\anaconda\envs\dmodel\lib\site-packages\torch\utils\cpp_extension.py”, line 1834, in _write_ninja_file_to_build_library
cuda_flags = common_cflags + COMMON_NVCC_FLAGS + _get_cuda_arch_flags()
File “xxx\anaconda\envs\dmodel\lib\site-packages\torch\utils\cpp_extension.py”, line 1606, in _get_cuda_arch_flags
arch_list[-1] += ‘+PTX’
IndexError: list index out of range

====================================================================

报错信息很长,但最重要的在最前面。不要被最后的cpp_extension.py报错信息唬住了。
当然也能从中获取一些有用的信息,大致意思是没有找到CUDA(GPU)。
再结合第一句报错“No CUDA runtime is found, using CUDA_HOME=‘your CUDA installation path\NVIDIA GPU Computing Toolkit\CUDA\v11.5’”,大致可以推测是和GPU配置相关的问题。

刚开始推测是因为conda环境使用的是cudatoolkit=11.1导致的,后来改试11.3/11.5都不行:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -c conda-forge

结合前面的分析,很有可能是GPU CUDA环境配置出了问题。通常情况下,我们需要进一步确认GPU环境没有配置成功,有以下2种常见操作。

1. 使用pytorch is_cuda_available()函数确认

前问说过,我是使用conda install指令直接安装的pytorch,所以在CUDA配置不正确情况下,安装的pytorch有可能是cpu版本。进入python环境:

python

引入pytorch包,并进行检查:

import torch
print(torch.is_cuda_available())

如果输出是True,则说明GPU/CUDA配置正确;我的结果是输出为False,进一步确认环境配置出错。

2. 查找系统中的CUDA和cuDNN文件路径

报错信息第一句给出了CUDA的路径“using CUDA_HOME='your CUDA installation path\NVIDIA GPU Computing Toolkit\CUDA\v11.5”,可以到文件夹下去确认CUDA文件是否都在。

接下来就是重点出错环节。cuDNN需要单独安装,很多时候我们会忘记,或者是装错了版本,需要重点排查。确认是否安装cuDNN可参考博客:cuDNN确认安装

不出所料,我的windows系统里只安装了CUDA v11.5,但没有安装cuDNN。接下来需要安装对应版本的cuDNN,到NVIDIA官网选择对应版本的安装包:cudnn下载,并根据cudnn安装指南进行安装。

安装之后再根据cuDNN确认安装进行确认。

安装GPU版本的pytorch

配置好cuda环境后,重激活conda环境并再使用上述1.中的方法验证pytorch的cuda是否启用。

import torch
print(torch.is_cuda_available())

到这一步如果输出True,那么恭喜你,配置成功!

但我的环境仍然报错,继续排查。此时检查torch的版本,果然是CPU版的pytorch。原因也很自然,在系统CUDA环境没有配置成功的时候,conda进行安装时会自动选择CPU版的pytorch进行安装。这是个隐形的坑,因为安装使用的指令都一样。

此时,首先需要移除安装的pytorch。

conda uninstall pytorch

这个过程会耗时比较久。pytorch卸载之后,在网上找到目前(2022/02/22)((特意留下时间戳哈哈))pytorch并没有和CUDA v11.5完全一致的版本,兼容版本是cudatoolkit 11.3+pytorch,指令如下:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -c conda-forge

此时,再次验证pytorch下的is_cuda_available():

import torch
print(torch.is_cuda_available())

输出True!Yes!

到这里环境就配置好了,再次尝试训练,通过!预祝大家训练顺利!

今天是20220222,周二,农历二十二,多么难得的一天。
预祝大家都开开心心,身体健康,世界和平,开心生活最重要啦!
PPS 我要去磕巴拉拉能量了!

^ __________________________________________________ ^

.背景在windows下使用anaconda管理多个环境(尤其用于模型训练),已成为算法工程师的一种基本技能。平时大部分时间都在用linux+docker,我也趁着这次的环境调试好好学习了一下anaconda的环境创建和管理。整体来说,anaconda的使用还是非常人性化的,具体官网请转至 all you need know about anaconda..环境配置如标题所示,实验的系统环境是windows 10,系统中已安装最新的CUDA v11.5。conda环境为python 3.7,并使
这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记。分享给大家。 首先,安装环境是:操作系统 Win10,已经预先暗转了 Anaconda。 1. 为 PyTorch 创建虚拟环境 关于 Anaconda 的安装步骤这里就忽略不讲了,Win10 下安装 Anaconda 非常简单。 安装 Anaconda 完毕后,我们在安装 PyTorch 之前最好先创建一个 pytorch 的虚拟环境。之所以创建虚拟环境是因为 Python 为不同的项目需求创建不同的虚拟环境非常常见。在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,但是可能每个项目使用的框架库并不一样,或使用
可以看到cuda驱动等安装没有问题。 进程序去看.cuda()或者.todevice之类代码,看程序确实放在GPU上了,故排除 但是在查看代码是看到这里是一个and,参数args.no_cuda是设置的Flase,所以问题因为在torch.cuda.is_available(),没有获得cuda加速。 查看深度学习环境搭建torch.cuda.is_available()这里返回了
RuntimeError: No CUDA GPUs are available问题解决RuntimeError: No CUDA GPUs are available标题 问题阐述问题解决 RuntimeError: No CUDA GPUs are available 标题 问题阐述 在使用cuda进行模型训练的时候出现了这样一个错误: 显示说没有可用的GPU,当时我就炸了,我GeForce RTX 2080 Ti的GPU不能用? 问题解决 然后我用代码查看了一下GPU的设备数量: print(tor
ubuntu18.04+cuda10.1+pytorch1.4+Anaconda安装 最近,由于生产力工具崩塌,正在抢救中,这里对系统重装以及一些必要的链接做出汇总,以下方法已经证实可以在本机上运行。当然,此次记载也是为以后做准备。注意:如果你是双系统,千万别先删除系统数据去重新装系统,可以在win系统下载Linux_Reader把linux系统中的文件转移到win系统,保住科研资料才是万全之策,具体怎么使用上网百度即可。 Linux_Reader(密码:rosn) Anaconda ​    按照以下两条链接可以实现对anaconda的安转,过程中不需要任何其他附加内容,按照第一篇博
WARNING: The repository located at yum.tbsite.net is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS OSError: CUDA is required to compile vedadet No CUDA runtime is found, using CUDA_HOME=’/usr/local/cuda:/usr/local/cuda’ Compiling nms_ext without CUDA export FORCE_CUDA="1" 测试安装是否成功 首先,安装环境是:操作系统 Win10,已经预先安装了 Anaconda。关于 Anaconda 的安装步骤这里就忽略不讲了,Win10 下安装 Anaconda 非常简单。 为 PyTorch 创建虚拟环境 安装 Anaconda 完毕后,我们在安装 PyTorch 之前最好先创建一个 pytorch 的虚拟环境。之所以创建虚拟环境是因为 Python 为不同的项目需求创建不同的虚拟环境非常常见。在实际项目开发中,我们通
先去官网下载好anaconda 地址是 https://www.anaconda.com/distribution/#download-section  我下载的是64位python3.7版本的,因为pytorch只支持3.x版本的python,在安装过程中有一个如下界面(第二幅图)建议是两个都勾选上,这样就避免你去电脑里面自行设置环境变量了  安装好之后,使用cmd命令行 ,输入python,你可能会看到如下界面,不要着急,这是由于python解释器位于conda环境中,但是环境未激活,库可能无法加载 这时候,我们重新打开cmd,输入 conda info –envs ,等一下之后,再输
<h3>回答1:</h3><br/>anaconda是一个Python发行版,包含了许多常用的科学计算和数据分析的库。 CUDA是英伟达公司推出的一种并行计算平台和编程模型,可以利用GPU的并行计算能力加速计算。 cuDNN是CUDA深度神经网络库,提供了高效的深度学习算法实现。 PyTorch是一个基于Torch的开源机器学习库,支持动态计算图,具有灵活性和高效性。它也支持CUDA加速,可以利用GPU进行深度学习计算。 <h3>回答2:</h3><br/>Anaconda是一个Python数据科学平台,它使得Python的安装和使用更加方便。Anaconda也包含了许多科学计算的包和工具,比如NumPy,SciPy和Pandas等。使用Anaconda用户可以很方便地创建Python虚拟环境和安装依赖。 CUDA是一种由NVIDIA开发的并行计算平台和编程模型。它使得全球各地的科研人员、工程师和开发者可以运用GPU的强大算力来加速各种计算任务,如深度学习、科学计算、图形处理等。 cuDNN是CUDA的一个加速库,即CUDA Deep Neural Network library。它为深度神经网络框架提供了加速和优化功能,包括快速的卷积操作和大量的内存优化技术。cuDNN被广泛应用于许多深度学习框架,例如TensorFlow、PyTorch和Caffe等。 PyTorch是一个开源的Python深度学习框架,它是Facebook AI Research实验室主导开发的。PyTorch最大的特点是使用动态图技术,与大多数深度学习框架使用的静态图技术不同,这使得它的使用更加灵活和自由。PyTorch不仅提供了标准的深度学习构建块,如卷积神经网络和递归神经网络等,还提供了许多实用的工具来简化模型训练和部署。PyTorch在学术界和工业界都有很高的用户群体和口碑。 综上所述,AnacondaPython数据科学提供了一个全面的解决方案,CUDA和cuDNN为深度学习提供了强大的计算加速,而PyTorch则是一个灵活、高效和易于使用的深度学习框架。这些工具和平台的结合为科学计算和深度学习带来了很大的便利和突破。 <h3>回答3:</h3><br/>Anaconda是一个Python的科学计算平台。它包含了常用的Python科学计算库,如Numpy、Scipy、Matplotlib等,并提供了方便的安装、管理和更新工具。Anaconda也支持创建不同的Python环境,让用户可以灵活地选择和管理不同的库。 CUDA是英伟达开发的通用并行计算架构,它可以利用GPU的强大并行计算能力加速各种计算任务。在CUDA的支持下,用户可以使用CUDA C、CUDA C++、CUDA Fortran等语言进行GPU编程。CUDA还提供了各种库和工具,如cuDNN、cuBLAS、cuSPARSE等,可以方便地进行科学计算和深度学习等任务。 cuDNN(CUDA Deep Neural Network)是CUDA提供的深度学习库之一,它提供了一系列高度优化的算法和数据结构,可以加速深度神经网络的训练和推断过程。cuDNN支持很多流行的深度学习框架,如TensorFlow、PyTorch、Caffe等。通过使用cuDNN,用户可以充分利用GPU的计算能力加速深度学习任务。 PyTorch是一个基于Python的开源深度学习框架。它采用动态图形方式进行模型构建,支持灵活的动态计算图和自动求导机制,可以方便地进行模型的调试和优化。PyTorch还提供了一系列高效的深度学习算法和数据结构,如Convolution、Pooling、Linear、BatchNorm等,可以方便地构建各种深度神经网络。 综上所述,Anaconda提供了Python科学计算的全套解决方案,CUDA可以利用GPU的强大计算能力加速各种计算任务,cuDNN可以加速深度学习任务,而PyTorch则为深度学习提供了一种灵活高效的开发框架。这些工具的结合可以让用户更方便地进行各种科学计算和深度学习任务。
Package | 解决 Could not build wheels for opencv-python which use PEP 517 and cannot be installed 35684 Package | 解决 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 27131
Package | 解决 RuntimeError: Numpy is not available. Failed to initialize NumPy against version 0xf 芝士顶真: 谢谢博主解决了我的困扰 随笔 | 如何准备奖学金面试 programmer_ada: AI 写作助手上线啦!限免 4 天,快来创作试试功能吧~https://editor.csdn.net/md/?not_checkout=1&utmsource=blog_comment_recall CV | Structure-Preserving Super Resolution with Gradient Guidance 基于梯度保留结构的超分算法SPSR学习笔记 小温婉就是我: 请问您测试过吗,求求求回复 Package | 解决 module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘ 00AutoMan00: 我记得当时是同一个conda虚拟环境同时安装了4.5版本的opencv-python和4.7版本opencv_contrib_python两个包,不确定具体是版本不同导致的还是这两个包本来就不能兼容导致的,我卸载了opencv_contrib_python,在import cv2的时候就没有报错了 Package | 解决 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 山居秋暝LS: 非常感谢,困扰了好久的问题。