微软开源项目NeuronBlocks - 可视化

项目地址:https://github.com/Microsoft/NeuronBlocks

在下载位置的model_visualizer 文件夹下面有相关的可视化的介绍

1、相关包的安装

首先进行相关包的安装:

pip install graphviz
pip install web.py==0.40.dev0

安装成功的界面如下所示:

2、代码的运行

进入到指定的位置:\NeuronBlocks\model_visualizer\server>

运行main.py程序代码,运行代码的命令如下所示:

python main.py 8080

运行的结果如下所示:

在windows下的浏览器输入http://localhost:8080

若是linux系统,则输入http://<your_machine_ip>:8080

本人是在windows下进行的,结果如下所示:

在上述的输入框中输入相对应的JSON内容就可以了,我使用的是下面的JSON:

{
  "license": "Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.",
  "tool_version": "1.1.0",
  "model_description": "This model is used for query query pairs task. It achieved acc:0.8324 on dev set",
  "inputs": {
    "use_cache": true,
    "dataset_type": "classification",
    "data_paths": {
      "train_data_path": "./dataset/QQP/train.tsv",
      "valid_data_path": "./dataset/QQP/dev.tsv",
      "test_data_path": "./dataset/QQP/dev.tsv",
      "pre_trained_emb": "./dataset/GloVe/glove.840B.300d.txt"
    },
    "file_with_col_header": true,
    "add_start_end_for_seq": true,
    "file_header": {
      "id": 0,
      "qid1": 1,
      "qid2": 2,
      "question1_text": 3,
      "question2_text": 4,
      "label":   5
    },
    "model_inputs": {
      "question1": ["question1_text"],
      "question2": ["question2_text"]
    },
    "target": ["label"]
  },
  "outputs":{
    "save_base_dir": "./models/question_pairs_bigru/",
    "model_name": "model.nb",
    "train_log_name": "train.log",
    "test_log_name": "test.log",
    "predict_log_name": "predict.log",
    "predict_fields": ["prediction", "confidence"],
    "predict_output_name": "predict.tsv",
    "cache_dir": ".cache.QQP/"
  },
  "training_params": {
    "vocabulary": {
      "min_word_frequency": 1
    },
    "optimizer": {
      "name": "SGD",
      "params": {
        "lr": 0.15,
        "momentum": 0.9,
        "nesterov": true
      }
    },
    "lr_decay": 0.95,
    "minimum_lr": 0.005,
    "epoch_start_lr_decay": 1,
    "use_gpu": true,
    "batch_size": 32,
    "batch_num_to_show_results": 300,
    "max_epoch": 30,
    "valid_times_per_epoch": 5
  },
  "architecture":[
    {
        "layer": "Embedding",
        "conf": {
          "word": {
            "cols": ["question1_text", "question2_text"],
            "dim": 300
          }
        }
    },
    {
        "layer_id": "question_1",
        "layer": "BiGRU",
        "conf": {
          "hidden_dim": 128,
          "dropout": 0,
          "num_layers": 2
        },
        "inputs": ["question1"]
    },
    {
        "layer_id": "question_2",
        "layer": "BiGRU",
        "conf": {
          "hidden_dim": 128,
          "dropout": 0,
          "num_layers": 2
        },
        "inputs": ["question2"]
    },
    {
        "layer_id": "pooling_1",
        "layer": "Pooling",
        "conf": {
          "pool_axis": 1,
          "pool_type": "max"
        },
        "inputs": ["question_1"]
    },
    {
        "layer_id": "pooling_2",
        "layer": "Pooling",
        "conf": {
          "pool_axis": 1,
          "pool_type": "max"
        },
        "inputs": ["question_2"]
    },
    {
        "layer_id": "comb_qq",
        "layer": "Combination",
        "conf": {
            "operations": ["origin", "difference", "dot_multiply"]
        },
        "inputs": ["pooling_1", "pooling_2"]
    },
    {
        "output_layer_flag": true,
        "layer_id": "output",
        "layer": "Linear",
        "conf": {
          "hidden_dim": [256, 2],
          "activation": "PReLU",
          "batch_norm": true,
          "last_hidden_activation": false,
          "last_hidden_softmax": true
        },
        "inputs": ["comb_qq"]
    }
  ],
  "loss": {
    "losses": [
      {
        "type": "CrossEntropyLoss",
        "conf": {
          "size_average": true
        },
        "inputs": ["output","label"]
      }
    ]
  },
  "metrics": ["accuracy","micro_f1","macro_f1"]
}

数据同样来源于github的下的JSON,结果显示如下所示:

后台显示如下所示:

上面仅是个人的一点学习总结,希望对于同道者有所帮助,后续会继续研究代码,欢迎交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨算法屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值