ML(1)-在linux下搭建深度学习环境并通过windows远程连接

在linux下搭建深度学习环境并通过windows远程连接

一、确定显卡版本

nvidia driver、cuda、CUDNN、tensorflow的版本有严格的对应关系,先检查自己的显卡型号,再确定对应的driver和cuda版本,以及tensorflow-gpu、python版本。

二、安装

1.使用anaconda搭建虚拟环境

不同的项目可能依赖不同版本的库,使用虚拟环境可以将不同项目的运行环境分离开来。
官方下载地址:https://www.anaconda.com/products/distribution#Downloads

3.NVDIA显卡驱动(nvidia driver)

安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
当前版本:410.73
官方下载地址:https://www.nvidia.com/download/index.aspx

4.CUDA

1)如果已经安装过driver了,在提示是否安装cudadriver时输入n取消

2)在安装多个版本的cuda时,可能遇到错误:

error: supported compiler: 10.0.2, use --override to....

只要根据提示在bash cuda.run时末尾加上--override即可。
3)如果报错找不到某个文件,例如找不到libcublas.so.10,但路径下有libcublas.so,则在该路径下输入命令cp libcublas.co libcublas.so.10
4)如果系统中装了多个cuda版本,通过修改~/.bashrc配置文件的cuda路径即可更改当前使用的cuda版本
(source ~/.bashrc后,通过nvcc -V检查版本号时可能已经更改,但运行时报版本号不对应的错误,可能需要重启才能生效)
5)cuda默认安装路径为/usr/local,也可以在安装时自定义安装路径装在用户目录下(也是非root用户安装方式)
检查当前版本:nvcc -V

5.CUDNN

cuDNN是GPU加速库(一定要注意版本对应)
官方下载地址:https://developer.nvidia.com/rdp/cudnn-download(下载需要注册/登录英伟达账号)
命令:nvidia-smi,可以检查当前可用的GPU编号,GPU名称,性能,温度,功率等信息。
指定GPU(指定想要使用的显卡编号):

import os
os.environ['CUDA_VISIBLE_DEVICES']='0'
6.TesnsorFlow

安装版本:tensorflow-gpu-2.2.0
1) 如果报keras等库版本号不对应的错误,通过pip uninstall [keras] 和 pip install [keras]==[对应版本号]的命令修改版本。
检查是否成功安装:

import tensorflow as tf
print(tf.__version__)

检查可用GPU:

print(tf.config.list_physical_devices('GPU'))

三、搭建Jupyter Notebook远程服务器

在远程服务器上安装jupyter(可能在安装conda时已经安装了,可以检查一下)

  1. 安装命令:
    pip install jupyter

  2. 生成jupyter notebook配置文件
    jupyter notebook --generate-config

  3. 设置密码(用于配置以及登录)

python
>>>from notebook.auth import passwd
>>>passwd()	#输入两次密码

      sha1**************************    #生成密钥

此处的sha1*******需要复制,用于下面的配置文件

  1. 修改配置文件
    vi ~/.jupyter/jupyter_notebook_config.py

增加配置信息

c.NotebookApp.ip='*'
c.NotebookApp.port=8888
c.NotebookApp.open_browser=False
c.NotebookApp.notebook_dir='/home/usr/Desktop/jupyProjects'
c.NotebookApp.allw_root=True
c.NotebookApp.password='shal:***************' #粘贴刚刚复制的密钥
  1. 启动jupyter远程服务器
jupyter notebook

或者指定端口和IP

jupyter notebook --nobrowser --port 8888 --ip=192.168.10.11
  1. windows远程连接服务器的jupyter notebook
    1). 通过git或者powershell或者cmd连接远程服务器
    ssh -L[本地端口]:localhost:[远程端口] 用户名@远程服务器ip
    例如
    ssh -L8888:localhost:8888 user@*.*.*.*
    2).打开浏览器,输入localhost:[本地端口],输入前面设置的密码,即可远程连接服务器的jupyter notebook

  2. Jupyter notebook 更换kernel
    jupyter notebook访问时默认使用anaconda的base环境
    1). 安装ipykernel:

#激活虚拟环境
conda install nb_conda_kernels
#将环境写入notebook的kernel中
python -m ipykernel install --user --name 环境名 --display-name 显示的环境名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值