Repository: linyicheng1/LET-NET Branch: main Commit: 64dfae986d45 Files: 10 Total size: 73.2 KB Directory structure: gitextract_15a7jtc0/ ├── CMakeLists.txt ├── README.md ├── main.cpp ├── model/ │ ├── letnet-gray.onnx │ ├── letnet-gray.pt │ ├── letnet.onnx │ ├── letnet.pt │ └── model.param ├── tracking.cpp └── tracking.h ================================================ FILE CONTENTS ================================================ ================================================ FILE: CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.10) project(demo) set(CMAKE_CXX_STANDARD 14) SET(CMAKE_BUILD_TYPE Release) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ") set(ncnn_DIR "/home/c211/lyc/ncnn/alexnet_demo/ncnn/build/install/lib/cmake/ncnn" CACHE PATH "Directory that contains ncnnConfig.cmake") find_package(OpenCV REQUIRED) find_package(ncnn REQUIRED) add_executable(demo main.cpp tracking.cpp) target_link_libraries(demo ncnn ${OpenCV_LIBS} -fopenmp ) ================================================ FILE: README.md ================================================ # LET-NET: A lightweight CNN network for sparse corners extraction and tracking LET-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.
## News !!! **A new [version](https://github.com/linyicheng1/LET-NET2) with end-to-end training has been made publicly available.** 1. The LET-NET training code is released at https://github.com/linyicheng1/LET-NET-Train. 2. Gray Image is also suport in LET-NET, you can get pytorch and onnx model tpye in `./model/` 3. [LET-VINS](https://github.com/linyicheng1/LET-NET/blob/main/assets/VINS-Mono.zip) Demo run on UMA-VI dataset is released. 4. 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. 5. The preprinted paper was posted at [here](https://arxiv.org/abs/2310.15655). ## Related Paper - **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) ## 1. Prerequisites - OpenCV (https://docs.opencv.org/3.4/d7/d9f/tutorial_linux_install.html) - ncnn (https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux) > Notes: After installing ncnn, you need to change the path in CMakeLists.txt ``` set(ncnn_DIR "/install/lib/cmake/ncnn" CACHE PATH "Directory that contains ncnnConfig.cmake") ``` ## 2. Build ``` mkdir build && cd build cmake .. && make -j4 ``` ## 3. Run demo You can enter the path to a video or two images. ``` ./build/demo ``` or ``` ./build/demo ``` For example using the data we provide: ``` ./build/demo ./model/model.param ./model/model.bin ./assets/nyu_snippet.mp4 ``` You should see the following output from the NYU sequence snippet: ## 4. Examples ### Dynamic lighting The left is ours and the right is the original optical flow algorithm.
### Underwater The left is ours and the right is the original optical flow algorithm.
### Active light source The left is ours and the right is the original optical flow algorithm.
## 5. Cite ``` @ARTICLE{let-net, author={Lin, Yicheng and Wang, Shuo and Jiang, Yunlong and Han, Bin}, journal={IEEE Robotics and Automation Letters}, title={{Breaking of brightness consistency in optical flow with a lightweight CNN network}}, year={2024}, pages={1-8} } ``` ================================================ FILE: main.cpp ================================================ #include "net.h" #include "mat.h" #include "opencv2/opencv.hpp" #include "chrono" #include "tracking.h" #define IMG_H 240 #define IMG_W 320 int main(int argc, char** argv) { if (argc != 4 && argc != 5) { std::cout<<" Usage: ./demo or ./demo "<> frame; } else { static int i = 0; if (i == 0) frame = img1; else if (i == 1) frame = img2; else break; i++; } if (frame.empty()) break; cv::resize(frame, frame, cv::Size(IMG_W, IMG_H)); ////////////////////////// opencv image to ncnn mat ////////////////////////// std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now(); in = ncnn::Mat::from_pixels(frame.data, ncnn::Mat::PIXEL_BGR, frame.cols, frame.rows); in.substract_mean_normalize(mean_vals, norm_vals); ////////////////////////// ncnn forward ////////////////////////// std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now(); ex.input("input", in); ex.extract("score", out1); ex.extract("descriptor", out2); ////////////////////////// ncnn mat to opencv image ////////////////////////// std::chrono::high_resolution_clock::time_point t3 = std::chrono::high_resolution_clock::now(); out1.substract_mean_normalize(mean_vals_inv, norm_vals_inv); out2.substract_mean_normalize(mean_vals_inv, norm_vals_inv); // memcpy((uchar*)score.data, out1.data, sizeof(float) * out1.w * out1.h); out1.to_pixels(score.data, ncnn::Mat::PIXEL_GRAY); out2.to_pixels(desc.data, ncnn::Mat::PIXEL_BGR); std::chrono::high_resolution_clock::time_point t4 = std::chrono::high_resolution_clock::now(); ////////////////////////// show times ////////////////////////// std::chrono::duration time_used_1 = std::chrono::duration_cast>(t2-t1); std::chrono::duration time_used_2 = std::chrono::duration_cast>(t3-t2); std::chrono::duration time_used_3 = std::chrono::duration_cast>(t4-t3); std::cout<<"time_used 1 : "<  /block1/conv1/Conv_output_0/block1/gate/Relu_output_0/block1/gate/Relu"Relu2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/gate/Relu_output_0 onnx::Conv_38 onnx::Conv_39/block1/conv2/Conv_output_0/block1/conv2/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/conv2/Conv_output_0/block1/gate_1/Relu_output_0/block1/gate_1/Relu"Relu2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/gate_1/Relu_output_0 conv1.weight/conv1/Conv_output_0 /conv1/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2 /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /conv1/Conv_output_0/gate/Relu_output_0 /gate/Relu"Relu2 /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /gate/Relu_output_0 conv_head.weight/conv_head/Conv_output_0/conv_head/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2 /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(169): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): E/Constant_output_0 /Constant"Constant* value* J2 /conv_head/Conv_output_0 /Constant_output_0/Gather_output_0/Gather"Gather* axis2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Gather_output_0/Sigmoid_output_0/Sigmoid"Sigmoid2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Sigmoid_output_027 /Unsqueeze" Unsqueeze* axes@2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_1_output_0 /Constant_1"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_2_output_0 /Constant_2"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_3_output_0 /Constant_3"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_4_output_0 /Constant_4"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /conv_head/Conv_output_0 /Constant_2_output_0 /Constant_3_output_0 /Constant_1_output_0 /Constant_4_output_0/Slice_output_0/Slice"Slice2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Slice_output_033 /Sigmoid_1"Sigmoid2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  torch_jit*B conv1.weightJ>ԩoǾ={D>/!>ԓ>>>=N$M'r >؝ƍ}>>%' ;)>˾̈C>*> <3F"?S.JO>*>L=qy>/>hY>)>q>}Mu< >CS=}>頾!v>;xfF.=|>@U= >h<׫;=|>"?ٿmeq>y>Is===2ϾK:2 _aj>G>x4f>>$Q>6@j= /d<+]h>S=X'T>ysyV><_P?ڦ?=f=>ݱ !=>N=GU>>!Ľ'>k>h ==yn ս|/?Q.HQ= >>*Bconv_head.weightJVy+r9 ?aFԽCVĽ=[$}ET>z4=4%Υ=Wξs|>%=!=`F0Ǫ>aWc9">$R;0<> >GW]^?6>#Ѿ.@K="'{L毽L">Gk<ʵ2s4=4<.'u%, ?tĿsz((T]?S@%b;'9gĤd?kH/*B onnx::Conv_35Jm;b@BW@@:j@U0 @ztՠo?FA?'` ?@,?m?5=e?~@|Y@غ?@P EyC-vf!@z?p>|'?h(>]=?sf?l @8=>>?mZhc>%U-?>=YLw? 4 oz9C=)NZq?f>-4?ץZi(@Φ@@*5B onnx::Conv_36J 0 = 8?CcĿN?+?+=*B onnx::Conv_38Jg=0Խ K[{=d=f- === I=i4;ˎ;(漪N7=χ>]n=KU>6/\b=ş;}(C'>>,<=9F=}eX<}Ҫ=<ꋳ=)=bXt%}9bDA1ы==B 8j==l;/3i=<)>7 =3>!=8=_><-a<\ !==7=h]`I"9ځ7ojX<84who<ʷ& f_=m_Y ="C=m8V,=Q]Ij{=>Ϳ<޽~"G{*F=8==w=k =< P=R H=彂'=e=q=`S<[hIHl>~ھB=_<h>I8x辦6ѽ3dF쉽5^νk9=r"=7ԽY=ݕ`V {F@hc ;GX#={]=[=}= >ךs=S_D_=Ae=+'Z=0奼=CO= K=K>2b3>V>w`><> Tv=t<;=`R<=gGm=麀Y3`P>R=j>߰=(A=Ԁѽ*wM<209=*=໦@;iR꽰?j%<_=k<&ь*>6= /=*T> -==M^:XeB=;*>^k=yXz=LQm=9[<3>NX{Aց H0x|)3佣~E/:)E꾷 @UMsN50:!Fx!$>$#=V`= w>}u?h= ;nEΉyл{ J4^=lv)K == R33=B=;=F<.<ۊ=4=<~k=9=(?>9M=ޫԽ S=f;=tŽF{L=º2I>=y/,y=k<` ޽ ='&!6=b=ʼ/+;I<=ݫº(o>= >J}=_6Rg7Yi>L=`;>rX">З12sV>г=S=->VD>pl=e 6>'>ؑ>< 7>H?qC\3>-)>=$=>]7>~uK`lVpN9=Jv>L >gX<=ŗؾhQͤ\N>+3>>= >c=- >;Dd>,P.8=V=']>qžo|h=I#<+;Z}+>E>I_}$ >q>fh>ЌgY0<=\=m;>V>lN~>z:8P(>ʾ.A="s>q/,{8k>>4> }>[3?q߾i>ܗ>Zǽ=!h=> =qJ=P;dP(;w0=>>>=)Г=}o>L<==>%>=ρ>>%1M 30=:2q9=jD,=6E(3f<*5B onnx::Conv_39J x?]?fR??? 2H>a>Z# input.1     b 27     b 33     B ================================================ FILE: model/letnet.onnx ================================================ pytorch2.0.1:  input.1 onnx::Conv_35 onnx::Conv_36/block1/conv1/Conv_output_0/block1/conv1/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/conv1/Conv_output_0/block1/gate/Relu_output_0/block1/gate/Relu"Relu2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(49): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/gate/Relu_output_0 onnx::Conv_38 onnx::Conv_39/block1/conv2/Conv_output_0/block1/conv2/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/conv2/Conv_output_0/block1/gate_1/Relu_output_0/block1/gate_1/Relu"Relu2/home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(50): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(166): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /block1/gate_1/Relu_output_0 conv1.weight/conv1/Conv_output_0 /conv1/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2 /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /conv1/Conv_output_0/gate/Relu_output_0 /gate/Relu"Relu2 /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/functional.py(1455): relu /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/activation.py(103): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(167): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  /gate/Relu_output_0 conv_head.weight/conv_head/Conv_output_0/conv_head/Conv"Conv* dilations@@* group* kernel_shape@@* pads@@@@* strides@@2 /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(459): _conv_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/conv.py(463): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/nets/alnet.py(169): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): E/Constant_output_0 /Constant"Constant* value* J2 /conv_head/Conv_output_0 /Constant_output_0/Gather_output_0/Gather"Gather* axis2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Gather_output_0/Sigmoid_output_0/Sigmoid"Sigmoid2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Sigmoid_output_027 /Unsqueeze" Unsqueeze* axes@2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(170): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_1_output_0 /Constant_1"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_2_output_0 /Constant_2"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_3_output_0 /Constant_3"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Constant_4_output_0 /Constant_4"Constant* value*J2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /conv_head/Conv_output_0 /Constant_2_output_0 /Constant_3_output_0 /Constant_1_output_0 /Constant_4_output_0/Slice_output_0/Slice"Slice2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318): /Slice_output_033 /Sigmoid_1"Sigmoid2 /home/server/wangshuo/ALIKE_code/nets/alnet.py(171): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1488): _slow_forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(118): wrapper /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(127): forward /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/nn/modules/module.py(1501): _call_impl /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/jit/_trace.py(1268): _get_trace_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(893): _trace_and_get_graph_from_model /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(989): _create_jit_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1113): _model_to_graph /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(1548): _export /home/server/wangshuo/ALIKE_code/py38/lib/python3.8/site-packages/torch/onnx/utils.py(506): export /home/server/wangshuo/ALIKE_code/nets/alnet.py(318):  torch_jit*B conv1.weightJG->N3'=ܬ=orT7>`>z̾q;?F 3>n>HX|0-WGq>F'¾9>=wma>F=)> X=>A;+>az$=BѽeM뼡 P M&u>*?̀< =>~<='> ""wf10p8">P=| 4h>10>_Վ!ܛ>d}I?F_C4>>yl> =h=4p7=V ܃#>c>G =熾>u>w=<ͽ 8Fm*)=>Ou_|ě"=>f>Pe2ehp>~%==/>ce=>0> >)$>9\X=T"n< <+> >pw>|>I d>$>tZ*Bconv_head.weightJqӾ__w>e=}>D={js;<"=2鼓<>U?ϲ̾kS#D=XRp'$wryоK> iɽy'6=x}>.3=&">>Ovy+=H潕=< u^9.>z>h=@PlwZ>-^'۟?li<~￘ 6>zWֿӬc\x ^5@wi*B onnx::Conv_35JZ"4C>aϏ? ?[?ۍ@;?yS!q>>!?+M>P؎??pQaYG>?E ??U@O? ?`P?_Wd=? => >O)=??fq>?6Szt?|z^a @a?)?5#j??V>$i௘#UǾ,&5?.?h@E?EuZtſҍ?'? +gT7?{w@Y??W{g1=E@:ž/ @?e6Q:e9^@Yb~?ŭ?@[ Ae ??ۿ_A A*]?ɍS@z@e-@5A?mƻe?AYV;mƾ><s/8W8x>j=8„>+ =@b J=;h`  &>NK%>)_=l#ս>>2=5>)?j>?p>d ?Ay>??>\9?LP\ȃFkV>m>X =o߿E{>QC?l> ]I-W=ᙾ?*=&V?πJ>WH?g ⥋??>*?|?F???[G_?o{пqIL@m־\*>ojR??cCc? ;qA?;Q??V?~*???ݸ?vI>+>n77@>)ab?CMƾ/ @a?yIDjT>O>j:>@*5B onnx::Conv_36J I7?X-?2=W ?*?5?*B onnx::Conv_38JX<%Ӽ()=n8EQ=Q=q<\n='=b;I=S>ټY ^KнH*oNXV V"=P<׎By+;͵޳2=u=,oG<P;Z罣?=F+Lc==h M<ͺ/>P=_ >eC9=Vw>5<=+d= QY=d<6=́X=>S=i#>L H=G$>a>=NCC똽hPMOņMp0=!ER|5QK<\J <2<Žݽݼ"!}q˼r<d_0=D+ >T=7Է셽s.ba)W|} T=ׂ!1mo^;Ѽּn wx׽G>7;Š+=uMBl+ &>Ex*ݽD9 >#>t=U=Yĭ弡=)@>g>2>'ü>=ʲ~˻%GqXK<T6=_=B;ƮEh=;<=4ĻT齲 >52=t+=gj\>7>:ľ購|h=>0v=?Q>^`77=0>Զ=綼Oe=~ 6={38*<=z=}L=<.=t={Dn =H( q=7ۿb`#q=s>BF= !>=e|6&<ƫ*b= I˾v3'=bAI&=Q2>LǪ<[885G5GGcpcOmɟ=˒W=k)=(fECoe[OozVb< 8=bv=F+>mv=A 8<]=w=D"=6>A=)=>d= =">Ѽ+m=Ib=T=!==W=uD9=g=&E=]===mP=+Y;N/:_>N5=8I #ýmK<ĝɅtн$;bs/KA==4IqUWnJ>wD|>b>g >k>d;>Ŷ>p><漽&Mwcta?^?N>s?d~?6q@y>(()?Z# input.1     b 27     b 33     B ================================================ FILE: model/model.param ================================================ 7767517 14 15 Input input 0 1 input Convolution 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 ReLU Relu_1 1 1 input.4 onnx::Conv_17 Convolution 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 ReLU Relu_3 1 1 input.12 onnx::Conv_20 Convolution 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 ReLU Relu_5 1 1 input.16 onnx::Conv_22 Convolution 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 Split splitncnn_0 1 2 onnx::Gather_23 onnx::Gather_23_splitncnn_0 onnx::Gather_23_splitncnn_1 Crop Gather_8 1 1 onnx::Gather_23_splitncnn_1 onnx::Sigmoid_25 -23309=1,3 -23310=1,4 -23311=1,0 Sigmoid Sigmoid_9 1 1 onnx::Sigmoid_25 onnx::Unsqueeze_26 ExpandDims Unsqueeze_10 1 1 onnx::Unsqueeze_26 score -23303=1,0 Crop Slice_15 1 1 onnx::Gather_23_splitncnn_0 onnx::Sigmoid_32 -23309=1,0 -23310=1,-1 -23311=1,0 Sigmoid Sigmoid_16 1 1 onnx::Sigmoid_32 descriptor ================================================ FILE: tracking.cpp ================================================ #include "tracking.h" void corner_tracking::update(const cv::Mat& score, const cv::Mat& desc) { if (trackedPoints.empty()) {// first frame trackedPoints = extractFeature(score); trackedPointsHistory.resize(trackedPoints.size()); for (size_t i = 0; i < trackedPoints.size(); i++) { trackedPointsHistory[i].push_back(trackedPoints[i]); } } else { std::vector trackedPointsNew; std::vector status; std::vector err; cv::calcOpticalFlowPyrLK( prevDesc, desc, trackedPoints, trackedPointsNew, status, err); std::vector tracked = {}; std::vector> trackedHistory = {}; for (size_t i = 0; i < status.size(); i++) { if (status[i]) { tracked.push_back(trackedPointsNew[i]); trackedPointsHistory[i].push_back(trackedPointsNew[i]); if (trackedPointsHistory[i].size() > 5) { trackedPointsHistory[i].erase(trackedPointsHistory[i].begin()); } trackedHistory.push_back(trackedPointsHistory[i]); } } std::vector add = extractFeature(score, 20, tracked); std::vector> add_history(add.size()); for (size_t i = 0; i < add.size(); i++) { add_history[i].push_back(add[i]); } trackedPoints.clear(); trackedPointsHistory.clear(); trackedPoints.insert(trackedPoints.end(), tracked.begin(), tracked.end()); trackedPoints.insert(trackedPoints.end(), add.begin(), add.end()); trackedPointsHistory.insert(trackedPointsHistory.end(), trackedHistory.begin(), trackedHistory.end()); trackedPointsHistory.insert(trackedPointsHistory.end(), add_history.begin(), add_history.end()); } prevDesc = desc; } void corner_tracking::show(cv::Mat &img) { for (auto& p : trackedPoints) { cv::circle(img, p, 2, cv::Scalar(0, 255, 0), -1); } for (auto& history : trackedPointsHistory) { for (size_t i = 1; i < history.size(); i++) { cv::line(img, history[i - 1], history[i], cv::Scalar(0, 0, 255), 1); } } cv::imshow("tracking", img); } std::vector corner_tracking::extractFeature( const cv::Mat& score, int ncellsize, const std::vector& vcurkps) { if (score.empty()) { return std::vector(); } size_t ncols = score.cols; size_t nrows = score.rows; size_t nhalfcell = ncellsize / 4; size_t nhcells = nrows / ncellsize; size_t nwcells = ncols / ncellsize; size_t nbcells = nhcells * nwcells; std::vector vdetectedpx; vdetectedpx.reserve(nbcells); std::vector> voccupcells( nhcells + 1, std::vector(nwcells + 1, false) ); cv::Mat mask = cv::Mat::ones(score.rows, score.cols, CV_8UC1); for (const auto& px : vcurkps) { voccupcells[px.y / ncellsize][px.x / ncellsize] = true; cv::circle(mask, px, nhalfcell, cv::Scalar(0.), -1); } size_t nboccup = 0; std::vector> vvdetectedpx(nbcells); std::vector> vvsecdetectionspx(nbcells); auto cvrange = cv::Range(0, nbcells); parallel_for_(cvrange, [&](const cv::Range& range) { for (int i = range.start; i < range.end; i ++) { size_t r = floor(i / nwcells); size_t c = i % nwcells; if( voccupcells[r][c] ) { nboccup++; continue; } size_t x = c*ncellsize; size_t y = r*ncellsize; cv::Rect hroi(x,y,ncellsize,ncellsize); if( x+ncellsize < ncols-1 && y+ncellsize < nrows-1 ) { double dminval, dmaxval; cv::Point minpx, maxpx; cv::minMaxLoc(score(hroi).mul(mask(hroi)), &dminval, &dmaxval, &minpx, &maxpx); maxpx.x += x; maxpx.y += y; if( dmaxval >= 0.2) { vvdetectedpx.at(i).push_back(maxpx); cv::circle(mask, maxpx, nhalfcell, cv::Scalar(0.), -1); } cv::minMaxLoc(score(hroi).mul(mask(hroi)), &dminval, &dmaxval, &minpx, &maxpx); maxpx.x += x; maxpx.y += y; if( dmaxval >= 0.2) { vvsecdetectionspx.at(i).push_back(maxpx); cv::circle(mask, maxpx, nhalfcell, cv::Scalar(0.), -1); } } } }); for (const auto& vpx:vvdetectedpx) { if (!vpx.empty()) { vdetectedpx.insert(vdetectedpx.end(), vpx.begin(), vpx.end()); } } size_t nbkps = vdetectedpx.size(); if (nbkps + nboccup < nbcells) { size_t nbsec = nbcells - nbkps - nboccup; size_t k = 0; for (const auto &vseckp : vvsecdetectionspx) { if (!vseckp.empty()) { vdetectedpx.push_back(vseckp.back()); k ++; if (k == nbsec) { break; } } } } return vdetectedpx; } ================================================ FILE: tracking.h ================================================ #ifndef __TRACKING_H_ #define __TRACKING_H_ #include #include "opencv2/opencv.hpp" class corner_tracking { public: corner_tracking() = default; ~corner_tracking() = default; void update(const cv::Mat& score, const cv::Mat& desc); void show(cv::Mat& img); private: std::vector extractFeature( const cv::Mat& score, int ncellsize = 20, const std::vector& points = std::vector()); std::vector trackedPoints; std::vector prevTrackedPoints; cv::Mat prevScore; cv::Mat prevDesc; std::vector> trackedPointsHistory; }; #endif //__TRACKING_H_