欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TensorBoard可视化

程序员文章站 2022-04-26 09:39:39
...

tensorboard可以实现在web端显示监听的数据变化。
以mnist手写字识别为例。

下载安装tensorboard

1.直接在pycharm中下载
TensorBoard可视化
2.cmd直接pip
TensorBoard可视化

监听目录

先到程序的根目录,然后tensorboard --logdir logs,找到网址复制到网页打开,若失败则将网址冒号前改成localhost
TensorBoard可视化
TensorBoard可视化

在cpu端建立日志summary

current_time = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
log_dir = 'logs/' + current_time
summary_writer = tf.summary.create_file_writer(log_dir) #创建writer,可以喂数据

喂数据给summary

    if step % 100 == 0:#每隔一段时间给train-loss喂数据

        print(step, 'loss:', float(loss))
        with summary_writer.as_default(): 
            tf.summary.scalar('train-loss', float(loss), step=step) #喂scalar数据给loss,x轴step

    # evaluate
    if step % 500 == 0:#每隔一段时间给test-acc喂数据
        total, total_correct = 0., 0

        for _, (x, y) in enumerate(ds_val):  
            # [b, 28, 28] => [b, 784]
            x = tf.reshape(x, (-1, 28*28))
            # [b, 784] => [b, 10]
            out = network(x) 
            # [b, 10] => [b] 
            pred = tf.argmax(out, axis=1) 
            pred = tf.cast(pred, dtype=tf.int32)
            # bool type 
            correct = tf.equal(pred, y)
            # bool tensor => int tensor => numpy
            total_correct += tf.reduce_sum(tf.cast(correct, dtype=tf.int32)).numpy()
            total += x.shape[0]

        print(step, 'Evaluate Acc:', total_correct/total)

        
        # print(x.shape) 
        val_images = x[:25]
        val_images = tf.reshape(val_images, [-1, 28, 28, 1])
        with summary_writer.as_default():
            tf.summary.scalar('test-acc', float(total_correct/total), step=step)#喂数据
            tf.summary.image("val-onebyone-images:", val_images, max_outputs=25, step=step)#喂图片,方式很零散
            
            val_images = tf.reshape(val_images, [-1, 28, 28])
            figure  = image_grid(val_images)
            tf.summary.image('val-images:', plot_to_image(figure), step=step)#人为拼接图片,多张图片以一张传,优先考虑

查看

TensorBoard可视化
最上面的图是喂的单张图片,下面是人为组合过后的图片。
TensorBoard可视化

相关标签: 研发管理