提交 8fa56022 编写于 作者: Y Yan Chunwei 提交者: GitHub

Merge branch 'develop' into feature/support_pytorch_demo

...@@ -106,3 +106,7 @@ ENV/ ...@@ -106,3 +106,7 @@ ENV/
node_modules node_modules
/.vscode /.vscode
package-lock.json package-lock.json
# PyCharm IDE
.idea/
#!/bin/bash
script=$(readlink -f "$0") script=$(readlink -f "$0")
script_path=$(dirname "$script") script_path=$(dirname "$script")
pushd $script_path pushd $script_path
protoc visualdl/onnx/onnx.proto --python_out . protoc3/bin/protoc visualdl/onnx/onnx.proto --python_out .
python setup.py bdist_wheel python setup.py bdist_wheel
popd popd
...@@ -31,6 +31,8 @@ def reorganize_inout(json_obj, key): ...@@ -31,6 +31,8 @@ def reorganize_inout(json_obj, key):
def add_edges(json_obj): def add_edges(json_obj):
# TODO(daming-lu): should try to de-duplicate node's out-edge
# Currently it is counted twice: 1 as out-edge, 1 as in-edge
json_obj['edges'] = [] json_obj['edges'] = []
label_incrementer = 0 label_incrementer = 0
......
import unittest
import graph
import json
class GraphTest(unittest.TestCase):
def setUp(self):
self.mock_dir = "./mock"
def test_graph_edges_squeezenet(self):
json_str = graph.load_model(self.mock_dir + '/squeezenet_model.pb')
json_obj = json.loads(json_str)
# 126 edges + 66 nodes (out-edge of each node is counted twice)
self.assertEqual(len(json_obj['edges']), 126 + 66)
# label_0: (in-edge)
# {u'source': u'data_0', u'target': u'node_0', u'label': u'label_0'}
self.assertEqual(json_obj['edges'][0]['source'], 'data_0')
self.assertEqual(json_obj['edges'][0]['target'], 'node_0')
self.assertEqual(json_obj['edges'][0]['label'], 'label_0')
# label_50: (in-edge)
# {u'source': u'fire3/concat_1', u'target': u'node_17', u'label': u'label_50'}
self.assertEqual(json_obj['edges'][50]['source'], 'fire3/concat_1')
self.assertEqual(json_obj['edges'][50]['target'], 'node_17')
self.assertEqual(json_obj['edges'][50]['label'], 'label_50')
# label_100: (in-edge)
# {u'source': u'fire6/squeeze1x1_1', u'target': u'node_34', u'label': u'label_100'}
self.assertEqual(json_obj['edges'][100]['source'], 'fire6/squeeze1x1_1')
self.assertEqual(json_obj['edges'][100]['target'], 'node_34')
self.assertEqual(json_obj['edges'][100]['label'], 'label_100')
# label_111: (out-edge)
# {u'source': u'node_37', u'target': u'fire6/expand3x3_1', u'label': u'label_111'}
self.assertEqual(json_obj['edges'][111]['source'], 'node_37')
self.assertEqual(json_obj['edges'][111]['target'], 'fire6/expand3x3_1')
self.assertEqual(json_obj['edges'][111]['label'], 'label_111')
def test_graph_edges_inception_v1(self):
json_str = graph.load_model(self.mock_dir + '/inception_v1_model.pb')
json_obj = json.loads(json_str)
# 286 edges + 143 nodes (out-edge of each node is counted twice)
self.assertEqual(len(json_obj['edges']), 286 + 143)
# label_0: (in-edge)
# {u'source': u'data_0', u'target': u'node_0', u'label': u'label_0'}
self.assertEqual(json_obj['edges'][0]['source'], 'data_0')
self.assertEqual(json_obj['edges'][0]['target'], 'node_0')
self.assertEqual(json_obj['edges'][0]['label'], 'label_0')
# label_50: (in-edge)
# {u'source': u'inception_3a/5x5_reduce_2', u'target': u'node_18', u'label': u'label_50'}
self.assertEqual(json_obj['edges'][50]['source'], 'inception_3a/5x5_reduce_2')
self.assertEqual(json_obj['edges'][50]['target'], 'node_18')
self.assertEqual(json_obj['edges'][50]['label'], 'label_50')
# label_100: (out-edge)
# {u'source': u'node_34', u'target': u'inception_3b/pool_1', u'label': u'label_100'}
self.assertEqual(json_obj['edges'][100]['source'], 'node_34')
self.assertEqual(json_obj['edges'][100]['target'], 'inception_3b/pool_1')
self.assertEqual(json_obj['edges'][100]['label'], 'label_100')
# label_420: (out-edge)
# {u'source': u'node_139', u'target': u'pool5/7x7_s1_2', u'label': u'label_420'}
self.assertEqual(json_obj['edges'][420]['source'], 'node_139')
self.assertEqual(json_obj['edges'][420]['target'], 'pool5/7x7_s1_2')
self.assertEqual(json_obj['edges'][420]['label'], 'label_420')
if __name__ == '__main__':
unittest.main()
#!/bin/bash
set -ex
cd mock
bash download_mock_models.sh
cd ..
python graph_test.py
rm ./mock/*.pb
# Download inception_v1 model # Download inception_v1 model
curl -LOk http://visualdl.bj.bcebos.com/inception_v1.tar.gz curl -LOk http://visualdl.bj.bcebos.com/inception_v1.tar.gz
#curl -LOk https://www.dropbox.com/s/twbfdqgvowzy762/inception_v1.tar.gz?dl=0
tar -xvzf inception_v1.tar.gz tar -xvzf inception_v1.tar.gz
cp inception_v1/model.pb inception_v1_model.pb cp inception_v1/model.pb inception_v1_model.pb
...@@ -11,7 +11,7 @@ rm inception_v1.tar.gz ...@@ -11,7 +11,7 @@ rm inception_v1.tar.gz
# Download squeezenet model # Download squeezenet model
curl -LOk http://visualdl.bj.bcebos.com/squeezenet.tar.gz curl -LOk http://visualdl.bj.bcebos.com/squeezenet.tar.gz
#curl -LOk https://www.dropbox.com/s/fip3jzxsjf2g6zc/squeezenet.tar.gz?dl=0
tar -xvzf squeezenet.tar.gz tar -xvzf squeezenet.tar.gz
cp squeezenet/model.pb squeezenet_model.pb cp squeezenet/model.pb squeezenet_model.pb
......
...@@ -27,8 +27,21 @@ frontend_test() { ...@@ -27,8 +27,21 @@ frontend_test() {
} }
server_test() { server_test() {
sudo pip install google
sudo pip install protobuf==3.1.0
cd $cur/server cd $cur/server
curl -OL https://github.com/google/protobuf/releases/download/v3.1.0/protoc-3.1.0-linux-x86_64.zip
unzip protoc-3.1.0-linux-x86_64.zip -d protoc3
export PATH=$PATH:protoc3/bin
sudo chmod +x protoc3/bin/protoc
sudo chown `whoami` protoc3/bin/protoc
bash build.sh bash build.sh
cd visualdl
bash graph_test.sh
cd $cur/server/visualdl cd $cur/server/visualdl
python lib_test.py python lib_test.py
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册