zoukankan      html  css  js  c++  java
  • windows下 为不同虚拟环境配置不同的cuda

    很多时候,当从git上拿来一个项目,有需要基于的环境,比如基于:python3.7 cuda10.0。而本地环境python=3.6 cuda=0.8。而计算机同时需要支持多个版本的训练任务。下面给出一种解法。
    先看一下效果:(base[py3.6]环境基于cuda8.0,open-mmlab[py3.7]基于cuda10.0)

    这里的系统环境变量已经将cuda设置为8.0相关的内容。

    1 环境安装
    安装cuda8.0和cuda10.0到计算机,这里不再详述。

    2 虚拟环境创建
    2.1 打开Anaconda Prompt创建第二个虚拟环境

    conda create -n open-mmlab python=3.7 -y
    2.2将Prompt窗口定位到虚拟环境主目录下(参考这里)

    执行以下命令:

    mkdir .etccondaactivate.d
    mkdir .etccondadeactivate.d

    得到下图的文件夹

    在activate.d中创建env_vars.bat,内容为:

    @set CUDA_PATH=C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0in
    @set CUDA_NVVP=C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0libnvvp
    @set CUDA_lib=C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0libx64
    @set OLD_PATH=%PATH%
    @set PATH=%CUDA_PATH%;%CUDA_NVVP%;%CUDA_lib%;%PATH%;
    就将cuda10.0对应的库添加到了临时系统环境变量中。
    在deactivate.d中创建同名文件env_vars.bat,内容为:

    @set PATH=%OLD_PATH%
    将环境变量重置为原始的内容。

    下面开始测试
    base环境下

    激活虚拟环境

    这样就能在不同虚拟环境下使用不同的cuda进行训练和测试任务。

    cuda版本切换的坑

    搭建tensorflowgpu-1.5和pytorch-gpu=1.5虚拟环境,并根据相应环境安装不同版本的CUDA和cudnn,安装完成后针对不同虚拟环境切换不同的cuda版本,网上说修改相应环境变量就可以了利用nvcc –V查询切换成功,但pytorch-gpu的cuda不可用,tensorflow-gpu显示gpu被占用,发现本质上并没有改变显卡驱动对应的cuda版本,nvidia-smi查询当前显卡状态发现cuda版本没变。

    https://blog.csdn.net/flying_ant2018/article/details/105054453

    https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#saving-environment-variables

  • 相关阅读:
    VS中的DataPager分页
    获取select标签选中的值
    JS判断包括IE11在内的IE浏览器
    几款jQuery右键菜单插件
    java day2
    java day1
    转换成(大)小写字母
    模态框扩展
    自定义动画,点赞
    反选
  • 原文地址:https://www.cnblogs.com/Manuel/p/13335003.html
Copyright © 2011-2022 走看看