• 在Windows中安装相应版本的TensorFlow
  • 打开https://www.tensorflow.org/install/source_windows找到如果安装TensorFlow-GPU(1.15.0以前GPU和CPU是分开的),查表找到其他组件的对于版本
  • CUDA历史版本CUDA Toolkit Archive | NVIDIA Developer
  • CUDA于显卡驱动版本无关,只要显卡驱动装到最新版本即可
  • 对于CMD中“nvidia-smi”的结果中的CUDA
  • 这里CUDA 12.0的意思是此驱动兼容CUDA12.0以下的所有版本(当前的CUDA只更新到了11.8)
  • 一个Windows可以共存多个CUDA
  • 对于环境变量,只需要更改系统变量中Path的CUDA版本先后顺序,需要用的上移动到最顶端即可。(但是真正运用起来和环境变量好像无关)
  • 此时CUDA 10.0在最顶端
  • 所以nvcc -V 版本是10.0
  • 在项目中使用的时候,再进行创建虚拟环境进行 conda install 按照Pytorch(Previous PyTorch Versions | PyTorch)或TensorFlow的命令来
    例如:conda install cudatoolkit=10.1
  • CUDA安装
  • 选择自定义
  • 以下四个选项无需安装
  • 因为驱动和PhysX已经最新了而Nsight不怎么用
  • cnDNN历史版本cuDNN Archive | NVIDIA Developer
  • 将下载好的cnDNN的zip压缩包解压到对于的CUDA版本文件夹下,直接覆盖即可
  • 装完以上CUDA和cuDNN就可以在虚拟环境中运行“conda install tensorflow-gpu==1.13.1”(好像会自动把CUDA和cuDNN打上)
  • 检测TensorFlow是否能使用CUDA进行GPU计算
  • Python控制台下
  • import tensorflow as tf
  • print(tf.test.is_gpu_available())
  • 在Windows中安装相应版本的Pytorch
  • 打开Previous PyTorch Versions | PyTorch找到如果安装某版本Pytorch,查找表首先安装好对于的CUDA
    以上图片就是如果利用CUDA10.1,就先安装好CUDA10.1
  • Deprecation of CUDA 11.6 and Python 3.7 Support | PyTorch这个也用于参考版本!!!
  • 安装CUDA同TensorFlow
  • 然后直接复制命令到conda虚拟环境进行安装
  • 检测Pytorch是否能使用CUDA进行GPU计算
  • Python控制台下
  • import torch
  • print(torch.cuda.is_available())
  • 经验
  • 只要前置装了CUDA和cuDNN就可以了,在conda中装TensorFlow和Pytorch会自动下载对应的cudatoolkit版本对接系统的CUDA版本(不知道这个理解对不对)
  • TensorFlow虚拟环境下的condalist
  • Pytorch虚拟环境下的conda list
  • 第二张图突然觉得Pytorch好用了,直接表明了需要装的版本
  • 一些报错
  • conda 安装TensorFlow-Gpu出现权限不够提示加上“--user”,不知道是以下哪种情况导致的,但是可以解决
  • Pycharm未关闭
  • 没有加——user
  • 运行报错“缺少cudart64_110.dll”
  • 意思就是缺少cuda11.0+
  • AttributeError: module 'tensorflow' has no attribute 'variable_scope'
  • 原因就是1.0版本不能用2.0跑
  • 解决方案
  • tensorflow早已进入2.0时代,但是大部分代码还是在1.0时代创造的,修改代码换环境换安装包等等方法令人烦躁,还会引出一堆其他问题,因此给出修复大部分错误的简单解决方法:(未实践证明)
  • 使用tensorflow 2.0以上版本,并且安装tf_slim
  • 将import tensorflow as tf 改成import tensorflow.compat.v1 as tf(不要管ide的红线报错)import tf_slim as slim
  • 添加tf.disable_v2_behavior()到首行即可修复
  • 直接创建虚拟环境配置成老版本的TensorFlow并下载对应的依赖