MXBoard
MXBoard 可让您使用 TensorBoard 软件目视检查和解释您的 MXNet 运行和图表。它运行了一个 Web 服务器,该服务器提供了一个用于查看 MXBoard 可视化并与之交互的网页。
MXNet、TensorBoard 和 MXBoard 随 采用 Conda 的 Deep Learning AMI (DLAMI with Conda) 一起预安装。在本教程中,您使用 MXBoard 功能生成与 TensorBoard 兼容的日志。
将 MXNet 与 MXBoard 结合使用
生成与 TensorBoard 兼容的 MXBoard 日志数据
-
连接到 DLAMI with Conda 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。
-
激活 Python 3 MXNet 环境。
$
source activate mxnet_p36 -
准备 Python 脚本以将一般运算符生成的数据写入事件文件中。数据生成 10 次,标准偏差减小,然后每次将写入到事件文件中。您将看到数据分布逐渐以平均值为中心。请注意,您将在日志文件夹中指定事件文件。您将此文件夹路径传递到 TensorBoard 二进制文件。
$
vi mxboard_normal.py -
将以下内容粘贴到文件中并保存它:
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)
-
运行脚本。这将在
logs
文件夹中生成可用于可视化的日志。$
python mxboard_normal.py -
现在,您必须切换到 TensorFlow 环境以使用 TensorBoard 和 MXBoard 可视化日志。这是 MXBoard 和 TensorBoard 所需的依赖项。
$
source activate tensorflow_p36 -
将日志的位置传递到
tensorboard
:$
tensorboard --logdir=./logs --host=127.0.0.1 --port=8888TensorBoard 在端口 8888 上启动了可视化 Web 服务器。
-
为了方便从您的本地浏览器进行访问,您可以将 Web 服务器端口更改为端口 80 或其他端口。无论您使用哪个端口,都需要在 EC2 安全组中为您的 DLAMI 打开此端口。您还可以使用端口转发。有关更改安全组设置和端口转发的说明,请参阅设置 Jupyter Notebook 服务器。默认设置如下一步中所述。
注意
如果您需要同时运行 Jupyter 服务器和 MXBoard 服务器,请对每个服务器使用不同的端口。
-
在您的 EC2 实例上打开端口 8888 (或您分配给可视化 Web 服务器的端口)。
-
在 https://console.amazonaws.cn/ec2/ 上的 Amazon EC2 控制台中打开您的 EC2 实例。
-
在 Amazon EC2 控制台中,选择 Network & Security (网络与安全),然后选择 Security Groups (安全组)。
-
对于 Security Group (安全组),选择最近创建的一个安全组 (请参阅描述中的时间戳)。
-
选择 Inbound (入站) 选项卡,然后选择 Edit (编辑)。
-
选择 Add Rule。
-
在新行中,键入以下内容:
类型:自定义
TCP Rule
协议:
TCP
端口范围:
8888
(或您分配给可视化服务器的端口)源:
Anywhere
(0.0.0.0/0,::/0
)
-
-
如果您需要从本地浏览器可视化数据,请键入以下命令以将 EC2 实例上渲染的数据转发到本地计算机。
$ ssh -Y -L localhost:8888:localhost:8888 user_id@ec2_instance_ip
-
使用运行 DLAMI with Conda 的 EC2 实例的公有 IP 或 DNS 地址以及您为 MXBoard 打开的端口打开用于 MXBoard 可视化的网页:
http://127.0.0.1:8888
更多信息
要了解有关 MXBoard 的更多信息,请参阅 MXBoard 网站。