本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【组图】教程 | 一步步从零开始:使用PyCharm和SSH搭建远程TensorFlow开发环境

时间:2017-03-19 02:45来源:报码现场 作者:开奖直播现场 点击:
一般而言,大型的神经网络对硬件能力有着较高的需求——往往需要强劲的 GPU 来加速计算。但是你也许还是想拿着一台笔记本坐在咖啡店里安静地写 TensorFlow 代码,同时还能享受每秒

一般而言,大型的神经网络对硬件能力有着较高的需求——往往需要强劲的 GPU 来加速计算。但是你也许还是想拿着一台笔记本坐在咖啡店里安静地写 TensorFlow 代,同时还能享受每秒数万亿次的浮点运算(teraFLOPS)速度?其实这个目标不难实现,使用 PyCharm 中的一个远程解释器,你就能通过远程的方式获得几乎和本地计算时一样的性能。Erik Hallström 在本文中分享了如何使用 PyCharm、TensorFlow 和 SSH 搭建远程机器学习平台的过程。

需要注意的是,目前仅有 PyCharm Professional 支持这一功能,Community Edition 尚不支持。

远程数据处理机器

  

wzatv:【组图】教程 | 一步步从零开始:使用PyCharm和SSH搭建远程TensorFlow开发环境

希望你的远程机器看起来不是这样的。

我们的目标是搭建一个固定的远程机器,其中有一个或多个先进的 GPU,必须是英伟达的——虽然我不喜欢目前深度学习硬件领域的这种垄断,但 TensorFlow 只能使用英伟达的 GPU。

首先,让我们安装最新版本的 Ubuntu,我推荐你使用桌面版,你可以终止其 GUI 服务,然后释放图形内存。然后将你的计算机联网,并通过在终端(Terminal)输入 ifconfig 来获取 IP 地址,在本文中,我假设我们的 IP 地址是 192.168.0.1,在实际操作时,你需要根据你自己的情况进行修改。

  设置 SSH

为了让你的计算机与你的数据处理机器通信,你需要在其上安装 SSH。打开你的固定计算机上的终端然后输入以下代进行安装:

  sudo apt-get install ssh

启用 SSH X11 转发让你可以进行绘图(plot),首先如下打开配置文件:

sudo gedit /etc/ssh/sshd_config

然后找到注释行:

  # X11Forwarding yes

移除前面的 # 号,然后保存并关闭该文件。

  显卡

  接下来安装显卡驱动,通常不同的显卡都有自己专用的驱动,所以你需要在你的软件包管理器中增加一个新的库(repository)。你所需的软件请根据你自己的显卡和 Ubuntu 版本进行选择。我在这里使用的是 NVIDIA-367,了解更多请参阅:https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia

  sudo add-apt-repository ppa:graphics-drivers/ppa

  sudo apt-get update

  sudo apt-get install nvidia-367

  CUDA 和 cuDNN

现在应该安装 CUDA 工具包和 cuDNN 了,这是运行 TensorFlow 所必须的。你可以从英伟达的网站上下载它们:

CUDA:https://developer.nvidia.com/cuda-downloads

cuDNN:https://developer.nvidia.com/cudnn

注意下载 cuDNN 需要注册。这里使用的是 CUDA 8.0 和 cuDNN 5.1。对于 CUDA,我更喜欢使用内置的软件包管理器,这能让我们可以更轻松地追踪安装情况:

  sudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb

  sudo apt-get update

  sudo apt-get install cuda-toolkit-8.0

确保其 symlink 设置正确:

  readlink -f /usr/local/cuda

  >> /usr/local/cuda-8.0

下面是如何提取 cuDNN 的头文件,并将其复制到 CUDA 文件夹,并让其可以在终端进行读取(你的一些文件名可能会有所不同):

  tar xvzf cudnn-8.0-linux-x64-v5.1.tgz

  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*

最后添加你所需的环境变量,将它们附加到你的 .bashrc 文件,然后对其执行 source 命令:

  echo 'export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"' >> ~/.bashrc

  echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc

  source ~/.bashrc

  Python 和 TensorFlow

安装一些所需的 Python 包:

  sudo apt-get install python-pip python-dev build-essential python-numpy python-scipy python-matplotlib

然后安装启用了 GPU 的 TensorFlow,你可以在这个页面查阅你所需的版本:

  https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html ;

  注意 TF_BINARY_URL 根据不同的系统而有所不同:

  export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl

  pip install --ignore-installed --upgrade $TF_BINARY_URL

验证安装是否有效,在终端输入:

  python

  import tensorflow

如果你已经成功安装了 GPU 已启用的系统,你会得到类似下面的输出:

  >I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcublas.so locally

  >I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcudnn.so locally

  >I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcufft.so locally

  >I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcuda.so.1 locally

  >I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcurand.so locally

搞定了吗?下面该配置你的笔记本了!

超级便利的笔记本

  

wzatv:【组图】教程 | 一步步从零开始:使用PyCharm和SSH搭建远程TensorFlow开发环境

打开你的笔记本电脑,然后将其连接到你的固定计算机所在的本地网络:

各种安装

我使用的是一台 Macbook,所以我可以使用一个名叫 Homebrew 的软件包管理器安装程序。甚至也可以使用 Homebrew Cask 轻松安装桌面应用。

Homebrew:

Homebrew Cask:https://caskroom.github.io/

安装 Homebrew 和 Cask:

  /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew tap caskroom/cask

安装你所需的,包括 PyCharm IDE:

  brew install cask ssh-copy-id python

  brew cask install java pycharm xquartz

  设置 SSH

通过执行下列代码生成一组 SSH 密钥对,然后继续参考该指南(如果你之前没有经验):

  ssh-keygen -t rsa

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容