精华内容
下载资源
问答
  • 可代码是用QT,基于QCHART开发的,CAFFE日志可视化分析工具,可以同时画出train loss、test loss、test accuracy
  • 一种用于可视化日志文件的程序员工具,以改进对应用程序的错误跟踪和监控。 它旨在提高日志消息的可见性和易于理解复杂事件。 想象: 长期以来,日志文件一直被用作对运行中的系统进行诊断和故障排除的工具。 然而...
  • 一、GC日志可视化分析工具 1. 概述 2. GCeasy 3. GCPlot 4. JClarity 5. GcViewer 二、JVM状态可视化(JVisualVM) 1. 概述 2. 运行 3. 安装插件 4. 远程监控 4.1 jstatd连接 4...

    目录

     

    一、GC日志可视化分析工具

        1. 概述

        2. GCeasy

        3. GCPlot

        4. JClarity

        5. GcViewer

    二、JVM状态可视化(JVisualVM)

        1. 概述

        2. 运行

        3. 安装插件

        4. 远程监控

            4.1 jstatd连接 

            4.2 JMX连接(以Tomcat为例)


    一、GC日志可视化分析工具

        1. 概述

                本文选取https://fasterj.com/tools/gcloganalysers.shtml 中按更新日期排序的GC日志分析工具的前四个,好处:目前都还有人维护;

                实验GC日志生成参数:-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/Desktop/gc.txt;

                JDK8;macOS;

                工具包含主要指标(Metrics):JVM Heap Size(Generation / Allocated space / before GC / after GC);Throughput;Pause(Minor GC / Full GC / count);Reclaimed Bytes;GC count;GC causes;Allocatied Objects Size;Promoted Object Size;created bytes;

                本地部署的工具比在线工具快;

        2. GCeasy

                部署 https://gceasy.io/index.jsp#features

                1. 将GC日志文件gc.txt压缩成zip;

                2. 访问https://gceasy.io/index.jsp#features,完全在线,上传zip;

                3. Analyze,多等一会,将会展示数据和图表;     

        3. GCPlot

                部署(同官网)https://gcplot.com/

                1. 安装docker;

                2. 在终端运行命令:docker run -d -p 80:80 gcplot/gcplot;

                3. 在浏览器访问地址:http://127.0.0.1;用户名和密码,均为admin;

                4. General --> Upload GC Log --> 选择文件 --> 点击Upload按钮;

                5. Analysis Groups --> Files --> 点击上传的GC日志gc.txt --> 将会JVM info,指标按tab页分类;

        4. JClarity

                部署(付费)https://www.jclarity.com/censum/

                1. 在官网选择试用,填写信息(邮箱),将会收到下载地址和uuid;

                2. 在下载页输入邮箱、uuid、操作系统,点击submit,将会收到包含licence key的邮件,浏览器将下载安装包;

                3. (macOS下载tgz)双击tgz文件,将解压后目录下的文件移动到应用程序目录下,在启动台点击icon运行;

                4. 首次运行输入licence key;

                5. 点击Analyse a GC Log;上传GC日志文件gc.txt;

                6. 将会展示分析结果和建议(ANALYTICS,如?图所示)、图表和数据(GRAPHS AND DATA);

    JClarity分析截图
    Clarity分析功能截图

        5. GcViewer

                部署 https://github.com/chewiebug/GCViewer

                1. 下载工程;

                2. 在Intellij idea中打开;运行com.tagtraum.perf.gcviewer.GCViewer类的main函数;

                3. 点击左上角打开GC日志文件gc.txt;(View菜单可调整折线图及图例,图表分辨率可调整,如下?图)

    View菜单
    View菜单调整折线图图例
    分辨率
    分辨率调整

     

    二、JVM状态可视化(JVisualVM)

        1. 概述

                建议与被监控程序运行在不同机器上(远程监控)。

                安装插件让JVisualVM完整。(常用:Virsul GC、MBeans)

        2. 运行

                在$JAVA_HOME/bin目录下,运行jvisualvm命令

                启动时多等一会,将会在左侧菜单栏看见本地Java应用

        3. 安装插件

                JVisualVM插件说明 https://visualvm.github.io/plugins.html           

                菜单栏 --> 工具(T) --> 插件(P) --> 可用插件 --> 全选,安装

                配置JConsole Plugins

                1. 下载https://github.com/TheLQ/GamersClub/tree/master/build/bcf736a518834fe7aa689d74d5ca1b/demo/management/JTop JTop.jar;

                2. 左侧菜单栏,本地 --> 双击VisualVM,进入VisualVM监控页--> 在右侧监控页,选择"JConsole Plugins" tab页,看见no jconsole plugin installed提示,点击configure plugins按钮,将JTop.jar添加进来,应用并重启JVisualVM;

        4. 远程监控

                远程机器操作系统:Linux

            4.1 jstatd连接 

                1. 在/etc/hosts文件末尾增加一行:

    该机器ip(可通过ifconfig命令获得)  hostname(可通过hostname命令获得)

     

               2. 在远程机器$JAVA_HOME/bin目录下,新建jstatd.all.policy文件,内容如下:

    grant codebase "file:${java.home}/../lib/tools.jar" {
    
     permission java.security.AllPermission;
    
    };

                3. 在远程机器$JAVA_HOME/bin目录下,执行命令:jstatd -J-Djava.security.policy=jstatd.all.policy &,将后台运行,执行成功情况下不输出任何信息;

                4. 测试是否能远程监控Java程序,在本机执行命令:jps 远程机器ip,将输出远程机器上的Java进程

                5. JVisualVM左侧菜单栏,远程,右键 --> 添加远程主机 --> 输入远程主机IP --> 左侧菜单栏,远程主机IP上右键 --> 添加jstatd连接,默认端口1099;若成功,左侧菜单栏远程主机IP下,将看到jstatd进程及其它运行在远程主机上的Java进程,以及它们的pid;

            4.2 JMX连接(以Tomcat为例)

                1.  编辑Tomcat的bin目录下的catalina.sh,在首部注释块之后添加:(jmxremote.port端口号可修改为任一未被占用的端口号)

    JAVA_OPTS="-Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

                 2. 重启Tomcat;(配置了JMX连接的Tomcat,shutdown关闭时会报错误,无法关闭,Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 9999;  此时kill -9 杀死占用9999端口的进程即可,即关闭Tomcat进程;)

                3. JVisualVM左侧菜单栏 --> 远程主机IP上右键 --> 添加JMX连接 --> IP后添加jmxremote.port指定的端口号,勾选不要求SSL连接;若成功,左侧菜单栏远程主机IP下,将看到带JMX logo的进程;

                使用安全凭证,可参考:https://www.cnblogs.com/sunshine-2015/p/5547128.html

     

    展开全文
  • Tensorflow官方推出了可视化工具Tensorboard,可以帮助我们实现以上功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后在指定的web端可视化地展现这些信息。1.1Tensorboard的数据...
  • 日志分析可视化工具(lek)

    千次阅读 2013-12-30 13:53:02
    用这个配置文件启动logstash agent ava -jar logstash-1.2.2-flatjar.jar agent -f simple.conf & 5.2 启动elasticsearch: /etc/init.d/elasticsearch start 5.3 启动kibana service httpd start ...
    logstash + elasticsearch + kibana
    legend: logstash --》 redis --》 ElasticSearch
    logstash包括两种工作方式:
    standalone : logstash on a single
    logstash ---> elasticsearch ---> kibana
    centralized: logstash with multiple servers
                    |      client  |                                                 server                                                                   |                        
    |________|_______________________________________________________________|
    |logstash   |   |    redis  |          |   logstash      |          | elasticsearch     |         | kibana            |
    |________|____|_______|_____|___________|_____|______________|____|____________|
    |   shipper | --->  |             |          |                       |         |   |    |      |
    |     ... | --->  |   broker| --->   | indexer          | --->   |storage & search|--->   |web interface   |
    |   shipper | --->  |              |         |            |       |   |     |              |
    |________|___  |_______|_____|___________|_____|______________|_____|___________|
    此次测试采用standalone方式安装,
    LEK安装:
    测试机:192.168.70.31
    需要java环境(java -version)
    install JDK:
    wget http://down1.chinaunix.net/distfiles/jdk-6u13-dlj-linux-i586.bin 
    sh jdk-6u13-dlj-linux-i586.bin
    配置环境变量:
    vim /etc/profile
    export JAVA_HOME=/usr/java 
    export PATH=$JAVA_HOME/bin:$PATH 
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
    安装路径定义:
    DIR = /root/lek/
    1、安装elasticsearch
    mkdir $DIR/elasticsearch
    方式1:
    cd elasticsearch
    wget http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.5.zip
    unzip elasticsearch-0.90.5.zip
    elasticsearch解压即可使用,启动方式:
    cd elasticsearch-0.90.5
    bin/elasticsearch -f
    访问测试:
    curl -X GET http://192.168.70.31:9200
    方式2:(个人感觉这种方式方便一些)
    rpm包的方式,rpm -ivh elasticsearch-0.90.9.noarch.rpm
    /etc/init.d/elasticsearch start
    3、安装logstash
    mkdir $DIR/logstash
    cd logstash
    wget http://download.elasticsearch.org/logstash/logstash/logstash-1.2.1-flatjar.jar
    logstash 下载即可使用,命令行参数可参考http://logstash.net/docs/1.2.1/flags
    4、安装kibana
    mkdir $DIR/kibana
    cd kibana
    wget http://download.elasticsearch.org/kibana/kibana/kibana-latest.zip
    unzip kibana-latest.zip | mv kibana-latest kibana
    cp -r  kibana /var/www/html
    访问地址:
    http://192.168.70.31/kibana-latest/index.html
    修改配置文件:
    vim /var/www/html/kibana-latest/config.js
    elasticsearch: "http://192.168.70.31:9200"  
    增加中国地图:
    将map.cn.js文件放在/var/www/html/kibana-latest/app/panels/map/lib/下
    修改/var/www/html/kibana-latest/app/panels/map/editor.html
    将['world','europe','usa']修改成['world','europe','usa','cn']即可
    5、lek启动
    5.1 创建logstash配置文件
    cd logstash
    vim simple.conf
    input {
     file {
       type => "syslog"
       path => "/var/log/httpd/access_log"
     }
    }
    output {
     elasticsearch { 
     #embedded => true 
     host => "elasticsearch ip"
     }  
    }
    用这个配置文件启动logstash agent

    ava -jar logstash-1.2.2-flatjar.jar agent -f simple.conf &

    5.2 启动elasticsearch:

    /etc/init.d/elasticsearch start

    5.3 启动kibana

    service httpd start

    启动完成后就可以看到kibana页面了:

    http://192.168.70.37/kibana/index.html

      

    展开全文
  • zookeeper的日志文件和快照的可视化

    千次阅读 2017-09-26 18:59:07
    在zookeeper的配置文件zoo.cfg文件中,dataDir对应的是快照日志文件保存路径,dataLogDir对应的是事务日志文件,当我们直接查看日志文件时,看到是二进制文件,我们无法直接解读,内容如下: 那么我们该如何查看正确...

    这里写图片描述

    在zookeeper的配置文件zoo.cfg文件中,dataDir对应的是快照日志文件保存路径,dataLogDir对应的是事务日志文件,当我们直接查看日志文件时,看到是二进制文件,我们无法直接解读,内容如下:
    这里写图片描述

    那么我们该如何查看正确的日志内容呢?

    1. 查看事务日志内容:zookeeper提供了LogFormatter工具进行转换
    java -classpath .:lib/slf4j-api-1.6.1.jar:zookeeper-3.4.9.jar \
    org.apache.zookeeper.server.LogFormatter dataLog/version-2/log.1 

    这里写图片描述

    2、查看快照日志文件内容: zookeeper提供了SnapshotFormatter工具转换

    java -classpath .:lib/slf4j-api-1.6.1.jar:zookeeper-3.4.9.jar \
    org.apache.zookeeper.server.SnapshotFormatter data/version-2/snapshot.7e
    展开全文
  • Detectron训练日志可视化

    千次阅读 热门讨论 2018-06-11 22:44:38
    Detectron框架的训练日志如下。一般还有其它信息,但是出于隐私的考虑删掉了。 json_stats: {"accuracy_cls": 0.000000, "eta": "29 days, 16:00:50", &...

    Detectron框架的训练日志如下(一般还含有其它信息,但是出于隐私方面的考虑删去)

    json_stats: {"accuracy_cls": 0.000000, "eta": "29 days, 16:00:50", "iter": 0, "loss": 6.594362, "loss_bbox": 0.024408, "loss_cls": 5.633613, "loss_rpn_bbox_fpn2": 0.094387, "loss_rpn_bbox_fpn3": 0.054846, "loss_rpn_bbox_fpn4": 0.023384, "loss_rpn_bbox_fpn5": 0.041790, "loss_rpn_bbox_fpn6": 0.010158, "loss_rpn_cls_fpn2": 0.497471, "loss_rpn_cls_fpn3": 0.138108, "loss_rpn_cls_fpn4": 0.041028, "loss_rpn_cls_fpn5": 0.025832, "loss_rpn_cls_fpn6": 0.009337, "lr": 0.003333, "mb_qsize": 64, "mem": 9376, "time": 14.240279}
    json_stats: {"accuracy_cls": 0.953979, "eta": "3 days, 20:23:34", "iter": 20, "loss": 1.091401, "loss_bbox": 0.094622, "loss_cls": 0.490638, "loss_rpn_bbox_fpn2": 0.050163, "loss_rpn_bbox_fpn3": 0.021536, "loss_rpn_bbox_fpn4": 0.018526, "loss_rpn_bbox_fpn5": 0.007447, "loss_rpn_bbox_fpn6": 0.019559, "loss_rpn_cls_fpn2": 0.223254, "loss_rpn_cls_fpn3": 0.089653, "loss_rpn_cls_fpn4": 0.044842, "loss_rpn_cls_fpn5": 0.013908, "loss_rpn_cls_fpn6": 0.018942, "lr": 0.003600, "mb_qsize": 64, "mem": 10136, "time": 1.848062}
    json_stats: {"accuracy_cls": 0.949097, "eta": "1 day, 21:43:08", "iter": 40, "loss": 0.877637, "loss_bbox": 0.095891, "loss_cls": 0.387184, "loss_rpn_bbox_fpn2": 0.070995, "loss_rpn_bbox_fpn3": 0.014666, "loss_rpn_bbox_fpn4": 0.011028, "loss_rpn_bbox_fpn5": 0.009867, "loss_rpn_bbox_fpn6": 0.010003, "loss_rpn_cls_fpn2": 0.115113, "loss_rpn_cls_fpn3": 0.058147, "loss_rpn_cls_fpn4": 0.034393, "loss_rpn_cls_fpn5": 0.011855, "loss_rpn_cls_fpn6": 0.007660, "lr": 0.003867, "mb_qsize": 64, "mem": 10140, "time": 0.914581}
    json_stats: {"accuracy_cls": 0.951416, "eta": "1 day, 20:44:22", "iter": 60, "loss": 0.745121, "loss_bbox": 0.101246, "loss_cls": 0.374634, "loss_rpn_bbox_fpn2": 0.035099, "loss_rpn_bbox_fpn3": 0.018243, "loss_rpn_bbox_fpn4": 0.010567, "loss_rpn_bbox_fpn5": 0.009695, "loss_rpn_bbox_fpn6": 0.015504, "loss_rpn_cls_fpn2": 0.061784, "loss_rpn_cls_fpn3": 0.047311, "loss_rpn_cls_fpn4": 0.031080, "loss_rpn_cls_fpn5": 0.012028, "loss_rpn_cls_fpn6": 0.003118, "lr": 0.004133, "mb_qsize": 64, "mem": 10145, "time": 0.895089}
    json_stats: {"accuracy_cls": 0.945312, "eta": "1 day, 19:56:00", "iter": 80, "loss": 0.801967, "loss_bbox": 0.124918, "loss_cls": 0.390439, "loss_rpn_bbox_fpn2": 0.029391, "loss_rpn_bbox_fpn3": 0.013622, "loss_rpn_bbox_fpn4": 0.010590, "loss_rpn_bbox_fpn5": 0.008154, "loss_rpn_bbox_fpn6": 0.010013, "loss_rpn_cls_fpn2": 0.071442, "loss_rpn_cls_fpn3": 0.039746, "loss_rpn_cls_fpn4": 0.029353, "loss_rpn_cls_fpn5": 0.012935, "loss_rpn_cls_fpn6": 0.002855, "lr": 0.004400, "mb_qsize": 64, "mem": 10148, "time": 0.879061}
    json_stats: {"accuracy_cls": 0.938436, "eta": "1 day, 19:38:56", "iter": 100, "loss": 0.852091, "loss_bbox": 0.130605, "loss_cls": 0.421313, "loss_rpn_bbox_fpn2": 0.030303, "loss_rpn_bbox_fpn3": 0.015375, "loss_rpn_bbox_fpn4": 0.016021, "loss_rpn_bbox_fpn5": 0.006687, "loss_rpn_bbox_fpn6": 0.013717, "loss_rpn_cls_fpn2": 0.086395, "loss_rpn_cls_fpn3": 0.052884, "loss_rpn_cls_fpn4": 0.026198, "loss_rpn_cls_fpn5": 0.012458, "loss_rpn_cls_fpn6": 0.004256, "lr": 0.004667, "mb_qsize": 64, "mem": 10148, "time": 0.873466}
    json_stats: {"accuracy_cls": 0.935838, "eta": "1 day, 19:30:04", "iter": 120, "loss": 0.805401, "loss_bbox": 0.136671, "loss_cls": 0.421075, "loss_rpn_bbox_fpn2": 0.035047, "loss_rpn_bbox_fpn3": 0.010261, "loss_rpn_bbox_fpn4": 0.011568, "loss_rpn_bbox_fpn5": 0.009536, "loss_rpn_bbox_fpn6": 0.008578, "loss_rpn_cls_fpn2": 0.065820, "loss_rpn_cls_fpn3": 0.030599, "loss_rpn_cls_fpn4": 0.022531, "loss_rpn_cls_fpn5": 0.011994, "loss_rpn_cls_fpn6": 0.003227, "lr": 0.004933, "mb_qsize": 64, "mem": 10148, "time": 0.870607}
    json_stats: {"accuracy_cls": 0.933575, "eta": "1 day, 19:18:09", "iter": 140, "loss": 0.797393, "loss_bbox": 0.145647, "loss_cls": 0.421425, "loss_rpn_bbox_fpn2": 0.028673, "loss_rpn_bbox_fpn3": 0.010867, "loss_rpn_bbox_fpn4": 0.008765, "loss_rpn_bbox_fpn5": 0.007707, "loss_rpn_bbox_fpn6": 0.012843, "loss_rpn_cls_fpn2": 0.058527, "loss_rpn_cls_fpn3": 0.029445, "loss_rpn_cls_fpn4": 0.020039, "loss_rpn_cls_fpn5": 0.010104, "loss_rpn_cls_fpn6": 0.003275, "lr": 0.005200, "mb_qsize": 64, "mem": 10149, "time": 0.866728}
    json_stats: {"accuracy_cls": 0.921060, "eta": "1 day, 19:02:14", "iter": 160, "loss": 0.852583, "loss_bbox": 0.162178, "loss_cls": 0.454664, "loss_rpn_bbox_fpn2": 0.031978, "loss_rpn_bbox_fpn3": 0.011842, "loss_rpn_bbox_fpn4": 0.009797, "loss_rpn_bbox_fpn5": 0.010263, "loss_rpn_bbox_fpn6": 0.011376, "loss_rpn_cls_fpn2": 0.063614, "loss_rpn_cls_fpn3": 0.037496, "loss_rpn_cls_fpn4": 0.026917, "loss_rpn_cls_fpn5": 0.011700, "loss_rpn_cls_fpn6": 0.003257, "lr": 0.005467, "mb_qsize": 64, "mem": 10149, "time": 0.861511}
    json_stats: {"accuracy_cls": 0.921783, "eta": "1 day, 18:51:04", "iter": 180, "loss": 0.945993, "loss_bbox": 0.180890, "loss_cls": 0.512756, "loss_rpn_bbox_fpn2": 0.034612, "loss_rpn_bbox_fpn3": 0.014450, "loss_rpn_bbox_fpn4": 0.011294, "loss_rpn_bbox_fpn5": 0.008607, "loss_rpn_bbox_fpn6": 0.008530, "loss_rpn_cls_fpn2": 0.069237, "loss_rpn_cls_fpn3": 0.035557, "loss_rpn_cls_fpn4": 0.019328, "loss_rpn_cls_fpn5": 0.010626, "loss_rpn_cls_fpn6": 0.002266, "lr": 0.005733, "mb_qsize": 64, "mem": 10149, "time": 0.857880}
    json_stats: {"accuracy_cls": 0.903529, "eta": "1 day, 18:38:57", "iter": 200, "loss": 0.994964, "loss_bbox": 0.214039, "loss_cls": 0.536701, "loss_rpn_bbox_fpn2": 0.023562, "loss_rpn_bbox_fpn3": 0.013030, "loss_rpn_bbox_fpn4": 0.012633, "loss_rpn_bbox_fpn5": 0.014375, "loss_rpn_bbox_fpn6": 0.011610, "loss_rpn_cls_fpn2": 0.054858, "loss_rpn_cls_fpn3": 0.040812, "loss_rpn_cls_fpn4": 0.022550, "loss_rpn_cls_fpn5": 0.008525, "loss_rpn_cls_fpn6": 0.002074, "lr": 0.006000, "mb_qsize": 64, "mem": 10149, "time": 0.853933}
    json_stats: {"accuracy_cls": 0.895940, "eta": "1 day, 18:30:52", "iter": 220, "loss": 1.151429, "loss_bbox": 0.235513, "loss_cls": 0.611490, "loss_rpn_bbox_fpn2": 0.050025, "loss_rpn_bbox_fpn3": 0.012086, "loss_rpn_bbox_fpn4": 0.013214, "loss_rpn_bbox_fpn5": 0.009534, "loss_rpn_bbox_fpn6": 0.007997, "loss_rpn_cls_fpn2": 0.058478, "loss_rpn_cls_fpn3": 0.027707, "loss_rpn_cls_fpn4": 0.019668, "loss_rpn_cls_fpn5": 0.008558, "loss_rpn_cls_fpn6": 0.001807, "lr": 0.006267, "mb_qsize": 64, "mem": 10149, "time": 0.851334}
    json_stats: {"accuracy_cls": 0.902832, "eta": "1 day, 18:27:17", "iter": 240, "loss": 1.049950, "loss_bbox": 0.207919, "loss_cls": 0.635510, "loss_rpn_bbox_fpn2": 0.029180, "loss_rpn_bbox_fpn3": 0.012820, "loss_rpn_bbox_fpn4": 0.013130, "loss_rpn_bbox_fpn5": 0.007720, "loss_rpn_bbox_fpn6": 0.007256, "loss_rpn_cls_fpn2": 0.059993, "loss_rpn_cls_fpn3": 0.031574, "loss_rpn_cls_fpn4": 0.025615, "loss_rpn_cls_fpn5": 0.008021, "loss_rpn_cls_fpn6": 0.001899, "lr": 0.006533, "mb_qsize": 64, "mem": 10149, "time": 0.850229}
    json_stats: {"accuracy_cls": 0.902193, "eta": "1 day, 18:26:37", "iter": 260, "loss": 0.982858, "loss_bbox": 0.213457, "loss_cls": 0.583732, "loss_rpn_bbox_fpn2": 0.041903, "loss_rpn_bbox_fpn3": 0.010444, "loss_rpn_bbox_fpn4": 0.014965, "loss_rpn_bbox_fpn5": 0.011974, "loss_rpn_bbox_fpn6": 0.009276, "loss_rpn_cls_fpn2": 0.058820, "loss_rpn_cls_fpn3": 0.025879, "loss_rpn_cls_fpn4": 0.020322, "loss_rpn_cls_fpn5": 0.009166, "loss_rpn_cls_fpn6": 0.002166, "lr": 0.006800, "mb_qsize": 64, "mem": 10149, "time": 0.850103}
    json_stats: {"accuracy_cls": 0.915435, "eta": "1 day, 18:25:14", "iter": 280, "loss": 0.978791, "loss_bbox": 0.180303, "loss_cls": 0.477744, "loss_rpn_bbox_fpn2": 0.046597, "loss_rpn_bbox_fpn3": 0.009179, "loss_rpn_bbox_fpn4": 0.011615, "loss_rpn_bbox_fpn5": 0.010282, "loss_rpn_bbox_fpn6": 0.012041, "loss_rpn_cls_fpn2": 0.064443, "loss_rpn_cls_fpn3": 0.037864, "loss_rpn_cls_fpn4": 0.020618, "loss_rpn_cls_fpn5": 0.010627, "loss_rpn_cls_fpn6": 0.002763, "lr": 0.007067, "mb_qsize": 64, "mem": 10149, "time": 0.849738}
    json_stats: {"accuracy_cls": 0.922067, "eta": "1 day, 18:29:11", "iter": 300, "loss": 0.829082, "loss_bbox": 0.169718, "loss_cls": 0.467146, "loss_rpn_bbox_fpn2": 0.013072, "loss_rpn_bbox_fpn3": 0.008168, "loss_rpn_bbox_fpn4": 0.011719, "loss_rpn_bbox_fpn5": 0.009481, "loss_rpn_bbox_fpn6": 0.014123, "loss_rpn_cls_fpn2": 0.037682, "loss_rpn_cls_fpn3": 0.027673, "loss_rpn_cls_fpn4": 0.016552, "loss_rpn_cls_fpn5": 0.010431, "loss_rpn_cls_fpn6": 0.003071, "lr": 0.007333, "mb_qsize": 64, "mem": 10149, "time": 0.851147}
    json_stats: {"accuracy_cls": 0.899153, "eta": "1 day, 18:25:40", "iter": 320, "loss": 1.009500, "loss_bbox": 0.206610, "loss_cls": 0.548972, "loss_rpn_bbox_fpn2": 0.031082, "loss_rpn_bbox_fpn3": 0.014388, "loss_rpn_bbox_fpn4": 0.015104, "loss_rpn_bbox_fpn5": 0.009974, "loss_rpn_bbox_fpn6": 0.015146, "loss_rpn_cls_fpn2": 0.054975, "loss_rpn_cls_fpn3": 0.029925, "loss_rpn_cls_fpn4": 0.020506, "loss_rpn_cls_fpn5": 0.008476, "loss_rpn_cls_fpn6": 0.003429, "lr": 0.007600, "mb_qsize": 64, "mem": 10149, "time": 0.850070}
    json_stats: {"accuracy_cls": 0.913325, "eta": "1 day, 18:21:39", "iter": 340, "loss": 0.925371, "loss_bbox": 0.193941, "loss_cls": 0.527709, "loss_rpn_bbox_fpn2": 0.028242, "loss_rpn_bbox_fpn3": 0.012744, "loss_rpn_bbox_fpn4": 0.015579, "loss_rpn_bbox_fpn5": 0.011000, "loss_rpn_bbox_fpn6": 0.013291, "loss_rpn_cls_fpn2": 0.050656, "loss_rpn_cls_fpn3": 0.024538, "loss_rpn_cls_fpn4": 0.019409, "loss_rpn_cls_fpn5": 0.008190, "loss_rpn_cls_fpn6": 0.002918, "lr": 0.007867, "mb_qsize": 64, "mem": 10149, "time": 0.848824}

    以下脚本使用matlibplot根据日志进行可视化,并保存为图片.脚本在日志文件含有其他信息的时候能够正常工作.

    import json
    import re
    from pylab import *
    fig = figure(figsize=(8,6), dpi=300)
    y1 = fig.add_subplot(111)
    y1.set_xlabel('Iterations')
    y2 = y1.twinx()
    y1.set_ylim(0,1.0)
    with open('./日志名.txt') as f:
        whole = f.read()
        pattern = re.compile(r'json_stats: (\{.*\})')
        lis = pattern.findall(whole)
        try:
            parsed = [json.loads(j) for j in lis]
            print(parsed[0])
        except:
            print("json format is not corrrect")
            exit(1)
    
        _iter = [ j['iter'] for j in parsed]
        _loss = [ j['loss'] for j in parsed]
        _loss_bbox = [ j['loss_bbox'] for j in parsed]
        _loss_cls = [ j['loss_cls'] for j in parsed]
        _accuracy_cls = [ j['accuracy_cls'] for j in parsed]
        _lr = [ j['lr'] for j in parsed]
        try:
            _mask_loss = [ j['mask_loss'] for j in parsed]
        except:
            _mask_loss = None
    
        y1.plot(_iter, _loss_bbox, color="green", linewidth=1.0,linestyle="-",label='loss_bbox')
        y1.plot(_iter, _loss, color="blue", linewidth=1.0, linestyle="-",label='loss')
        y1.plot(_iter, _loss_cls, color="black", linewidth=1.0, linestyle="-",label='loss_cls')
        y1.plot(_iter, _accuracy_cls, color="red", linewidth=1.0, linestyle="-",label='accuracy_cls')
        if _mask_loss is not None:
            y1.plot(_iter, _mask_loss, color="grey", linewidth=1.0, linestyle="-",label='mask_loss')
    
        y2.set_ylim(0,max(_lr)/0.8)
        y2.plot(_iter, _lr, color="purple", linewidth=1.0, linestyle="-",label='lr')
        y2.set_ylabel('lr')
    
        #可以选择开启网格
        #grid()
        #图例
        y1.legend()
        savefig('./fig.png')
        show()

    效果如下:
    可视化结果

    如何将训练日志保存成文件

    Detectron在训练网络的时候,会在终端中输出训练日志,但是训练日志不会自动保存成文件.
    只需要将输出到终端的日志,以管道的方式送至tee命令即可.
    下面的命令将终端的输出存成名为log.txt,文件名和后缀名其实不重要.

    python2 tools/train_net.py \
        --cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml \
        OUTPUT_DIR /tmp/detectron-output | tee log.txt
    

    使用tee方式比起重定向至文件的方式来说更加方便:因为它同时保留了终端中的输出.

    展开全文
  • ELK日志可视化

    千次阅读 2019-11-17 19:43:28
    ELK集中式日志 ELK可以管理上百台服务器的日志信息。 Elasticsearch是一个开源的...Logstash是一个开源的用来收集、解析和过滤日志工具。支持几乎任何类型的日志,包括系统日志、业务日志和安全日志。它可以从...
  • docker可视化工具

    千次阅读 2018-11-30 10:35:22
    docker图形页面管理工具基本上是3个工具,docker UI,shipyard,portainer。对比后,shipyard最强大,其次是portainer,最后是doucker UI  docker针对于系统工程师或者开发人员来说操作比较简单。一般我们习惯了对...
  • mtools是帮助程序脚本的集合,用于解析,过滤和可视化MongoDB日志文件( mongod , mongos )。 mtools还包括mlaunch (用于在本地计算机上快速设置复杂的MongoDB测试环境的实用程序),以及mtransfer (用于在...
  • 一种快速轻松地运行、测试和可视化 kafka 的方法 先决条件 快速开始 启动zookeeper和kafka $ go install github.com/trotha01/kafka-viz $ kafka-viz 打开浏览器到 localhost:8090 配置 Kafka-Viz 可以从环境中...
  • Keras可视化工具

    千次阅读 2018-03-27 12:34:49
    TensorBoard是TensorFlow提供的可视化工具,该回调函数将日志信息写入TensorBorad,使得你可以动态的观察训练和测试指标的图像以及不同层的激活值直方图。 keras.callbacks.TensorBoard(log_dir='./logs', ...
  • Robo 3T管理工具 Robo 3T前身是Robomongo。支持Windows,MacOS和Linux系统。Robo 3T 1.3为您提供了对MongoDB 4.0和SCRAM-SHA-256(升级的mongo shell)的支持,支持从MongoDB SRV连接字符串导入,以及许多其他修复和...
  • 工具加载系统中各个实体生成的日志,并可视化事件和交互的序列图图表。 该图是完全交互式的:可以从图中添加/删除实体并对其进行随机排序; 可以对事件进行过滤,搜索,突出显示和注释。 MSCViewer具有与Python...
  • 用于可视化 openstreetmap.org 磁贴日志工具集 用于可视化来自 openstreetmap.org 服务器的 tile 请求日志的脚本 基于文章 描述 日志发布在 。 每一天都由一个单独的压缩文本文件表示 0/0/0 588590 1/0/0 ...
  •  MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为web 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富...
  • 下载地址: ...提取码:j1b0  ...file:我们只能选择file下面的 open directory,因为这个软件的目的主要是文件夹的可视化 view下面有很多可以生成的图形,翻译过来帮大家理解   eg:我选择的是这次学...
  • MongoDB的可视化工具

    千次阅读 2019-01-17 09:07:00
    MongoDB的可视化工具 MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,官方下载地址是:MongoDB,我选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在Windows Server 2012环境中。 MongoDB...
  • Redis可视化工具Redis Desktop Manager使用

    千次阅读 2018-06-28 14:28:06
    Redis可视化工具Redis Desktop Manager下载地址:官网下载:https://redisdesktop.com/downloadgithub地址:https://github.com/uglide/RedisDesktopManager/releases下面我们使用它看看效果。首先配置redis连接,...
  • Django日志可视化大作战

    千次阅读 2017-05-07 16:11:08
    简介:日常的各种应用都有很多的日志文件,某些特殊的应用需要分析日志,对于较小的应用我门可以采用自己编写脚本工具来完成分析,那么对于大型应用的日志数据,我们就需要借用开源软件帮助我们完成。我将会分两部分...
  • 使用Python做数据可视化项目的笔记记录(二),原创。
  • 这是一个用于使用来自Elasticsearch的日志进行渠道可视化的分析工具。 尽管我们拥有可以很好地显示日志,但无法通过上下文分析系列日志来实现我们的目标。 先决条件 为了运行elastic_funnel,必须准备一些工作。 ...
  • 用tensorboard可视化log日志

    千次阅读 2020-02-15 17:03:22
    最近在学习处理三维点云的神经网络模型PointNet,在数据训练完成后,要对日志进行图表可视化,因此用到了tensorflow自带的具有强大功能的可视化工具tensorboard。为避免遗忘,特此记录一下tensorboard的简单使用方法...
  • 首先说明一下Tensorboard是个神马东西,官方给出的声明:TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、...
  • Logstash是一个开源数据搜集引擎,支持实时数据管道功能。Logstash可以动态整合分散的数据源,根据你的选择对数据标准化。根据不同的高级下游分析和可视化用例对数据进行梳理。
  • 将您的服务器日志/网络跟踪文件转换为 NetVis 格式并快速可视化它们。 该工具的通用特性意味着支持在任何现有协议中可视化通信,包括 IP、TCP、HTTP、TSL、BitCoin 或 IPFS,以及用于开发新网络协议的完美工具。 ...
  • git可视化工具小乌龟安装&使用

    千次阅读 2020-09-20 16:31:19
    目录 1 下载 2 安装 3 setting 1 下载 https://download.tortoisegit.org/tgit/ 2.7.0.0:...(1)双击下图中标记的文件 (2) 一路“next” ,直到finish 3 setting ...
  • #第十六天 - Sqoop工具使用 - Hadoop、Hive、Sqoop常见问题 - 数据可视化工具ECharts 文章目录一、Sqoop从MySql导数据到Hive过程执行Sqoop命令Sqoop简介使用方法实例(官方案例)运行效果 一、Sqoop从MySql导数据到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,300
精华内容 20,120
关键字:

日志文件可视化工具简单的