雨滴科技技术论坛

 找回密码
 立即注册
查看: 643|回复: 1

搭建cuda, cudnn,pytorch, tensorflow环境

[复制链接]

513

主题

1974

帖子

8158

积分

论坛元老

Rank: 8Rank: 8

积分
8158
扫一扫,手机访问本帖
发表于 2021-2-17 20:54:22 | 显示全部楼层 |阅读模式
(1) CUDA
wget https://developer.download.nvidi ... 455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run

wget下载不成功改axel下载,更快更好的wget替换工具
如果已经安装了nvidia驱动,出现Existing package manager installation of the driver found.错误
选择continue,不选择Driver,然后Install
用sudo apt install nvidia-driver-455安装驱动。

nouveau是开源的驱动,会阻止nvidia驱动的安装。


sudo vim /etc/profile
#cuda
export PATH=/usr/local/cuda-11.1/bin${PATH:+{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+{LD_LIBRARY_PATH}}

nvcc -V验证安装成功

(2)cudnn
https://developer.nvidia.com/rdp/cudnn-download
下载后解压cuDNN library for Linux[x86_64]
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
下载deb安装runtime developer lib,还有code samples
sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.0_amd64.deb


(3) docker [弃用。原因是显卡驱动。]
docker run -it --name="anaconda" -p 8888:8888 continuumio/anaconda3 /bin/bash
conda create -n pytorch python=3.8
conda acvivate pytorch
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

import torch
torch.cuda.is_available()
无法返回true,无法调用host的nvidia显卡驱动,放弃docker,
如果要用nvidia-docker里面的nvidia/cuda的image来修改处理,没有继续测试。

docker start anaconda
docker exec -it anaconda /bin/bash

(4) anaconda
下载Anaconda3-2020.11-Linux-x86_64.sh执行安装
conda create -n pytorch python=3.8
conda acvivate pytorch
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

import torch
torch.cuda.is_available()

anaconda3安装位置~/anaconda3  ~/.condarc ~/.conda ~/.continuum 卸载时候删除这些并把.bashrc里面的设置去掉即可。

(5) opencv
python3.8会导致conda无法安装opencv
退到3.7可以安装opencv3.4
conda install opencv
#conda install --channel https://conda.anaconda.org/menpo opencv3

(6) jupyter
conda install jupyter
conda install jupyterlab

(7) tensorflow-gpu
pip3 install tensorflow-gpu==2.4.0 -i https://pypi.doubanio.com/simple/

将tf.summary.FileWriter()换成tf.summary.create_file_writer()

(8) scipy
conda install scipy




(9)tensorflow新旧版本有兼容问题
import tensorflow as tf
tf.compat.v1.disable_eager_execution() #保证sess.run()能够正常运行
hello = tf.constant('hello,tensorflow')
sess= tf.compat.v1.Session()#版本2.0的函数
print(sess.run(hello))



(10) 释放显存
OOM的时候需要释放显存
nvidia-smi查看占用,但是nvidia-smi -r或者 --gpu-reset并不能解决问题,因为可能只有唯一一块显卡
sudo fuser -v /dev/nvidia*查看进程PID占用nvidia0的情况,根据情况来kill相关PID是一个办法
还有一种卸载nvidia模块再probe回来
最后就是重启电脑的办法了。
torch.cuda.empty_cache()
据说会避免跑久了后显存溢出

pytorch 的优势
(a)提供近似numpy的tensor,但可以用GPU加速。(b)能自动计算梯度


回复

使用道具 举报

513

主题

1974

帖子

8158

积分

论坛元老

Rank: 8Rank: 8

积分
8158
 楼主| 发表于 2021-2-18 00:11:32 | 显示全部楼层
pytorch也在高速更新,也有版本兼容问题,但是整体比tensorflow好很多(虽然还没开始用tf)
比如有的文章会说用Variable来计算tensor的梯度,实际Variable在0.41版本就废了,现在自动计算梯度
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
在线咨询
咨询热线
0755-26787502-8006/8016
扫一扫二维码
直接访问本站

QQ|Archiver|手机版|小黑屋|雨滴科技  

GMT+8, 2021-10-22 04:38 , Processed in 0.055780 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表