深度学习 AMI
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

带 MXNet 的 Keras

本教程介绍如何在 采用 Conda 的 Deep Learning AMI 上激活和使用带 MXNet 后端的 Keras 2。

激活带 MXNet 后端的 Keras,并在 DLAMI with Conda 上测试它

  1. 要激活带 MXNet 后端的 Keras,请打开 DLAMI with Conda 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

    • 对于 Python 3,运行以下命令:

      $ source activate mxnet_p36
    • 对于 Python 2,运行以下命令:

      $ source activate mxnet_p27
  2. 启动 iPython 终端:

    (mxnet_p36)$ ipython
  3. 测试导入带 MXNet 的 Keras 以验证其是否运行正常:

    import keras as k

    以下内容应显示在您的屏幕上(可能出现在一些警告消息之后)。

    Using MXNet backend

    注意

    如果您收到错误,或如果仍在使用 TensorFlow 后端,则您需要手动更新您的 Keras 配置。编辑 ~/.keras/keras.json 文件并将后端设置更改为 mxnet

Keras-MXNet Multi-GPU 训练教程

训练卷积神经网络 (CNN)

  1. 在 DLAMI 中打开终端和 SSH。

  2. 导航到 ~/examples/keras-mxnet/ 文件夹。

  3. 在终端窗口中运行 nvidia-smi 以确定 DLAMI 上的可用 GPU 数。在下一步骤中,您将按原样运行脚本(如果您有四个 GPU)。

  4. (可选)运行以下命令可打开脚本以进行编辑。

    (mxnet_p36)$ vi cifar10_resnet_multi_gpu.py
  5. (可选)脚本具有定义 GPU 数的以下行。如果需要,请更新它。

    model = multi_gpu_model(model, gpus=4)
  6. 现在,运行训练。

    (mxnet_p36)$ python cifar10_resnet_multi_gpu.py

注意

利用 channels_first image_data_format 设置,Keras-MXNet 的运行速度可以加快 2 倍。要更改为 channels_first,请编辑 Keras 配置文件 (~/.keras/keras.json) 并设置以下内容:"image_data_format": "channels_first"

有关更多的性能优化方法,请参阅 Keras-MXNet 性能优化指南

更多信息

  • 您可以在 采用 Conda 的 Deep Learning AMI ~/examples/keras-mxnet 目录中查找有关具有 MXNet 后端的 Keras 的示例。

  • 有关更多教程和示例,请参阅 Keras-MXNet GitHub 项目