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

MXBoard

MXBoard 可让您使用 TensorBoard 软件目视检查和解释您的 MXNet 运行和图表。它运行了一个 Web 服务器,该服务器提供了一个用于查看 MXBoard 可视化并与之交互的网页。

MXNet、TensorBoard 和 MXBoard 随 采用 Conda 的 Deep Learning AMI (DLAMI with Conda) 一起预安装。在本教程中,您使用 MXBoard 功能生成与 TensorBoard 兼容的日志。

将 MXNet 与 MXBoard 结合使用

生成与 TensorBoard 兼容的 MXBoard 日志数据

  1. 连接到 DLAMI with Conda 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

  2. 激活 Python 3 MXNet 环境。

    $ source activate mxnet_p36
  3. 准备 Python 脚本以将一般运算符生成的数据写入事件文件中。数据生成 10 次,标准偏差减小,然后每次将写入到事件文件中。您将看到数据分布逐渐以平均值为中心。请注意,您将在日志文件夹中指定事件文件。您将此文件夹路径传递到 TensorBoard 二进制文件。

    $ vi mxboard_normal.py
  4. 将以下内容粘贴到文件中并保存它:

    import mxnet as mx from mxboard import SummaryWriter with SummaryWriter(logdir='./logs') as sw: for i in range(10): # create a normal distribution with fixed mean and decreasing std data = mx.nd.normal(loc=0, scale=10.0/(i+1), shape=(10, 3, 8, 8)) sw.add_histogram(tag='norml_dist', values=data, bins=200, global_step=i)
  5. 运行脚本。这将在 logs 文件夹中生成可用于可视化的日志。

    $ python mxboard_normal.py
  6. 现在,您必须切换到 TensorFlow 环境以使用 TensorBoard 和 MXBoard 可视化日志。这是 MXBoard 和 TensorBoard 所需的依赖项。

    $ source activate tensorflow_p36
  7. 将日志的位置传递到 tensorboard

    $ tensorboard --logdir=./logs --host=127.0.0.1 --port=8888

    TensorBoard 在端口 8888 上启动了可视化 Web 服务器。

  8. 为了方便从您的本地浏览器进行访问,您可以将 Web 服务器端口更改为端口 80 或其他端口。无论您使用哪个端口,都需要在 EC2 安全组中为您的 DLAMI 打开此端口。您还可以使用端口转发。有关更改安全组设置和端口转发的说明,请参阅设置 Jupyter Notebook 服务器。默认设置如下一步中所述。

    注意

    如果您需要同时运行 Jupyter 服务器和 MXBoard 服务器,请对每个服务器使用不同的端口。

  9. 在您的 EC2 实例上打开端口 8888 (或您分配给可视化 Web 服务器的端口)。

    1. https://console.amazonaws.cn/ec2/ 上的 Amazon EC2 控制台中打开您的 EC2 实例。

    2. 在 Amazon EC2 控制台中,选择 Network & Security (网络与安全),然后选择 Security Groups (安全组)

    3. 对于 Security Group (安全组),选择最近创建的一个安全组 (请参阅描述中的时间戳)。

    4. 选择 Inbound (入站) 选项卡,然后选择 Edit (编辑)。

    5. 选择 Add Rule

    6. 在新行中,键入以下内容:

      类型:自定义 TCP Rule

      协议TCP

      端口范围8888(或您分配给可视化服务器的端口)

      Anywhere (0.0.0.0/0,::/0)

  10. 如果您需要从本地浏览器可视化数据,请键入以下命令以将 EC2 实例上渲染的数据转发到本地计算机。

    $ ssh -Y -L localhost:8888:localhost:8888 user_id@ec2_instance_ip
  11. 使用运行 DLAMI with Conda 的 EC2 实例的公有 IP 或 DNS 地址以及您为 MXBoard 打开的端口打开用于 MXBoard 可视化的网页:

    http://127.0.0.1:8888

更多信息

要了解有关 MXBoard 的更多信息,请参阅 MXBoard 网站