paddlepaddle使用笔记2------VisulDL

1、参考教程

https://blog.youkuaiyun.com/qq_33200967/article/details/86532831

 

2、使用pip安装

使用pip安装非常简单,只要一条命令就够了,如下:

pip3 install --upgrade visualdl

在与paddlepaddle相同的虚拟环境下安装

测试一下是否安装成功了,运行一个例子下载日志文件:

# 在当前位置下载一个日志
vdl_create_scratch_log

然后再输入,启动VisualDL并加载这个日志信息:

visualdl --logdir=scratch_log/ --port=8080

然后在浏览器上输入:

http://127.0.0.1:8080

即可看到一个可视化的界面,如下:

 

3、查看自己训练的模型

从来自教程的代码:https://www.jiqizhixin.com/articles/2019-03-04

import paddle
import paddle.fluid as fluid
from visualdl import LogWriter


# 构建一个LeNet-5网络
def lenet_5(img, label):
    conv1 = fluid.nets.simple_img_conv_pool(
        input=img,
        filter_size=5,
        num_filters=20,
        pool_size=2,
        pool_stride=2,
        act="relu")
    conv1_bn = fluid.layers.batch_norm(input=conv1)
    conv2 = fluid.nets.simple_img_conv_pool(
        input=conv1_bn,
        filter_size=5,
        num_filters=50,
        pool_size=2,
        pool_stride=2,
        act="relu")
    predition = fluid.layers.fc(input=conv2, size=10, act="softmax", param_attr="fc_w")
    cost = fluid.layers.cross_entropy(input=predition, label=label)
    avg_cost = fluid.layers.mean(cost)
    acc = fluid.layers.accuracy(input=predition, label=label)
    return avg_cost, acc

img = fluid.layers.data(name="img", shape=[1, 28, 28], dtype="float32")
label = fluid.layers.data(name="label", shape=[1], dtype="int64")
avg_cost, acc = lenet_5(img, label)
train_reader = paddle.batch(paddle.dataset.mnist.train(), batch_size=64)
optimizer = fluid.optimizer.Adam(learning_rate=0.001)
optimizer.minimize(avg_cost)
place = fluid.CPUPlace()
feeder = fluid.DataFeeder(feed_list=[img, label], place=place)
exe = fluid.Executor(place)

log_writter = LogWriter("./vdl_log", sync_cycle=10)
with log_writter.mode("train") as logger:
    # 分别用两个scalar来记录loss和accuracy的趋势
    scalar_loss = logger.scalar(tag="loss")
    scalar_accuracy = logger.scalar(tag="accuracy")
    # 用histogram来记录fc层的参数分布变化趋势
    histogram = logger.histogram(tag="histogram", num_buckets=50)

exe.run(fluid.default_startup_program())
step = 0
epochs = 5
param_name = "fc_w"
for i in range(epochs):
    for batch in train_reader():
        cost, accuracy, param = exe.run(
            feed=feeder.feed(batch),
            fetch_list=[avg_cost.name, acc.name, param_name])
        step += 1
        # 将数据写入记录中
        scalar_loss.add_record(step, cost)
    scalar_accuracy.add_record(step, accuracy)
    histogram.add_record(step, param.flatten())
    print("epoch %d: step %d, acc is %.2f%% and loss is %.2f" % (i, step, accuracy * 100, cost))
    # 保存模型到model_save目录中,接着可以用visualdl --model_pb model_save来加载该模型
    fluid.io.save_inference_model(dirname="model_save", feeded_var_names=[img.name], target_vars=[avg_cost, acc],
                                  executor=exe)

运行代码,直到进程自然终止

然后在终端,进入虚拟环境,进入vdl_log所在的文件夹,运行代码

visualdl --logdir=vdl_log/ --port=8080

我的vdl_log文件夹在book/note10里面,所以在终端也要进入note10文件夹

否则需要在 --logdir的路径中输入绝对路径

在网页中可以看到本次训练的效果

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值