使用Tensorflow 2.0-AMI设置AWS EC2实例与自己构建它?

时间:2019-11-08 04:46:18

标签: python amazon-web-services tensorflow amazon-ec2

我需要使用Tensorflow 2.0设置一个AWS EC2 GPU实例。我看到的所有文档都表明当前的AWS AMI映像仅支持Tensorflow 1.14或1.15,但不支持Tensorflow 2.0。因此,我想知道在AWS实例上获取Tensorflow-gpu 2.0的最佳方法是什么。

我可以创建一个EC2 GPU实例,安装Nvidia驱动程序,然后使用nvidia-dockerTensorflow 2.0.安装一个docker实例,或者只是使用Tensorflow 1.14安装一个AWS AMI映像,然后安装它更容易些,然后升级到Tensorflow 2.0?尚不清楚哪种方法更有意义。

任何建议都将受到欢迎。

1 个答案:

答案 0 :(得分:2)

所以我经历了两条路线。现在,我要说的是,使用Tensorflow 2.0设置docker容器比从AMI映像进行构建更容易。

对于docker路由,您可以使用GPU启动Ubuntu 18.04实例。然后,您必须执行以下步骤。现在,我列出了基本步骤,但没有详细介绍。但是希望这足以帮助某人入门。

  1. 启动实例并安装docker-ce软件。确保网络端口8888可用于传入连接。

  2. 为特定的GPU实例安装nvidia驱动程序:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html

  3. 从Nvidia github存储库安装nvidia-docker软件。这将使Docker映像能够访问EC2实例上的GPU驱动程序。

  4. 使用以下命令下载并运行tensorflow 2.0容器: docker run -it --gpus all --rm -v $(realpath ~/Downloads):/tf/notebooks -p 8888:8888 tensorflow/tensorflow:2.0.0-gpu-py3-jupyter

这应该启动一个笔记本,用户可以从计算机上访问它。

如果要通过AMI映像执行此操作,则基本上必须安装Tensorflow 1.14映像,然后对其进行升级。这实际上比看起来难。再次,这是这些步骤的简要概述,但是我尝试尽可能地包括链接或代码。

  1. 在服务器上设置ubuntu 18.04深度学习AMI(25.2)。

  2. 更新和升级ubuntu:

    sudo apt-get update
    sudo apt-get upgrade
  1. 更新Anaconda发行版,因为当前发行版使用程序包管理器的代理版本。
conda update conda
conda update --all
  1. 创建一个tensorflow 2.0的conda环境
conda create -n tf2 python=3.7 tensorflow-gpu==2.0 cudatoolkit cudnn jupyter
  1. 在外壳中初始化conda。您必须执行此操作才能使用shell中的conda命令。您可能需要退出该实例,然后再回切到该实例中。
conda init bash
bash
  1. 安装environment_kernels软件包
pip install environment_kernels

  1. 安装jupyter笔记本扩展
conda install -c conda-forge jupyter_contrib_nbextensions
  1. 在实例上安装Jupyter服务器。请按照链接上的说明进行操作:https://docs.aws.amazon.com/dlami/latest/devguide/setup-jupyter-config.html

  2. ssh进入实例并启动Jupyter服务器。

ssh -N -f -L 8888:localhost:8888 ubuntu@aws-public-url
  1. 打开计算机上的浏览器,然后浏览到该服务器的公共URL:8888。

因此,在亚马逊发布Tensorflow 2.0 AMI之前,我会说使用第一种方法而不是第二种方法。