torch.cuda.is_available()=False

  • 检测cuda有没有安装
  • 先得有显卡,才能用gpu,不然换上device = torch.device("cuda:0" if (use_cuda and torch.cuda.is_available()) else "cpu"
  • 进一步检查torch的版本对不对
    • NVIDIA-smi可以看到CUDA Version,判断是否符合要求
    • python
    • import torch
    • print(torch.__version__)
    • 如果是1.xx.x + cpu说明装到cpu版本的了
    • 那就得先卸载掉torch、torchvision、torchaudio然后再重新装
      • 具体是anaconda3->lib->site-packages目录下的这几个都删掉
      • 然后C盘下面user->.conda->envs->虚拟环境(python39)->lib->site-packages目录下这几个也删掉
        • 一开始并不知道是在这么目标下面,拿的舍友设备
        • 所以可以下载一个utools然后直接搜会快很多,基本可以说即装即用了
    • 卸载完了重新安装,只所以前面会装到cpu版本就是因为配置了清华源,所以pip就默认帮你装成cpu的尽管你按照pytorch上面给的pip指令pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117来安装
      • 所以,要先下载whl然后手动安装
      • torch_stable这里面https://download.pytorch.org/whl/torch_stable.html下载对应上面指令单的whl文件
        • torch.1.13.1+cu117-cp39-cp39-win_amd64.whl
        • torchaudio-0.13.1+cu117-cp39-cp39-win_amd64.whl
        • torchvision-0.14.1+cu117-cp39-cp39-win_amd64.whl
        • 分别是torch的版本;cuda11.7;python3.9;window64位(具体要下载哪个版本看pytorch给的指令和以前torch的版本吧
      • 下载到了本地之后,cmd打开文件夹所在位置,pip install torch.1.13.1+cu117-cp39-cp39-win_amd64.whl,这里有可能装不上试试更新pippython -m pip install --upgrade pip,如果显示已经有torch可能是没删干净
      • 然后安装剩下的两个同理
    • python
    • import torch
    • print(torch.__version__) 估计已经没问题了
  • 回到代码里面进一步测试,发现os.environ[“CUDA_VISIBLE_DEVICES”] = “1”,1改成0就好了,应该表示采用的几号卡
  • 最后运行的时候说需要26m的内存但是gpu里面6G已经分配完了,试过了torch.cuda.empty_cache()清空缓存,还是同样的结果,然后把batch_size缩小了一半,最终成功运行

你可能感兴趣的:(#,训练一个DNN遇到的种种,python,pytorch,深度学习,pycharm)