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

标签 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-docker 安装一个 docker 实例和 Tensorflow 2.0.还是使用 Tensorflow 1.14 安装 AWS AMI 镜像然后升级到 Tensorflow 2.0 是否更容易?目前尚不清楚哪种方法更有意义。

欢迎大家提出意见。

最佳答案

所以我走完了两条路。现在我想说的是用 Tensorflow 2.0 设置一个 docker 容器。比从 AMI 镜像构建更容易。

对于 docker 路由,您可以使用 GPU 启动 Ubuntu 18.04 实例。然后,您必须按照以下步骤操作。现在我列出了基本步骤,但没有详细说明。但希望这是足以帮助某人入门的指导。

  • 启动实例并安装 docker-ce软件。确保传入连接可以访问网络端口 8888。
  • 为特定 GPU 实例安装 nvidia 驱动程序:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html
  • 安装 nvidia-docker来自 Nvidia github 存储库的软件。这将使 docker 镜像能够访问 EC2 实例上的 GPU 驱动程序。
  • 使用以下命令下载并运行 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 镜像,然后升级它。这实际上比看起来更难。同样,这是步骤的高级概述,但我尽量包含链接或代码。
  • 在服务器 (25.2) 上设置 ubuntu 18.04 深度学习 AMI。
  • 更新升级ubuntu:
  •     sudo apt-get update
        sudo apt-get upgrade
    
  • 更新 Anaconda 发行版,因为当前发行版使用包管理器的代理版本。
  • conda update conda
    conda update --all
    
  • 创建 tensorflow 2.0 conda 环境
  • conda create -n tf2 python=3.7 tensorflow-gpu==2.0 cudatoolkit cudnn jupyter
    
  • 初始化 conda在外壳中。您必须这样做才能使用 shell 中的 conda 命令。您可能需要退出该实例,然后通过 ssh 重新进入该实例。
  • conda init bash
    bash
    
  • 安装 environment_kernels
  • pip install environment_kernels
    
    
  • 安装 jupyter notebook 扩展
  • conda install -c conda-forge jupyter_contrib_nbextensions
    
  • 在实例上安装 Jupyter 服务器。按照链接上的说明进行操作:https://docs.aws.amazon.com/dlami/latest/devguide/setup-jupyter-config.html
  • ssh 进入实例并启动 Jupyter 服务器。
  • ssh -N -f -L 8888:localhost:8888 ubuntu@aws-public-url
    
  • 在您的计算机上打开浏览器并浏览到该服务器的公共(public) URL:8888。

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

    关于python - 使用 Tensorflow 2.0 设置 AWS EC2 实例——AMI 与自己构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58760516/

    相关文章:

    分配后Python对象类型发生了变化,这是一个错误吗?

    tensorflow - 在 tensorflow 中使用 tanh 作为 MNIST 数据集中的激活函数

    tensorflow - TensorFlow 中的 epoch 是什么?

    python - 如何在 python 中使用正则表达式替换字符串的多个单词?

    python - 替换python中的列值

    python - 获取运行云功能的运行时服务帐户

    python - 在 Python 中执行 Postgresql 查询

    amazon-web-services - Redshift 系统表是否不可变且有序?

    amazon-web-services - 如何允许用户仅从服务目录启动EC2实例?

    python - 警告 :tensorflow with constraint is deprecated and will be removed in a future version