在 Conda 中使用深度学习 AMI - 深度学习 AMI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Conda 中使用深度学习 AMI

使用 Conda 实现的深度学习 AMI 简介

Conda 是一个开源程序包管理系统和环境管理系统,在 Windows、macOS 和 Linux 上运行。Conda 快速安装、运行和更新程序包及其依赖项。Conda 可轻松创建、保存、加载和切换本地计算机上的环境。

使用 Conda 的深度学习 AMI 已配置为可让您轻松在深度学习环境之间切换。以下说明为您介绍与 conda 相关的一些基本命令。它们还可以帮助您验证框架的基本导入正常运行,并且您可以使用框架运行一些简单操作。然后,您可以继续阅读 DLAMI 提供的更详尽的教程,或者在每个框架的项目网站上找到的框架示例。

登录到您的 DLAMI

登录服务器后,您会看到服务器的“每日消息”(MOTD),它介绍了可以用来切换不同深度学习框架的各种 Conda 命令。以下是示例 MOTD。随着 DLAMI 新版本的发布,您的特定 MOTD 可能会有所不同。

注意

我们不再将 CNTK、Caffe、Caffe2、Theano、Chainer 和 Keras Conda 环境包含在Amazon Deep Learning AMI从 v28 版本开始。包含这些环境的先前版本的 Amazon Deep Learning AMI 将继续可用。但是,只有在开源社区针对这些框架发布安全修补程序时,我们才会为这些环境提供更新。

============================================================================= __| __|_ ) _| ( / Deep Learning AMI (Ubuntu 18.04) Version 40.0 ___|\___|___| ============================================================================= Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1037-aws x86_64v) Please use one of the following commands to start the required environment with the framework of your choice: for AWS MX 1.7 (+Keras2) with Python3 (CUDA 10.1 and Intel MKL-DNN) _______________________________ source activate mxnet_p36 for AWS MX 1.8 (+Keras2) with Python3 (CUDA + and Intel MKL-DNN) ___________________________ source activate mxnet_latest_p37 for AWS MX(+AWS Neuron) with Python3 ___________________________________________________ source activate aws_neuron_mxnet_p36 for AWS MX(+Amazon Elastic Inference) with Python3 _______________________________________ source activate amazonei_mxnet_p36 for TensorFlow(+Keras2) with Python3 (CUDA + and Intel MKL-DNN) _____________________________ source activate tensorflow_p37 for Tensorflow(+AWS Neuron) with Python3 _________________________________________ source activate aws_neuron_tensorflow_p36 for TensorFlow 2(+Keras2) with Python3 (CUDA 10.1 and Intel MKL-DNN) _______________________ source activate tensorflow2_p36 for TensorFlow 2.3 with Python3.7 (CUDA + and Intel MKL-DNN) ________________________ source activate tensorflow2_latest_p37 for PyTorch 1.4 with Python3 (CUDA 10.1 and Intel MKL) _________________________________________ source activate pytorch_p36 for PyTorch 1.7.1 with Python3.7 (CUDA 11.0 and Intel MKL) ________________________________ source activate pytorch_latest_p37 for PyTorch (+AWS Neuron) with Python3 ______________________________________________ source activate aws_neuron_pytorch_p36 for base Python3 (CUDA 10.0) _______________________________________________________________________ source activate python3

每个 Conda 命令具有以下模式:

source activate framework_python-version

例如,你可能会看到for MXNet(+Keras1) with Python3 (CUDA 10.1) _____________________ source activate mxnet_p36,这意味着该环境有 MXNet、Keras 1、Python 3 和 CUDA 10.1。要激活此环境,您可以使用以下命令:

$ source activate mxnet_p36

启动 TensorFlow 环境

注意

在启动您的第一个 Conda 环境时,请在其加载期间耐心等待。带有 Conda 的深度学习 AMI 会在首次激活框架时自动为您的 EC2 实例安装最优化版本的框架。您不应期望后续的延迟。

  1. 激活 TensorFlow Python 3 的虚拟环境。

    $ source activate tensorflow_p37
  2. 启动 iPython 终端。

    (tensorflow_37)$ ipython
  3. 快速运行 TensorFlow 程序。

    import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))

您应该会看到“Hello, Tensorflow!”

后续步骤

运行 Jupyter 笔记本电脑教程

切换到 PyTorch Python 3 环境

如果你还在 IPython 控制台中,请使用quit(),然后准备好切换环境。

  • 激活 PyTorch Python 3 的虚拟环境。

    $ source activate pytorch_p36

测试一些 PyTorch 代码

要测试您的安装,请使用 Python 编写 PyTorch 创建和打印数组的代码。

  1. 启动 iPython 终端。

    (pytorch_p36)$ ipython
  2. 导入 PyTorch.

    import torch

    您可能会看到一条关于第三方软件包的警告消息。您可以忽略它。

  3. 创建一个 5x3 矩阵,元素随机初始化。打印数组。

    x = torch.rand(5, 3) print(x)

    验证结果。

    tensor([[0.3105, 0.5983, 0.5410], [0.0234, 0.0934, 0.0371], [0.9740, 0.1439, 0.3107], [0.6461, 0.9035, 0.5715], [0.4401, 0.7990, 0.8913]])

切换到 MXNet Python 3 环境

如果你还在 IPython 控制台中,请使用quit(),然后准备好切换环境。

  • 激活适用于 Python 3 的 MXNet 虚拟环境。

    $ source activate mxnet_p36

测试一些 MXNet 代码

要测试您的安装,请使用 Python 编写 MXNet 代码,以使用 NDArray API 创建并打印数组。有关更多信息,请参阅 NDArray API

  1. 启动 iPython 终端。

    (mxnet_p36)$ ipython
  2. 导入 MXNet。

    import mxnet as mx

    您可能会看到一条关于第三方软件包的警告消息。您可以忽略它。

  3. 创建一个 5x5 矩阵、一个 NDArray 实例,将元素初始化为 0。打印数组。

    mx.ndarray.zeros((5,5)).asnumpy()

    验证结果。

    array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]], dtype=float32)

    您可以在 MXNet 教程部分找到 MXNet 的更多示例。

删除环境

如果你在 DLAMI 上用完了空间,你可以选择卸载你没有使用的 Conda 软件包:

conda env list conda env remove –-name <env_name>