[
  {
    "path": "CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.10)\nproject(demo)\n\nset(CMAKE_CXX_STANDARD 14)\nSET(CMAKE_BUILD_TYPE Release)\nset(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS}  -Wall  -O3 -march=native \")\n\nset(ncnn_DIR \"/home/c211/lyc/ncnn/alexnet_demo/ncnn/build/install/lib/cmake/ncnn\" CACHE PATH \"Directory that contains ncnnConfig.cmake\")\n\nfind_package(OpenCV REQUIRED)\nfind_package(ncnn REQUIRED)\n\nadd_executable(demo main.cpp tracking.cpp)\ntarget_link_libraries(demo\n        ncnn\n        ${OpenCV_LIBS}\n        -fopenmp\n        )\n"
  },
  {
    "path": "README.md",
    "content": "# LET-NET: A lightweight CNN network for sparse corners extraction and tracking\n\nLET-NET implements an extremely lightweight network for feature point extraction and image consistency computation. The network can process a 240 x 320 image on a CPU in about 5ms. Combined with LK optical flow, it breaks the assumption of brightness consistency and performs well on dynamic lighting as well as blurred images.\n\n<div display:inline>\n  <a href=\"https://www.bilibili.com/video/BV1gz4y1V77M/?vd_source=4dd69fa6d40221a0fa0733def5c4708a#reply576226249\"><img src=\"assets/bilibili3.png\" width=30% /></a>\n  <a href=\"https://www.bilibili.com/video/BV1gz4y1V77M/?vd_source=4dd69fa6d40221a0fa0733def5c4708a#reply576226249\"><img src=\"assets/bilibili2.png\" width=30% /></a>\n  <a href=\"https://www.bilibili.com/video/BV1gz4y1V77M/?vd_source=4dd69fa6d40221a0fa0733def5c4708a#reply576226249\"><img src=\"assets/bilibili.png\" width=30% /></a>\n</div>\n\n## News \n\n！！！ **A new [version](https://github.com/linyicheng1/LET-NET2) with end-to-end training has been made publicly available.**\n\n1. The LET-NET training code is released at https://github.com/linyicheng1/LET-NET-Train.\n2. Gray Image is also suport in LET-NET, you can get pytorch and onnx model tpye in `./model/`\n3. [LET-VINS](https://github.com/linyicheng1/LET-NET/blob/main/assets/VINS-Mono.zip) Demo run on UMA-VI dataset is released.\n4. Our proposed LET-VINS won the second place in the VIO track of the ICCV2023SLAM Challenge, which is the best performance among the traditional methods.\n5. The preprinted paper was posted at [here](https://arxiv.org/abs/2310.15655).\n\n<img src=https://github.com/linyicheng1/LET-NET/assets/50650063/f4e96620-925e-4ff8-a2a9-c8af202c3b99 border=10 width=40%>\n\n## Related Paper\n\n- **Breaking of brightness consistency in optical flow with a lightweight CNN network**,Yicheng Lin, Shuo Wang, Yunlong Jiang, Bin Han, arXiv:2310.15655, [pdf](https://arxiv.org/pdf/2310.15655.pdf) \n\n## 1. Prerequisites \n\n- OpenCV (https://docs.opencv.org/3.4/d7/d9f/tutorial_linux_install.html)\n- ncnn (https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux)\n\n> Notes: After installing ncnn, you need to change the path in CMakeLists.txt\n\n```\nset(ncnn_DIR \"<your_path>/install/lib/cmake/ncnn\" CACHE PATH \"Directory that contains ncnnConfig.cmake\")\n```\n## 2. Build \n\n```\nmkdir build && cd build\ncmake .. && make -j4\n```\n\n## 3. Run demo \n\nYou can enter the path to a video or two images.\n```\n./build/demo <path_param> <path_bin> <path_video>\n```\nor \n```\n./build/demo <path_param> <path_bin> <path_img_1> <path_img_2>\n```\nFor example using the data we provide:\n\n```\n./build/demo ./model/model.param ./model/model.bin ./assets/nyu_snippet.mp4\n```\n\nYou should see the following output from the NYU sequence snippet:\n\n<img src=\"assets/demo.gif\" width=\"260\">\n\n## 4. Examples \n\n### Dynamic lighting\n\nThe left is ours and the right is the original optical flow algorithm.\n\n<table><tr>\n<td><img src=assets/3.png border=0 width=\"260\"></td>\n<td><img src=assets/4.png border=0 width=\"260\"></td>\n</tr></table>\n\n### Underwater\n\nThe left is ours and the right is the original optical flow algorithm.\n\n<table><tr>\n<td><img src=assets/1.png border=0 width=\"260\"></td>\n<td><img src=assets/2.png border=0 width=\"260\"></td>\n</tr></table>\n\n### Active light source\n\nThe left is ours and the right is the original optical flow algorithm.\n\n<table><tr>\n<td><img src=assets/7.png border=0 width=\"260\"></td>\n<td><img src=assets/8.png border=0 width=\"260\"></td>\n</tr></table>\n\n## 5. Cite\n\n```\n@ARTICLE{let-net,\n  author={Lin, Yicheng and Wang, Shuo and Jiang, Yunlong and Han, Bin},\n  journal={IEEE Robotics and Automation Letters}, \n  title={{Breaking of brightness consistency in optical flow with a lightweight CNN network}}, \n  year={2024},\n  pages={1-8}\n}\n\n```\n"
  },
  {
    "path": "main.cpp",
    "content": "#include \"net.h\"\n#include \"mat.h\"\n#include \"opencv2/opencv.hpp\"\n#include \"chrono\"\n#include \"tracking.h\"\n\n#define IMG_H 240\n#define IMG_W 320\n\nint main(int argc, char** argv) {\n    if (argc != 4 && argc != 5) {\n        std::cout<<\" Usage: ./demo <model_param> <model_bin> <video_path> <video_path> or ./demo <model_param> <model_bin> <image_path_1> <image_path_2>\"<<std::endl;\n        return -1;\n    }\n    cv::VideoCapture capture;\n    cv::VideoWriter writer(\"output.avi\", cv::VideoWriter::fourcc('M', 'J', 'P', 'G'), 10, cv::Size(320, 240));\n    cv::Mat img1, img2;\n    bool is_video = false;\n    if (argc == 4) {\n        is_video = true;\n        std::string video_path = argv[3];\n        capture.open(video_path);\n        if (!capture.isOpened()) {\n            std::cout<<\" Error opening video file !\"<<std::endl;\n            return -1;\n        }\n    } else {\n        std::string img_path_1 = argv[3];\n        std::string img_path_2 = argv[4];\n        img1 = cv::imread(img_path_1);\n        img2 = cv::imread(img_path_2);\n        cv::resize(img1, img1, cv::Size(IMG_W, IMG_H));\n        cv::resize(img2, img2, cv::Size(IMG_W, IMG_H));\n        if (img1.empty() || img2.empty()) {\n            std::cout << \" Error opening image file !\" << std::endl;\n            return -1;\n        }\n    }\n\n    const float mean_vals[3] = {0, 0, 0};\n    const float norm_vals[3] = {1.0/255.0, 1.0/255.0, 1.0/255.0};\n    const float mean_vals_inv[3] = {0, 0, 0};\n    const float norm_vals_inv[3] = {255.f, 255.f, 255.f};\n\n    ncnn::Net net;\n    net.load_param(argv[1]);\n    net.load_model(argv[2]);\n\n    cv::Mat score(IMG_H, IMG_W, CV_8UC1);\n    cv::Mat desc(IMG_H, IMG_W, CV_8UC3);\n    cv::Mat frame;\n    ncnn::Mat in;\n    ncnn::Mat out1, out2;\n\n    corner_tracking tracker;\n    while (true) {\n\n        ncnn::Extractor ex = net.create_extractor();\n        ex.set_light_mode(true);\n        ex.set_num_threads(1);\n\n        if (is_video) {\n            capture >> frame;\n        } else {\n            static int i = 0;\n            if (i == 0)\n                frame = img1;\n            else if (i == 1)\n                frame = img2;\n            else\n                break;\n            i++;\n        }\n\n        if (frame.empty())\n            break;\n\n        cv::resize(frame, frame, cv::Size(IMG_W, IMG_H));\n\n        //////////////////////////  opencv image to ncnn mat  //////////////////////////\n        std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now();\n\n        in = ncnn::Mat::from_pixels(frame.data, ncnn::Mat::PIXEL_BGR, frame.cols, frame.rows);\n        in.substract_mean_normalize(mean_vals, norm_vals);\n\n        //////////////////////////  ncnn forward  //////////////////////////\n\n        std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now();\n\n        ex.input(\"input\", in);\n        ex.extract(\"score\", out1);\n        ex.extract(\"descriptor\", out2);\n\n        //////////////////////////  ncnn mat to opencv image  //////////////////////////\n\n        std::chrono::high_resolution_clock::time_point t3 = std::chrono::high_resolution_clock::now();\n        out1.substract_mean_normalize(mean_vals_inv, norm_vals_inv);\n        out2.substract_mean_normalize(mean_vals_inv, norm_vals_inv);\n\n//        memcpy((uchar*)score.data, out1.data, sizeof(float) * out1.w * out1.h);\n        out1.to_pixels(score.data, ncnn::Mat::PIXEL_GRAY);\n        out2.to_pixels(desc.data, ncnn::Mat::PIXEL_BGR);\n\n        std::chrono::high_resolution_clock::time_point t4 = std::chrono::high_resolution_clock::now();\n\n\n        //////////////////////////  show times  //////////////////////////\n\n        std::chrono::duration<double> time_used_1 = std::chrono::duration_cast<std::chrono::duration<double>>(t2-t1);\n        std::chrono::duration<double> time_used_2 = std::chrono::duration_cast<std::chrono::duration<double>>(t3-t2);\n        std::chrono::duration<double> time_used_3 = std::chrono::duration_cast<std::chrono::duration<double>>(t4-t3);\n\n        std::cout<<\"time_used 1 : \"<<time_used_1.count()*1000<<\"ms\"<<std::endl;\n        std::cout<<\"time_used 2 : \"<<time_used_2.count()*1000<<\"ms\"<<std::endl;\n        std::cout<<\"time_used 3 : \"<<time_used_3.count()*1000<<\"ms\"<<std::endl;\n\n        //////////////////////////  show result  //////////////////////////\n        cv::Mat new_desc = desc.clone();\n        tracker.update(score, new_desc);\n        tracker.show(frame);\n        if (is_video) {\n            writer << frame;\n        }\n        cv::waitKey(500);\n    }\n    writer.release();\n    capture.release();\n    return 0;\n}\n"
  },
  {
    "path": "model/letnet-gray.onnx",
    "content": "\b\u0006\u0012\u0007pytorch\u001a\u00052.0.1:\u0001\n\u0011\n\u0007input.1\n\ronnx::Conv_35\n\ronnx::Conv_36\u0012\u001b/block1/conv1/Conv_output_0\u001a\u0012/block1/conv1/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0003@\u0003\u0001\u0007*\u0011\n\u0004pads@\u0001@\u0001@\u0001@\u0001\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u0010\n\u001b/block1/conv1/Conv_output_0\u0012\u001a/block1/gate/Relu_output_0\u001a\u0011/block1/gate/Relu\"\u0004Relu2\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u0011\n\u001a/block1/gate/Relu_output_0\n\ronnx::Conv_38\n\ronnx::Conv_39\u0012\u001b/block1/conv2/Conv_output_0\u001a\u0012/block1/conv2/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0003@\u0003\u0001\u0007*\u0011\n\u0004pads@\u0001@\u0001@\u0001@\u0001\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u0010\n\u001b/block1/conv2/Conv_output_0\u0012\u001c/block1/gate_1/Relu_output_0\u001a\u0013/block1/gate_1/Relu\"\u0004Relu2\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000f\n\u001c/block1/gate_1/Relu_output_0\n\fconv1.weight\u0012\u0014/conv1/Conv_output_0\u001a\u000b/conv1/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0001@\u0001\u0001\u0007*\u0011\n\u0004pads@\u0000@\u0000@\u0000@\u0000\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\r/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000e\n\u0014/conv1/Conv_output_0\u0012\u0013/gate/Relu_output_0\u001a\n/gate/Relu\"\u0004Relu2\r/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000f\n\u0013/gate/Relu_output_0\n\u0010conv_head.weight\u0012\u0018/conv_head/Conv_output_0\u001a\u000f/conv_head/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0001@\u0001\u0001\u0007*\u0011\n\u0004pads@\u0000@\u0000@\u0000@\u0000\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\r/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(169): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\nE\u0012\u0012/Constant_output_0\u001a\t/Constant\"\bConstant*\u0018\n\u0005value*\f\u0010\u0007J\b\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\u0000\n\u000b\n\u0018/conv_head/Conv_output_0\n\u0012/Constant_output_0\u0012\u0010/Gather_output_0\u001a\u0007/Gather\"\u0006Gather*\u000b\n\u0004axis\u0018\u0001\u0001\u00022\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\n\u0010/Gather_output_0\u0012\u0011/Sigmoid_output_0\u001a\b/Sigmoid\"\u0007Sigmoid2\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\n\u0011/Sigmoid_output_0\u0012\u000227\u001a\n/Unsqueeze\"\tUnsqueeze*\u000b\n\u0004axes@\u0001\u0001\u00072\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_1_output_0\u001a\u000b/Constant_1\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_2_output_0\u001a\u000b/Constant_2\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_3_output_0\u001a\u000b/Constant_3\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_4_output_0\u001a\u000b/Constant_4\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000b\n\u0018/conv_head/Conv_output_0\n\u0014/Constant_2_output_0\n\u0014/Constant_3_output_0\n\u0014/Constant_1_output_0\n\u0014/Constant_4_output_0\u0012\u000f/Slice_output_0\u001a\u0006/Slice\"\u0005Slice2\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\n\u000f/Slice_output_0\u0012\u000233\u001a\n/Sigmoid_1\"\u0007Sigmoid2\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\u0012\ttorch_jit*\u0004\b\u0010\b\b\b\u0001\b\u0001\u0010\u0001B\fconv1.weightJ\u0004\u0018>ԩoǾ\u0007={D>\u001c/!>ԓ>\u001b\u0019>>=N$M'r\u0015\u0006\t\u0017\u001c>؝ƍ}>\u0019>%'\n\t;)>˾̈C>*>\t\u0005<3F\u0005\"?S.JO>*\u0012<L=(܇>\u000e>L=qy>/\u0000>hY>)>q>}M\bu<\t>CS=\u0007}\u001a>頾!v>;xfF\u0015\u0017.=|>@U\u0002\u001e\u0019=\u000b>h<\u0011׫;=|>\"\u001f?ٿm\u001be\u0002q>y>I\u0016\u0005s===2\u001aϾK:2\t_aj>G>x4f>\u001b>$Q>6@j=\r/d\u0017<+]h>S=X'T>ysyV><_\u0011\u0003P\b?ڦ?=f=>\u0011ݱ !=>N=GU>\u0007>\u0003!Ľ'\u001f>k>h\n==yn\tս\u0002|/?Q.HQ=\u000b\u000b>>*\u0002\b\u0004\b\u0010\b\u0001\b\u0001\u0010\u0001B\u0010conv_head.weightJ\u0002Vy\u0001\u001f+r9\n?aFԽCVĽ=[$}ET>z\b4=4%Υ=W\u0004ξs|>%=!=`F0Ǫ>aWc9\">\u0016\u000f$R;0<>\u0003\u0001\f>G\u0005\u000eW]^?6>#Ѿ.\u0011@K=\"'{L毽L\"\u0004>Gk<ʵ2s\u0007\u001e4=4<.'u%,\t?tĿ\bsz((\u0004T]?S@%b;'9gĤd\u001e\u0013?kH/*\u0002\b\b\b\u0001\b\u0003\b\u0003\u0010\u0001B\ronnx::Conv_35J\u0002m;b@\u001aBW@\u0002\u0011@:j@U0\u000b@z\u001ctՠo?FA?'`\f?@,?m?5=e?~\u0019@|Y@غ?@P\tE\u0014\u0007yC-vf!@z?\u0017p>\u0007|'?h\u0018(>\u0012]=\u0007?sf?l\f@8=>\u0018>?mZ\u001ehc\u0003>%U-\u0017?\u001c>=Y\u0004L\u001dw?\n4 \u0016oz9C\u0001\u000e\u0001=)N\u0013\u001fZq?f>\u0001-4\u001b?ץZ\u0000i\u0013\u0017(@Φ@@*5\b\b\u0010\u0001B\ronnx::Conv_36J 0 =\f8?CcĿN?+?\u0001+=*\u0012\b\b\b\b\b\u0003\b\u0003\u0010\u0001B\ronnx::Conv_38J\u0012g=0Խ\rK[{=d\u0011=f\u0002-\n===\rI=i4;\u0001ˎ<iLc\n\u0002SO>\u0005;\u0014(漪N<!>7=χ>]n=KU><E,G=)Zɼbیv9\t<bC=7ѽd=I궽WG=\u001d\"G\u000fV=u\u001eO>6\u0015/\\b=ş;}(C'>>,<\u001a=9F=}\u0012\u0005\u0015eX<}Ҫ=<ꋳ=\u000e)=\u001abXt%}9bDA1ы==B\u0007\u0015\u000b8j==l;/3i=\u0013<\u0004\u0006<h\u001a>)>7\u0015 =3>!=8=_><-a<\u001c\\\u000b!==7=h]`I\"\u00039ځ7ojX<8\u001b4who<ʷ\u0019& f_=m_Y\u0010\t=\"C\u0001=m8V,=Q]Ij<E\u0003>{=\u0011>Ϳ<\u0014޽~\u0016\"<P7:\\\u0018 \u001eۥ۽'=n=q0\u0003A=\t>G{*F=8==w=k\r=<\fP=\u0001R\nH=\u0014\u001e彂'=e=q=`S<[<dq7һ\u0011\u001bު\u000f>hIH\u0007\u0011l>~ھB=_<\bh>I8\u001ex辦6ѽ3dF\u0007\u0002쉽5^νk\u00069=r\"=7Խ\u0000\u0010Y=ݕ`V\t{\u0017F@h\u0000\u001ec\f;GX#={]=[=}=\f>ךs=S_D_=\u0017\u0004Ae=+<h\u0003<2\u000b>'Z=0奼\u0011=C<jc\u001b=\u001c\u0014H=؃b>O=\u000bK=K\u0003>2b3>V\u0000>w`>\u0002\u001c<\u0018>\u000bTv=t<;\u0001\u0002\u0016=`\u000fR<=\u0016\u0013gGm=麀Y3`P>R=j\u0010>߰=(A=Ԁѽ\u0012*wM\u0019<20\u001d9=\u0001*\u0005=໦@\u000e;i\u0013R\u0011꽰\u0002?j%\u001b<_=k<&ь*\b>6\u001f=\r/=*T\u001b> -==\u0004M^:Xe\u001eB=;*>^k=\u0005yX\u0006\u0011z=LQm=9[<3>NX\u001e{A\u0004ց\u0015 H0x\u0010|\u0001)\u000e\u00163佣~E/:)E꾷\u001a\n@UMsN5\u00020:\u001c!Fx!\u0019$>$#=V`\u000f=\nw>}u?h=\n;n\u0017EΉy\u0007л{\tJ4^=lv)K\n== R33=B\u0012\u0005\u0012\u001f\u001a=\u0004;\u0005\u0000=F<.<ۊ=4\u001b=<~k=9=(?>\u00169M=ޫԽ S=f;=tŽF{L=º2I>=y/\u001c,y=k\u0015<`\f޽\u001e\u0000\t\r\u0005='&!6=b\u0018=ʼ/+;\u001fI\u0001<=ݫº(o>=\n\u0007>J}=_6Rg7Yi>L=`;>\u0006rX\u0015\">З12\u0016\u0014sV>г=S=->VD>pl=e\t6>'>\u0019ؑ><\n7>H\u000f?q\u001bC\\3>-)>\u0001\u0015=$\u0007=\u0002>]7>\u0019~uK\u0017\u000e`lV\u0019<h\u0005;,>pN9=Jv>L\u001e\r>gX<=ŗؾ\u001c\u0000hQͤ\\N>+3>>=\f\u0014>c\u0006\u001e=-\n>;<F=p:w5=<b<\u0001ȿ\u0011==\u0004:x\u0002r@û\u0005\\K#Ҵ>D\u001f\u0001d>,P.8=\u0005V=']>qžo|h=I#<+;Z}+>E>I_}$\f>q>f\u0010\u001ah\u0006>ЌgY0<\u0012=\\=m;\u001e>V\u0012\u001c>\u0011lN~>z:8P(><e=\u001cxa6>\u0003\u0012ʾ.A\u0006=\"s>q/,\u0015{8k>\u0011\u001b\u001e>4\u0018>\u000b\u001f}>[3?q߾i>ܗ>\u0000Z\u0004ǽ\u0004=!h\u001f=\u001b\u0011>\f=qJ\u001f=P;d\u001dP(;w<A;\u000b\f\t½oB=\u001d=\u001cM=%=A\f:\r\u0015=\u0019\u001b=!-=:ӽt5=\u0000ɾ<shk7H\u0019=%6=zfe\u0005x\u0001=\u0014v=\u0002';\u0007U\u0013e;D\"R*\u001a\u001c^½Ў:I#=;PLnȼVeu=,#\u0013X=W>0=>>>=)\u0012Г=}o>L<=\u0006=\u000f>\u0014%\b>=\u0012ρ\u001a>\u001f>%1M\r\f<goF>3\u001a0=\u001f:2q\u00129\u0007=jD,=6E(3f<\u0017*5\b\b\u0010\u0001B\ronnx::Conv_39J x\u0013?]?fR???\r2H\u0017>a>Z#\n\u0007input.1\u0012\u0018\n\u0016\b\u0001\u0012\u0012\n\u0002\b\u0001\n\u0002\b\u0001\n\u0003\b\u0002\n\u0003\b\u0001b\u001e\n\u000227\u0012\u0018\n\u0016\b\u0001\u0012\u0012\n\u0002\b\u0001\n\u0002\b\u0001\n\u0003\b\u0002\n\u0003\b\u0001b\u001e\n\u000233\u0012\u0018\n\u0016\b\u0001\u0012\u0012\n\u0002\b\u0001\n\u0002\b\u0003\n\u0003\b\u0002\n\u0003\b\u0001B\u0002\u0010\u000b"
  },
  {
    "path": "model/letnet.onnx",
    "content": "\b\u0006\u0012\u0007pytorch\u001a\u00052.0.1:\u0001\n\u0011\n\u0007input.1\n\ronnx::Conv_35\n\ronnx::Conv_36\u0012\u001b/block1/conv1/Conv_output_0\u001a\u0012/block1/conv1/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0003@\u0003\u0001\u0007*\u0011\n\u0004pads@\u0001@\u0001@\u0001@\u0001\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u0010\n\u001b/block1/conv1/Conv_output_0\u0012\u001a/block1/gate/Relu_output_0\u001a\u0011/block1/gate/Relu\"\u0004Relu2\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u0011\n\u001a/block1/gate/Relu_output_0\n\ronnx::Conv_38\n\ronnx::Conv_39\u0012\u001b/block1/conv2/Conv_output_0\u001a\u0012/block1/conv2/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0003@\u0003\u0001\u0007*\u0011\n\u0004pads@\u0001@\u0001@\u0001@\u0001\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u0010\n\u001b/block1/conv2/Conv_output_0\u0012\u001c/block1/gate_1/Relu_output_0\u001a\u0013/block1/gate_1/Relu\"\u0004Relu2\u000f/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000f\n\u001c/block1/gate_1/Relu_output_0\n\fconv1.weight\u0012\u0014/conv1/Conv_output_0\u001a\u000b/conv1/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0001@\u0001\u0001\u0007*\u0011\n\u0004pads@\u0000@\u0000@\u0000@\u0000\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\r/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000e\n\u0014/conv1/Conv_output_0\u0012\u0013/gate/Relu_output_0\u001a\n/gate/Relu\"\u0004Relu2\r/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000f\n\u0013/gate/Relu_output_0\n\u0010conv_head.weight\u0012\u0018/conv_head/Conv_output_0\u001a\u000f/conv_head/Conv\"\u0004Conv*\u0012\n\tdilations@\u0001@\u0001\u0001\u0007*\f\n\u0005group\u0018\u0001\u0001\u0002*\u0015\n\fkernel_shape@\u0001@\u0001\u0001\u0007*\u0011\n\u0004pads@\u0000@\u0000@\u0000@\u0000\u0001\u0007*\u0010\n\u0007strides@\u0001@\u0001\u0001\u00072\r/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(169): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\nE\u0012\u0012/Constant_output_0\u001a\t/Constant\"\bConstant*\u0018\n\u0005value*\f\u0010\u0007J\b\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\u0000\n\u000b\n\u0018/conv_head/Conv_output_0\n\u0012/Constant_output_0\u0012\u0010/Gather_output_0\u001a\u0007/Gather\"\u0006Gather*\u000b\n\u0004axis\u0018\u0001\u0001\u00022\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\n\u0010/Gather_output_0\u0012\u0011/Sigmoid_output_0\u001a\b/Sigmoid\"\u0007Sigmoid2\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\n\u0011/Sigmoid_output_0\u0012\u000227\u001a\n/Unsqueeze\"\tUnsqueeze*\u000b\n\u0004axes@\u0001\u0001\u00072\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_1_output_0\u001a\u000b/Constant_1\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_2_output_0\u001a\u000b/Constant_2\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_3_output_0\u001a\u000b/Constant_3\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\u0012\u0014/Constant_4_output_0\u001a\u000b/Constant_4\"\bConstant*\u001a\n\u0005value*\u000e\b\u0001\u0010\u0007J\b\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00042\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\u000b\n\u0018/conv_head/Conv_output_0\n\u0014/Constant_2_output_0\n\u0014/Constant_3_output_0\n\u0014/Constant_1_output_0\n\u0014/Constant_4_output_0\u0012\u000f/Slice_output_0\u001a\u0006/Slice\"\u0005Slice2\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\n\n\n\u000f/Slice_output_0\u0012\u000233\u001a\n/Sigmoid_1\"\u0007Sigmoid2\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export\n/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export\n/home/server/wangshuo/ALIKE_code/nets/alnet.py(318): <module>\n\u0012\ttorch_jit*\u0004\b\u0010\b\b\b\u0001\b\u0001\u0010\u0001B\fconv1.weightJ\u0004G->N3'\u0011=ܬ=orT7>`>z̾q\u0013;\u0013\u0010?F\u000b3>n>HX|\u000e0\u0000-W\u001aGq>F\u0010'\u0019¾9>\u000e=wma>F=)\u0017>\t\nX=\u001f>A;+>az$=Bѽ\u001ee\u0010M뼡\fP\rM&u\u0012>*\u0000?̀<\r=>~<='\u001a>\r\"\u0006\u001f\"wf10p\u0003\u00038\u0010\">P=|\t4\u0001h>\u000210>_Վ\u0017!\u0011ܛ>d}I?F_C4>\u001c>yl>\n=\u0015\u001dh=4\u001a\u0007p7\u0017=V\n܃#>c>G =熾\u000e\u0019\u0000>u>\u0012w=\u0000<\u0010ͽ\u000b\u001f8Fm*)=>Ou_\u001b|\u0015ě\"=>\u0014\u001ff>P\u000ee2\u0014ehp>~%==\u0007\u001b/>ce=\u0015>0>\f>)$>9\\X=T\"\u0005n\u0013<\u0002 <+>\t\u0013\u001e>pw>\u001c|>I\td>$>tZ*\u0002\b\u0004\b\u0010\b\u0001\b\u0001\u0010\u0001B\u0010conv_head.weightJ\u0002qӾ__w>e=}>D={js;<\u0003\"=2鼓<>U\u0011?ϲ̾\u0003kS#\u000eD=XR\u0018p'$wryоK\u001a\u0003>\fiɽy'6=x}>.3=&\u001b\u0014\">\u000f>Ovy+=H\u0004潕=<\nu^9.>z>h=\u000e@PlwZ>-\u0018^'۟?li<~￘\f6>zWֿӬc\\x\t^5\u0013@wi\u0019*\u0006\b\b\b\u0003\b\u0003\b\u0003\u0010\u0001B\ronnx::Conv_35J\u0006Z\"\u0003\u00144C>aϏ? ?[\u0010?ۍ\u0003@;?yS!q>>!\u0006?+M>P؎??\u001ap\u000fQaYG>\u001b?E\u001e\u000e\t?\u000f?U\u0016\u000e@O?\n?\u001a\u001f`P?_Wd=?\u000b\n=>\n>O)=??fq>\u0018\u0015\u001c?6Szt?|z^\u0011a\u0004\f@a\u0007?)?5#j?\u0004\u0003?V>\u001e$i௘#UǾ,&5?.?h@E?EuZtſҍ\u001a?'?\r+\u0006gT7\u001b?{\u0012w@Y??W{g1=E\u0006\u0001@:\u000e\u0006ž/\f@?e6Q\u0019:e9^\u0015@Yb~?ŭ?@[\tAe\n?\u0002?ۿ_A\fA*]?ɍS\u0010@\u0013z@e-@5A?m\u0003ƻe?AY\u0013V\u001e;mƾ\u0007>\u0019<\u0006s/8W8x>j=8>+\f\u0004=@b\nJ=\u001f;h`\f\u001d &>NK%>)_=l#ս\u0005>\u0018>2=5>)?j>\u001e?\u0003p>d\n?Ay>\u001a?\u0002?>\\\u00049?LP\\ȃ\u001cFkV>m>\u0011X\u000b=o߿E{>QC?l>\t]I-W=ᙾ\u0011?\u0005\u0002*=&\u0005V\b?πJ>WH?g\r⥋??\u0019>*?|?\u001cF???\u0014\b[G_?o\u0019{пqIL@m־\\*\u001f>\u0002ojR??\u0019cCc\u001c?\n;qA?;Q?\u000f?V\u0001?\u001a~*?\u001b??ݸ?vI>\u0006+>n77@\u0018>)ab?\u0010CM\u0016ƾ\u0003/ @\u0001a?yID\u000ej\u0003T>O>j:>\b@*5\b\b\u0010\u0001B\ronnx::Conv_36J I7?X-?2=\u0002\u000fW\f?\u0005*?5\u0019?*\u0012\b\b\b\b\b\u0003\b\u0003\u0010\u0001B\ronnx::Conv_38J\u0012X<%Ӽ()=n8EQ<!m\u001e\u0011=Uȼ&>=Q=q<\\n='=b;I=S\u001d>\u0015ټY\n^KнH*\u0019oN\u001cXV\rV\u0013\"\u0003=\u0014P\u0011\u0000<׎\u0016\u0007By+;\u0013͵޳2\u0002=u=,o<Ef8=^\u0003q>G<\u0013P\u0000;Z罣?=F+L\u0013c=\b=h\rM<ͺ\u0014/\u0006>P\u0013\b=_\r>eC9\u0010=Vw>\u00175<=+d\u001a=\b\tQY=\u0005d<6\u0019=\u000éX=\u0004>S=i#\u0005>L H=G$>a\u0007>\u001c=NCC\u0012똽hPMOņMp0=!ER|5QK<\\J <2<Žݽݼ\"!}q˼r<\u001ad_\u0005\u0012<j\u0013\u0001\u001d*<F%xf2ٽ ^YaƢ\u0006<6=\u0017=\u0019==\u000b>0=D+\t>\u0018T=\u001c7Է셽s\u0007.ba\u001a)W<r\u001d)>\u0010|}\rT=ׂ!1\u0010mo^;Ѽּn\u001b\fｗx׽G\u0017\u0012\u0010>\u001c7;+=\u0019uMBl+\n&>Ex*\u000eݽD9\t>\u0003#>t=U=Yĭ\u001a弡=)@>g\u001e>\u00142>'ü>\u001f=\u0004ʲ~˻%GqX\u0003K<\u0001T6=_=B;Ʈ\u0010Eh=\u0012\u0013;<=4ĻT齲\n>52=\u0017t+=g<z\u001e<2+\b$-<4>j\\\u0002>7>:\u0000\u0004ľ\u001e購|h\u001e=\u0003>0v=?Q\u0013>^`7<B/\u001fz/Q9>\u00157=0>Զ=綼<D{2=nO<n\u0011>O\u001ee\u001f\u0003=\u001b\u0015~\r\u001d6=<c<8]\u0000\u001fᲽ%:6w\u000eNq<pM#F*q\u000e=SpV<hS\f=MSWg\u0018|x <\u0010j\\\bxAX;ÕǓ;莘<\u001c\u001c'=H;u=1k\u0006z\u0016=3]ETn[j缎ށ=\u0016\u001e=}d;6I@<9(;\u0007<s2V|#E8N!;Ie\u0019\u001b<9)=\u001d<'=ʢ=\u0001`=Ws=2=7W=l\u0003==\u0010A!=$8=T?=T?++f\u0014>{38*<\u001e\u0013=z=}L=<.\u000e\u0000=t={D<b\\>n\u000b<nX>\u0013=H(\nq=\u00067<W\u0015\u001e_=\u000ei*\r=k\t;gœ<;JV@#s=Ԛ=\u0019y&\u0004\n=\u0004\u0018+=]W\u001c>ۿb`#q=\u001ds\u000e>BF=\f\u001d!>=e|6\u000f\u001a\u001f&<ƫ*b\u001b=\rI˾\u001ev3'=bAI&=\u0007Q2>LǪ\u0011<[885G5G\u0003G\u001acp\u000ecOmɟ=˒W=k)=(fEC<l\u001a=iM<\u0007<6j=lEiX'ZԼ4k\u0006Nb;f \u0000<~\u001dB;\u000bJ\bT%<\u000e\u001eD3;_c;m9(\u001cښ=i\u001a;-*<[\u0012s\u001b2\n;\"=(\u0019#\u000e_A\u0003]ü4f<ĴM\u001a<WB\bE6G:\u0011}>o\u000f\u000fe[O\u001d\u001cozVb\u0010\u0011\u0016\u0019\b<\u000b8=<r\nz!cҌ<\u0015=6#<\u0010۞\u000b=3gN:O8~=*:;\u0003\u001d>bv=F+>mv\u001b=\u0006A\r8\u001b<]=w=D\"=6\u0012\u0003>A\u0013=)=\u0018>d=\f=\">Ѽ+m=\u0001Ib=T=!==W=uD9=g=&E=]===mP=+Y;N/:_\u0007>N5=8I\n#ýmK<ĝɅ\u001etн$;b<x\u0001\u0019\u0002f<\u0010;}\\+f~ƶfpȽk;U;>s/KA\u0003=\u000f=4Iq\u0017UW<qQ\u0015I\u000b<\f<?;\u0003\u0016;\rb}<W`j=NY<\\==\u0018\u0016<L\u0001\rz꨸O=/\u001fhs%vc=7mO\f=DLd=\u0016K<پ=?D=6<='\rX=<\u0018?=/Z=\u0017=\u001a<G[\u0012=\u0014廴uPh<+\u0002=kW=\t}*4d\r\t0TW\u000fS)';(9;~>nJ>wD|>b\u001b>g\u000b>\u0007k\u0019>d;>Ŷ\u001a>\u001cp><漽&Mwcta?<Yk<5<K6z=\u001a?<H:f1:2<2\u000fἴ쑽*5\b\b\u0010\u0001B\ronnx::Conv_39J \u0011\u000e>^?N>\u0015s?d~?6q\u000f@y>(()?Z#\n\u0007input.1\u0012\u0018\n\u0016\b\u0001\u0012\u0012\n\u0002\b\u0001\n\u0002\b\u0003\n\u0003\b\u0002\n\u0003\b\u0001b\u001e\n\u000227\u0012\u0018\n\u0016\b\u0001\u0012\u0012\n\u0002\b\u0001\n\u0002\b\u0001\n\u0003\b\u0002\n\u0003\b\u0001b\u001e\n\u000233\u0012\u0018\n\u0016\b\u0001\u0012\u0012\n\u0002\b\u0001\n\u0002\b\u0003\n\u0003\b\u0002\n\u0003\b\u0001B\u0002\u0010\u000b"
  },
  {
    "path": "model/model.param",
    "content": "7767517\n14 15\nInput            input                    0 1 input\nConvolution      Conv_0                   1 1 input input.4 0=8 1=3 11=3 2=1 12=1 3=1 13=1 4=1 14=1 15=1 16=1 5=1 6=216\nReLU             Relu_1                   1 1 input.4 onnx::Conv_17\nConvolution      Conv_2                   1 1 onnx::Conv_17 input.12 0=8 1=3 11=3 2=1 12=1 3=1 13=1 4=1 14=1 15=1 16=1 5=1 6=576\nReLU             Relu_3                   1 1 input.12 onnx::Conv_20\nConvolution      Conv_4                   1 1 onnx::Conv_20 input.16 0=16 1=1 11=1 2=1 12=1 3=1 13=1 4=0 14=0 15=0 16=0 5=0 6=128\nReLU             Relu_5                   1 1 input.16 onnx::Conv_22\nConvolution      Conv_6                   1 1 onnx::Conv_22 onnx::Gather_23 0=4 1=1 11=1 2=1 12=1 3=1 13=1 4=0 14=0 15=0 16=0 5=0 6=64\nSplit            splitncnn_0              1 2 onnx::Gather_23 onnx::Gather_23_splitncnn_0 onnx::Gather_23_splitncnn_1\nCrop             Gather_8                 1 1 onnx::Gather_23_splitncnn_1 onnx::Sigmoid_25 -23309=1,3 -23310=1,4 -23311=1,0\nSigmoid          Sigmoid_9                1 1 onnx::Sigmoid_25 onnx::Unsqueeze_26\nExpandDims       Unsqueeze_10             1 1 onnx::Unsqueeze_26 score -23303=1,0\nCrop             Slice_15                 1 1 onnx::Gather_23_splitncnn_0 onnx::Sigmoid_32 -23309=1,0 -23310=1,-1 -23311=1,0\nSigmoid          Sigmoid_16               1 1 onnx::Sigmoid_32 descriptor\n"
  },
  {
    "path": "tracking.cpp",
    "content": "#include \"tracking.h\"\n\nvoid corner_tracking::update(const cv::Mat& score, const cv::Mat& desc) {\n\n    if (trackedPoints.empty()) {// first frame\n        trackedPoints = extractFeature(score);\n        trackedPointsHistory.resize(trackedPoints.size());\n        for (size_t i = 0; i < trackedPoints.size(); i++) {\n            trackedPointsHistory[i].push_back(trackedPoints[i]);\n        }\n    } else {\n        std::vector<cv::Point2f> trackedPointsNew;\n        std::vector<uchar> status;\n        std::vector<float> err;\n\n        cv::calcOpticalFlowPyrLK(\n                prevDesc,\n                desc,\n                trackedPoints,\n                trackedPointsNew,\n                status,\n                err);\n\n        std::vector<cv::Point2f> tracked = {};\n        std::vector<std::vector<cv::Point2f>> trackedHistory = {};\n        for (size_t i = 0; i < status.size(); i++) {\n            if (status[i]) {\n                tracked.push_back(trackedPointsNew[i]);\n                trackedPointsHistory[i].push_back(trackedPointsNew[i]);\n                if (trackedPointsHistory[i].size() > 5) {\n                    trackedPointsHistory[i].erase(trackedPointsHistory[i].begin());\n                }\n                trackedHistory.push_back(trackedPointsHistory[i]);\n            }\n        }\n        std::vector<cv::Point2f> add = extractFeature(score, 20, tracked);\n        std::vector<std::vector<cv::Point2f>> add_history(add.size());\n        for (size_t i = 0; i < add.size(); i++) {\n            add_history[i].push_back(add[i]);\n        }\n\n        trackedPoints.clear();\n        trackedPointsHistory.clear();\n\n        trackedPoints.insert(trackedPoints.end(), tracked.begin(), tracked.end());\n        trackedPoints.insert(trackedPoints.end(), add.begin(), add.end());\n        trackedPointsHistory.insert(trackedPointsHistory.end(), trackedHistory.begin(), trackedHistory.end());\n        trackedPointsHistory.insert(trackedPointsHistory.end(), add_history.begin(), add_history.end());\n    }\n    prevDesc = desc;\n}\n\nvoid corner_tracking::show(cv::Mat &img) {\n    for (auto& p : trackedPoints) {\n        cv::circle(img, p, 2, cv::Scalar(0, 255, 0), -1);\n    }\n    for (auto& history : trackedPointsHistory) {\n        for (size_t i = 1; i < history.size(); i++) {\n            cv::line(img, history[i - 1], history[i], cv::Scalar(0, 0, 255), 1);\n        }\n    }\n    cv::imshow(\"tracking\", img);\n}\n\nstd::vector<cv::Point2f> corner_tracking::extractFeature(\n        const cv::Mat& score,\n        int ncellsize,\n        const std::vector<cv::Point2f>& vcurkps)\n{\n    if (score.empty()) {\n        return std::vector<cv::Point2f>();\n    }\n\n    size_t ncols = score.cols;\n    size_t nrows = score.rows;\n\n    size_t nhalfcell = ncellsize / 4;\n\n    size_t nhcells = nrows / ncellsize;\n    size_t nwcells = ncols / ncellsize;\n    size_t nbcells = nhcells * nwcells;\n\n    std::vector<cv::Point2f> vdetectedpx;\n    vdetectedpx.reserve(nbcells);\n\n    std::vector<std::vector<bool>> voccupcells(\n            nhcells + 1,\n            std::vector<bool>(nwcells + 1, false)\n    );\n\n    cv::Mat mask = cv::Mat::ones(score.rows, score.cols, CV_8UC1);\n\n    for (const auto& px : vcurkps) {\n        voccupcells[px.y / ncellsize][px.x / ncellsize] = true;\n        cv::circle(mask, px, nhalfcell, cv::Scalar(0.), -1);\n    }\n\n    size_t nboccup = 0;\n\n    std::vector<std::vector<cv::Point2f>> vvdetectedpx(nbcells);\n    std::vector<std::vector<cv::Point2f>> vvsecdetectionspx(nbcells);\n\n    auto cvrange = cv::Range(0, nbcells);\n\n    parallel_for_(cvrange, [&](const cv::Range& range)\n    {\n        for (int i = range.start; i < range.end; i ++) {\n\n            size_t r = floor(i / nwcells);\n            size_t c = i % nwcells;\n\n            if( voccupcells[r][c] ) {\n                nboccup++;\n                continue;\n            }\n\n            size_t x = c*ncellsize;\n            size_t y = r*ncellsize;\n\n            cv::Rect hroi(x,y,ncellsize,ncellsize);\n\n            if( x+ncellsize < ncols-1 && y+ncellsize < nrows-1 ) {\n\n                double dminval, dmaxval;\n                cv::Point minpx, maxpx;\n\n                cv::minMaxLoc(score(hroi).mul(mask(hroi)), &dminval, &dmaxval, &minpx, &maxpx);\n                maxpx.x += x;\n                maxpx.y += y;\n\n                if( dmaxval >= 0.2) {\n                    vvdetectedpx.at(i).push_back(maxpx);\n                    cv::circle(mask, maxpx, nhalfcell, cv::Scalar(0.), -1);\n                }\n\n                cv::minMaxLoc(score(hroi).mul(mask(hroi)), &dminval, &dmaxval, &minpx, &maxpx);\n                maxpx.x += x;\n                maxpx.y += y;\n\n                if( dmaxval >= 0.2)\n                {\n                    vvsecdetectionspx.at(i).push_back(maxpx);\n                    cv::circle(mask, maxpx, nhalfcell, cv::Scalar(0.), -1);\n                }\n            }\n        }\n    });\n\n    for (const auto& vpx:vvdetectedpx) {\n        if (!vpx.empty()) {\n            vdetectedpx.insert(vdetectedpx.end(), vpx.begin(), vpx.end());\n        }\n    }\n\n    size_t nbkps = vdetectedpx.size();\n\n    if (nbkps + nboccup < nbcells) {\n        size_t nbsec = nbcells - nbkps - nboccup;\n        size_t k = 0;\n        for (const auto &vseckp : vvsecdetectionspx) {\n            if (!vseckp.empty()) {\n                vdetectedpx.push_back(vseckp.back());\n                k ++;\n                if (k == nbsec) {\n                    break;\n                }\n            }\n        }\n    }\n\n    return vdetectedpx;\n}\n\n\n\n"
  },
  {
    "path": "tracking.h",
    "content": "#ifndef __TRACKING_H_\n#define __TRACKING_H_\n#include <vector>\n#include \"opencv2/opencv.hpp\"\n\n\nclass corner_tracking\n{\npublic:\n    corner_tracking() = default;\n    ~corner_tracking() = default;\n    void update(const cv::Mat& score, const cv::Mat& desc);\n    void show(cv::Mat& img);\nprivate:\n    std::vector<cv::Point2f> extractFeature(\n            const cv::Mat& score,\n            int ncellsize = 20,\n            const std::vector<cv::Point2f>& points = std::vector<cv::Point2f>());\n\n    std::vector<cv::Point2f> trackedPoints;\n    std::vector<cv::Point2f> prevTrackedPoints;\n    cv::Mat prevScore;\n    cv::Mat prevDesc;\n    std::vector<std::vector<cv::Point2f>> trackedPointsHistory;\n};\n\n#endif //__TRACKING_H_\n"
  }
]