云服务器深度学习环境搭建

雪夜
发布: 2025-09-27 08:22:01
原创
924人浏览过

在ubuntu 18.04.1系统上配置深度学习环境的步骤如下:

系统初始化环境

  • 操作系统: Ubuntu 18.04.1
  • 内存: 20G
  • CPU: Intel Xeon Sliver 4110 (2.1 GHz) 4核
  • GPU: Tesla P4 1颗

安装Linux下的CUDA驱动

  1. 登录NVIDIA驱动下载页面或打开链接 https://www.php.cn/link/8c7c866a13f952e17395811408d2fd1b

  2. 选择对应的支持DEB包的操作系统(Ubuntu 18.04), 得到下载链接:

    wget http://us.download.nvidia.com/tesla/418.67/nvidia-diag-driver-local-repo-ubuntu1804-418.67_1.0-1_amd64.deb
    登录后复制
  3. 安装软件包:

    sudo dpkg -i nvidia-diag-driver-local-repo-ubuntu1804-418.67_1.0-1_amd64.deb
    登录后复制
  4. 添加key:

    sudo apt-key add /var/nvidia-diag-driver-local-repo-<version>/7fa2af80.pub
    登录后复制
  5. 使用apt-get命令更新软件包:

    sudo apt-get update
    登录后复制
  6. 运行apt-get命令安装驱动:

    sudo apt-get install cuda-drivers
    登录后复制
  7. 运行reboot指令重启

  8. 运行nvidia-smi能输出正确信息代表驱动安装成功

    其中步骤2-6来源于NVIDIA官网教程。此外,rufile安装、rpm包安装、Windows系统安装等方式也可参见PHP中文网文档。

安装Anaconda

注意:建议在普通用户状态下安装,而非root用户下安装。

  1. 进入anaconda官网选择安装包下载:此处选择Linux系统下的Python3.7版本

    wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh
    登录后复制
  2. 执行安装文件:

    bash Anaconda3-2019.07-Linux-x86_64.sh
    登录后复制
  3. 重启shell(或者直接输入bash指令), 即可使用anaconda3,输入conda指令即可。

    此时控制台输入python,已不再是系统自带的2.7版本,而是anaconda中的python版本。

  4. 当在root用户下输入conda提示无指令/python版本仍为2.7时, 执行以下操作:

    sudo gedit ~/.bashrc
    export PATH="/home/ubuntu/anaconda3/bin:$PATH"
    登录后复制
  5. 若要删除anaconda, 直接将anaconda的安装目录整体删除即可:

    rm -rf /root/anaconda3
    登录后复制
  6. 关于安装anaconda后,Linux的终端shell界面前面出现(base)字样

    原因:在打开终端后,自动执行了conda activate base。

    解决:输入conda deactivate即可。要想再次激活,输入conda activate base即可。

云服务器深度学习环境搭建

创建虚拟环境

  1. 创建python=3.7的名字为keras的虚拟环境:

    conda create --name keras python=3.7
    登录后复制
  2. 激活keras环境:

    conda activate keras
    登录后复制
  3. 如果想检查现有所有的虚拟环境, 可利用conda指令:

    conda env list
    登录后复制

在虚拟环境中安装TensorFlow-GPU

  1. 利用conda指令安装tensorflow-gpu:

    conda install tensorflow-gpu
    登录后复制
  2. 利用代码测试检查TensorFlow是否安装成功, 正确输出即安装成功。

    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print(sess.run(hello))
    登录后复制

在虚拟环境中安装Keras

  1. 利用pip指令安装keras:

    pip install keras
    登录后复制
  2. 利用代码测试检查keras是否安装成功, 无报错即安装成功。

    import keras
    登录后复制

在虚拟环境中安装Jupyter

  1. 在虚拟环境中输入jupyter指令, 提示失败。因为并未安装。

    可以使用conda list指令查看已安装的包。

云服务器深度学习环境搭建

  1. 利用conda安装jupyter:

    conda install jupyter
    登录后复制
  2. 打开jupyter:

    jupyter notebook
    登录后复制

    为防止网断导致notebook挂掉,利用screen指令,新开一个screen,以便在后台运行notebook。screen指令的使用,参见附录。

    # 开启screen
    screen
    # 激活环境
    conda activate keras
    # 运行notebook
    jupyter notebook
    # 在网页访问notebook,需要输入token,查看token的方法是jupyter notebook list
    登录后复制

访问远程环境

在本地远程访问虚拟环境中的notebook

  1. 在本地利用ssh指令实现本地端口转发:

    ssh -L8008:localhost:8888 <ip>
    登录后复制

利用MobaxTerm建立隧道连接虚拟环境中的notebook

  1. 点击Tools, 点击Network下的MobaSSHTunnel(Port forwarding)

云服务器深度学习环境搭建

  1. 点击New SSH tunnel

  2. 选择Local port forwarding, 并输入对应内容,点击Save。

    豆包爱学
    豆包爱学

    豆包旗下AI学习应用

    豆包爱学 674
    查看详情 豆包爱学

云服务器深度学习环境搭建云服务器深度学习环境搭建

  1. 输入Name, 点击开始箭头即可。

云服务器深度学习环境搭建

  1. 此时完成隧道建立, 本地浏览器访问127.0.0.1:8008即可访问远程的Jupyter。

配置Windows本地Spyder(3.3.0及以上)连接远程服务器

  1. 服务器端在虚拟环境中, 利用conda/pip指令安装spyer-kernels

    conda install spyder-kernels
    登录后复制
  2. 服务器端在虚拟环境中, 利用命令python -m spyder-kernels.console,开启一个kernel,并生成kernel-.json文件

    python -m spyder_kernels.console
    登录后复制
  3. 服务器端在虚拟环境中, 用命令jupyter --runtime-dir找到kernel文件的路径

    jupyter --runtime-dir
    #输出举例:/home/ubuntu/.local/share/jupyter/runtime/
    登录后复制
  4. 在上述路径中找到kernel-.json文件, 并拷贝到本地端。

  5. 在本地的spyder中, 在ipython console右上侧的设置中找到connect to an existing kernel

云服务器深度学习环境搭建

  1. 选中刚刚拷贝好的kernel文件, 选中this is a remote kernel, 并输入host name与密码。(SSH Keyfile不用管)

云服务器深度学习环境搭建

  1. 点击Ok后, 报错如下“Could not open ssh tunnul. The error was: Paramiko not available”:

云服务器深度学习环境搭建

解决办法为:运行Spyder,在SpyderIPython控制台中输入指令:

   !pip install paramiko
登录后复制

之后,重启spyder,即可。

此时,就可以让spyder连接到服务器了!可以欢快地查看变量了。

云服务器深度学习环境搭建

配置Windows本地Pycharm连接远程服务器

  1. 用pycharm打开一个项目, File -youjiankuohaophpcn Settings -> 搜索Project Interpreter -> 在Project Interpreter栏目右侧点击设置图标 -> 选择Add...

云服务器深度学习环境搭建

  1. 点击SSH Interpreter -> 输入远程主机的IP(*..*.)和登录用户名(ubuntu)**

云服务器深度学习环境搭建

  1. 点击后, 输入远程连接的服务器密码

云服务器深度学习环境搭建

  1. 选择远程Interpreter. 点击文件夹图标 -> 选择远程虚拟环境中的python解释器。

    eg:/home/ubuntu/anaconda3/envs/keras/bin/python

    这样虚拟环境就可以使用了。

云服务器深度学习环境搭建

问题1:Pycharm的Python Console控制台出现中文乱码

【问题描述】

Pycharm默认打开时,python console中如果用到windows下cmd里的命令时,会输出乱码。

【问题原因】

cmd默认的编码是gbk(代码页:936),而python console 里面的编码是utf-8(代码页:65001),由于编码不一致,所以输出时会出现乱码。

【解决办法】

  1. File-Setting-Search-console-python console

  2. 添加以下代码

    !chcp 65001
    登录后复制

云服务器深度学习环境搭建

注:file encoding中的编码设置保持默认即可,不要被网上其他博客所误导而乱改,正常如下:

云服务器深度学习环境搭建

  1. 重启python console即可, 效果如下:

云服务器深度学习环境搭建

附录:screen指令使用

常用参数

  • screen -S yourname -> 新建一个叫yourname的session
  • screen -ls -> 列出当前所有的session
  • screen -r yourname -> 回到yourname这个session
  • screen -d yourname -> 远程detach某个session
  • screen -d -r yourname -> 结束当前session并回到yourname这个session
  • screen -S yourname -X quit ->删除当前screen

快捷键

在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。

  • C-a ? -> 显示所有键绑定信息
  • C-a c -> 创建一个新的运行shell的窗口并切换到该窗口
  • C-a n -> Next,切换到下一个 window
  • C-a p -> Previous,切换到前一个 window
  • C-a 0..9 -> 切换到第 0..9 个 window
  • Ctrl+a [Space] -> 由视窗0循序切换到视窗9
  • C-a C-a -> 在两个最近使用的 window 间切换
  • C-a x -> 锁住当前的 window,需用用户密码解锁
  • C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
  • C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。
  • C-a w -> 显示所有窗口列表
  • C-a t -> Time,显示当前时间,和系统的 load
  • C-a k -> kill window,强行关闭当前的 window
  • C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样
    • C-b Backward,PageUp
    • C-f Forward,PageDown
    • H(大写) High,将光标移至左上角
    • L Low,将光标移至左下角
    • 0 移到行首
    • $ 行末
    • w forward one word,以字为单位往前移
    • b backward one word,以字为单位往后移
    • Space 第一次按为标记区起点,第二次按为终点
    • Esc 结束 copy mode
  • C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上

重点问题

  1. screen的三种状态

    • Attached:有用户登录状态。
    • Detached:暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 输入screen -d <session-id>到此状态。 通过screen -r <session-id>再次进入。
    • Dead:被kill了该screen。
  2. 如何正常退出screen? 在screen中输入exit指令即可。

  3. 当screen状态为Attached时,如何重新登入该screen?

    screen -ls
    screen -D -r <session-id>
    解释:-D -r 先踢掉前一用户,再登陆screen
    其中,-D也可用-d替换。
    登录后复制

以上就是云服务器深度学习环境搭建的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号