腾讯神经网络推理框架NCNN试玩儿

ncnn 是腾讯开源的神经网络推理框架,既然是一个负责推理的框架,所以不能像TF那样创建网络并且训练,它的最大作用是为训练好的模型提供一个运行环境,可以解析并执行各种网络,查看效果,他可以支持各种类型的框架生成的网络,只要转换成ncnn格式即可应用。

官方仓库有详细介绍:

https://github.com/Tencent/ncnn.git

下面在普通PC的ubuntu18.04环境上搭建环境,运行一把。

1.下载代码:

git clone https://github.com/Tencent/ncnn.git

2.配置环境:

cd ncnn
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=relwithdebinfo -DNCNN_OPENMP=OFF -DNCNN_THREADS=OFF -DNCNN_RUNTIME_CPU=OFF -DNCNN_RVV=ON -DNCNN_SIMPLEOCV=ON -DNCNN_BUILD_EXAMPLES=ON ..

3.编译

make -j8
czl@czl-VirtualBox:~/ncnn/build$ make -j8
Scanning dependencies of target darknet2ncnn
Scanning dependencies of target ncnn-generate-spirv
Scanning dependencies of target mxnet2ncnn
Scanning dependencies of target ncnnmerge
[  1%] Running C++ protocol buffer compiler on onnx.proto
[  1%] Running C++ protocol buffer compiler on caffe.proto
[  1%] Built target ncnn-generate-spirv
[  2%] Building CXX object tools/CMakeFiles/ncnnmerge.dir/ncnnmerge.cpp.o
[  2%] Building CXX object tools/mxnet/CMakeFiles/mxnet2ncnn.dir/mxnet2ncnn.cpp.o
[  2%] Building CXX object tools/darknet/CMakeFiles/darknet2ncnn.dir/darknet2ncnn.cpp.o
[  3%] Building CXX object tools/onnx/CMakeFiles/onnx2ncnn.dir/onnx.pb.cc.o
[  3%] Building CXX object tools/onnx/CMakeFiles/onnx2ncnn.dir/onnx2ncnn.cpp.o
[  4%] Building CXX object tools/caffe/CMakeFiles/caffe2ncnn.dir/caffe2ncnn.cpp.o
[  4%] Building CXX object tools/caffe/CMakeFiles/caffe2ncnn.dir/caffe.pb.cc.o
[  4%] Building CXX object src/CMakeFiles/ncnn.dir/allocator.cpp.o
[  4%] Linking CXX executable ncnnmerge
[  4%] Built target ncnnmerge
[  5%] Building CXX object src/CMakeFiles/ncnn.dir/benchmark.cpp.o
[  5%] Building CXX object src/CMakeFiles/ncnn.dir/blob.cpp.o
[  6%] Building CXX object src/CMakeFiles/ncnn.dir/c_api.cpp.o
[  6%] Building CXX object src/CMakeFiles/ncnn.dir/command.cpp.o
[  7%] Building CXX object src/CMakeFiles/ncnn.dir/cpu.cpp.o
[  7%] Building CXX object src/CMakeFiles/ncnn.dir/datareader.cpp.o
[  7%] Building CXX object src/CMakeFiles/ncnn.dir/layer.cpp.o
[  8%] Building CXX object src/CMakeFiles/ncnn.dir/gpu.cpp.o
[  9%] Building CXX object src/CMakeFiles/ncnn.dir/mat.cpp.o
[  9%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel.cpp.o
[ 10%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_affine.cpp.o
[ 10%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_drawing.cpp.o
[ 11%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_resize.cpp.o
[ 12%] Building CXX object src/CMakeFiles/ncnn.dir/modelbin.cpp.o
[ 12%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_rotate.cpp.o
[ 13%] Building CXX object src/CMakeFiles/ncnn.dir/option.cpp.o
[ 12%] Building CXX object src/CMakeFiles/ncnn.dir/net.cpp.o
[ 13%] Building CXX object src/CMakeFiles/ncnn.dir/paramdict.cpp.o
[ 14%] Building CXX object src/CMakeFiles/ncnn.dir/pipeline.cpp.o
[ 15%] Building CXX object src/CMakeFiles/ncnn.dir/simpleocv.cpp.o
[ 15%] Building CXX object src/CMakeFiles/ncnn.dir/pipelinecache.cpp.o
[ 15%] Building CXX object src/CMakeFiles/ncnn.dir/simpleomp.cpp.o
[ 16%] Building CXX object src/CMakeFiles/ncnn.dir/simplestl.cpp.o
[ 16%] Building CXX object src/CMakeFiles/ncnn.dir/layer/absval.cpp.o
[ 17%] Building CXX object src/CMakeFiles/ncnn.dir/layer/batchnorm.cpp.o
[ 17%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/batchnorm_x86.cpp.o
[ 18%] Building CXX object src/CMakeFiles/ncnn.dir/layer/bias.cpp.o
[ 18%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/bias_x86.cpp.o
[ 19%] Building CXX object src/CMakeFiles/ncnn.dir/layer/bnll.cpp.o
[ 19%] Building CXX object src/CMakeFiles/ncnn.dir/layer/concat.cpp.o
[ 20%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/concat_x86.cpp.o
[ 20%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolution.cpp.o
[ 21%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolution_x86.cpp.o
[ 21%] Building CXX object src/CMakeFiles/ncnn.dir/layer/crop.cpp.o
[ 21%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deconvolution.cpp.o
[ 22%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/crop_x86.cpp.o
[ 23%] Linking CXX executable darknet2ncnn
[ 24%] Building CXX object src/CMakeFiles/ncnn.dir/layer/dropout.cpp.o
[ 24%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dropout_x86.cpp.o
[ 25%] Building CXX object src/CMakeFiles/ncnn.dir/layer/eltwise.cpp.o
[ 25%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/eltwise_x86.cpp.o
[ 25%] Built target darknet2ncnn
[ 26%] Building CXX object src/CMakeFiles/ncnn.dir/layer/elu.cpp.o
[ 26%] Building CXX object src/CMakeFiles/ncnn.dir/layer/embed.cpp.o
[ 27%] Building CXX object src/CMakeFiles/ncnn.dir/layer/exp.cpp.o
[ 26%] Building CXX object src/CMakeFiles/ncnn.dir/layer/flatten.cpp.o
[ 28%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/innerproduct_x86.cpp.o
[ 28%] Building CXX object src/CMakeFiles/ncnn.dir/layer/innerproduct.cpp.o
[ 29%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/flatten_x86.cpp.o
[ 29%] Building CXX object src/CMakeFiles/ncnn.dir/layer/lrn.cpp.o
[ 29%] Building CXX object src/CMakeFiles/ncnn.dir/layer/input.cpp.o
[ 30%] Building CXX object src/CMakeFiles/ncnn.dir/layer/log.cpp.o
[ 31%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lrn_x86.cpp.o
[ 31%] Building CXX object src/CMakeFiles/ncnn.dir/layer/memorydata.cpp.o
[ 32%] Building CXX object src/CMakeFiles/ncnn.dir/layer/mvn.cpp.o
[ 32%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pooling.cpp.o
[ 33%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/pooling_x86.cpp.o
[ 33%] Building CXX object src/CMakeFiles/ncnn.dir/layer/power.cpp.o
[ 33%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/prelu_x86.cpp.o
[ 34%] Building CXX object src/CMakeFiles/ncnn.dir/layer/prelu.cpp.o
[ 35%] Building CXX object src/CMakeFiles/ncnn.dir/layer/proposal.cpp.o
[ 36%] Building CXX object src/CMakeFiles/ncnn.dir/layer/relu.cpp.o
[ 36%] Building CXX object src/CMakeFiles/ncnn.dir/layer/reduction.cpp.o
[ 36%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/relu_x86.cpp.o
[ 37%] Building CXX object src/CMakeFiles/ncnn.dir/layer/reshape.cpp.o
[ 37%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/reshape_x86.cpp.o
[ 37%] Building CXX object src/CMakeFiles/ncnn.dir/layer/scale.cpp.o
[ 39%] Building CXX object src/CMakeFiles/ncnn.dir/layer/roipooling.cpp.o
[ 38%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/scale_x86.cpp.o
[ 39%] Building CXX object src/CMakeFiles/ncnn.dir/layer/sigmoid.cpp.o
[ 40%] Building CXX object src/CMakeFiles/ncnn.dir/layer/slice.cpp.o
[ 41%] Linking CXX executable mxnet2ncnn
[ 41%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/sigmoid_x86.cpp.o
[ 41%] Built target mxnet2ncnn
[ 42%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/slice_x86.cpp.o
[ 43%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/tanh_x86.cpp.o
[ 43%] Building CXX object src/CMakeFiles/ncnn.dir/layer/softmax.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/layer/split.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/layer/tanh.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/layer/lstm.cpp.o
[ 45%] Building CXX object src/CMakeFiles/ncnn.dir/layer/rnn.cpp.o
[ 45%] Building CXX object src/CMakeFiles/ncnn.dir/layer/threshold.cpp.o
[ 46%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lstm_x86.cpp.o
[ 46%] Building CXX object src/CMakeFiles/ncnn.dir/layer/binaryop.cpp.o
[ 46%] Building CXX object src/CMakeFiles/ncnn.dir/layer/unaryop.cpp.o
[ 47%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/binaryop_x86.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolutiondepthwise.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolutiondepthwise_x86.cpp.o
[ 49%] Building CXX object src/CMakeFiles/ncnn.dir/layer/padding.cpp.o
[ 49%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/padding_x86.cpp.o
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/squeeze.cpp.o
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/expanddims.cpp.o
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/permute.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncnn.dir/layer/normalize.cpp.o
[ 52%] Building CXX object src/CMakeFiles/ncnn.dir/layer/detectionoutput.cpp.o
[ 52%] Building CXX object src/CMakeFiles/ncnn.dir/layer/priorbox.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncnn.dir/layer/interp.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deconvolutiondepthwise.cpp.o
[ 54%] Building CXX object src/CMakeFiles/ncnn.dir/layer/shufflechannel.cpp.o
[ 54%] Building CXX object src/CMakeFiles/ncnn.dir/layer/instancenorm.cpp.o
[ 55%] Building CXX object src/CMakeFiles/ncnn.dir/layer/clip.cpp.o
[ 55%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/clip_x86.cpp.o
[ 56%] Building CXX object src/CMakeFiles/ncnn.dir/layer/reorg.cpp.o
[ 56%] Building CXX object src/CMakeFiles/ncnn.dir/layer/yolodetectionoutput.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/quantize.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/quantize_x86.cpp.o
[ 58%] Building CXX object src/CMakeFiles/ncnn.dir/layer/dequantize.cpp.o
[ 58%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dequantize_x86.cpp.o
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/yolov3detectionoutput.cpp.o
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/yolov3detectionoutput_x86.cpp.o
[ 60%] Building CXX object src/CMakeFiles/ncnn.dir/layer/psroipooling.cpp.o
[ 60%] Building CXX object src/CMakeFiles/ncnn.dir/layer/roialign.cpp.o
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/roialign_x86.cpp.o
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/packing.cpp.o
[ 62%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/packing_x86.cpp.o
[ 62%] Building CXX object src/CMakeFiles/ncnn.dir/layer/requantize.cpp.o
[ 63%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/requantize_x86.cpp.o
[ 63%] Building CXX object src/CMakeFiles/ncnn.dir/layer/cast.cpp.o
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/cast_x86.cpp.o
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/hardsigmoid.cpp.o
[ 65%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardsigmoid_x86.cpp.o
[ 65%] Building CXX object src/CMakeFiles/ncnn.dir/layer/selu.cpp.o
[ 66%] Building CXX object src/CMakeFiles/ncnn.dir/layer/hardswish.cpp.o
[ 66%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardswish_x86.cpp.o
[ 67%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pixelshuffle.cpp.o
[ 68%] Building CXX object src/CMakeFiles/ncnn.dir/layer/noop.cpp.o
[ 68%] Building CXX object src/CMakeFiles/ncnn.dir/layer/mish.cpp.o
[ 68%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deepcopy.cpp.o
[ 69%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/swish_x86.cpp.o
[ 70%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/mish_x86.cpp.o
[ 70%] Building CXX object src/CMakeFiles/ncnn.dir/layer/statisticspooling.cpp.o
[ 70%] Building CXX object src/CMakeFiles/ncnn.dir/layer/swish.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/gemm.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/groupnorm.cpp.o
[ 72%] Building CXX object src/CMakeFiles/ncnn.dir/layer/layernorm.cpp.o
[ 72%] Building CXX object src/CMakeFiles/ncnn.dir/layer/softplus.cpp.o
[ 73%] Building CXX object src/CMakeFiles/ncnn.dir/layer/gru.cpp.o
[ 73%] Building CXX object src/CMakeFiles/ncnn.dir/layer/multiheadattention.cpp.o
[ 74%] Building CXX object src/CMakeFiles/ncnn.dir/layer/gelu.cpp.o
[ 74%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolution1d.cpp.o
[ 75%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pooling1d.cpp.o
[ 75%] Linking CXX static library libncnn.a
[ 75%] Built target ncnn
[ 75%] Building CXX object benchmark/CMakeFiles/benchncnn.dir/benchncnn.cpp.o
[ 76%] Building CXX object examples/CMakeFiles/simplepose.dir/simplepose.cpp.o
[ 77%] Building CXX object examples/CMakeFiles/yolov3.dir/yolov3.cpp.o
[ 78%] Building CXX object examples/CMakeFiles/scrfd.dir/scrfd.cpp.o
[ 79%] Linking CXX executable benchncnn
[ 79%] Linking CXX executable scrfd
[ 79%] Built target benchncnn
[ 79%] Linking CXX executable yolov3
[ 79%] Linking CXX executable simplepose
[ 80%] Building CXX object examples/CMakeFiles/rfcn.dir/rfcn.cpp.o
[ 80%] Linking CXX executable rfcn
[ 80%] Built target simplepose
[ 80%] Built target rfcn
[ 80%] Built target yolov3
[ 80%] Built target scrfd
[ 81%] Building CXX object examples/CMakeFiles/yolov4.dir/yolov4.cpp.o
[ 82%] Building CXX object examples/CMakeFiles/squeezenet.dir/squeezenet.cpp.o
[ 83%] Building CXX object examples/CMakeFiles/shufflenetv2.dir/shufflenetv2.cpp.o
[ 83%] Building CXX object examples/CMakeFiles/nanodet.dir/nanodet.cpp.o
[ 83%] Linking CXX executable yolov4
[ 84%] Linking CXX executable squeezenet
[ 84%] Linking CXX executable nanodet
[ 83%] Linking CXX executable shufflenetv2
[ 84%] Built target nanodet
[ 84%] Built target yolov4
[ 84%] Built target squeezenet
[ 84%] Built target shufflenetv2
[ 84%] Building CXX object examples/CMakeFiles/mobilenetv2ssdlite.dir/mobilenetv2ssdlite.cpp.o
[ 85%] Building CXX object examples/CMakeFiles/yolov5.dir/yolov5.cpp.o
[ 86%] Building CXX object examples/CMakeFiles/yolov2.dir/yolov2.cpp.o
[ 87%] Building CXX object examples/CMakeFiles/squeezenet_c_api.dir/squeezenet_c_api.cpp.o
[ 88%] Linking CXX executable mobilenetv2ssdlite
[ 89%] Linking CXX executable yolov5
[ 89%] Linking CXX executable yolov2
[ 89%] Linking CXX executable squeezenet_c_api
[ 89%] Building CXX object examples/CMakeFiles/mobilenetssd.dir/mobilenetssd.cpp.o
[ 90%] Linking CXX executable mobilenetssd
[ 90%] Built target yolov2
[ 90%] Built target squeezenet_c_api
[ 90%] Built target mobilenetv2ssdlite
[ 90%] Built target yolov5
[ 90%] Built target mobilenetssd
[ 90%] Building CXX object examples/CMakeFiles/fasterrcnn.dir/fasterrcnn.cpp.o
[ 91%] Building CXX object examples/CMakeFiles/yolact.dir/yolact.cpp.o
[ 92%] Building CXX object examples/CMakeFiles/retinaface.dir/retinaface.cpp.o
[ 93%] Building CXX object examples/CMakeFiles/squeezenetssd.dir/squeezenetssd.cpp.o
[ 94%] Building CXX object examples/CMakeFiles/peleenetssd_seg.dir/peleenetssd_seg.cpp.o
[ 95%] Linking CXX executable fasterrcnn
[ 95%] Linking CXX executable peleenetssd_seg
[ 95%] Linking CXX executable yolact
[ 95%] Linking CXX executable retinaface
[ 95%] Linking CXX executable squeezenetssd
[ 95%] Built target yolact
[ 95%] Built target fasterrcnn
[ 95%] Built target peleenetssd_seg
[ 95%] Built target retinaface
[ 95%] Built target squeezenetssd
[ 96%] Building CXX object tools/CMakeFiles/ncnn2mem.dir/ncnn2mem.cpp.o
[ 97%] Building CXX object tools/quantize/CMakeFiles/ncnn2table.dir/ncnn2table.cpp.o
[ 98%] Building CXX object tools/CMakeFiles/ncnnoptimize.dir/ncnnoptimize.cpp.o
[ 99%] Building CXX object tools/quantize/CMakeFiles/ncnn2int8.dir/ncnn2int8.cpp.o
[ 99%] Linking CXX executable ncnn2mem
[ 99%] Linking CXX executable ncnn2table
[ 99%] Linking CXX executable ncnn2int8
[ 99%] Linking CXX executable ncnnoptimize
[ 99%] Built target ncnn2mem
[ 99%] Built target ncnn2int8
[ 99%] Built target ncnnoptimize
[ 99%] Built target ncnn2table
[ 99%] Linking CXX executable onnx2ncnn
[ 99%] Built target onnx2ncnn
[100%] Linking CXX executable caffe2ncnn
[100%] Built target caffe2ncnn
czl@czl-VirtualBox:~/ncnn/build$ 

4.下载模型文件.

ncnn是一个编程框架,需要训练好的模型文件才能正常工作,可以理解NCC是一个模型的运行环境,所以需要准备好模型文件:

git clone https://github.com/nihui/ncnn-assets.git

5.运行benchmark

讲ncnn/benchmark目录下的*.param文件拷贝到ncnn/build/benchmark目录,执行

cp -fr ../../../ncnn/benchmark/*.param .

6.运行benchmark

可能是虚拟机内存不足的原因,出现coredump.

7.识别图片

进入到ncnn/build/examples目录,可以看到很多的可执行测试程序,分别用来测试不同的网络

拷贝模型文件到测试目录,由于不知道会用到哪个,索性一起拷贝。

拷贝人像到当前目录,林大美女:

5:运行识别程序:

执行sudo ./nanodet ./test.jpg(由于test.jpg是sudo copy过来的,所以这里不得已用了sudo命令)

可以看到,识别程序发现在坐标为(70.93, 92.84)位置处,范围为578.07x892.84的范围处,识别出一个物体,这个物体有89.061%的概率是一个人. 识别情况和图像还是非常匹配的。

选择一张难度大一点儿的图片,下图照片中有四朵金花,看能否识别出来:

运行程序:

可以看到,效果非常不错,四个人的坐标位置都成功标识出来了。


onnx网络到ncnn网络的转换

ncnn代码提供了将onnx模型转换为ncnn模型的工具,编译后工具输出在ncnn/build/tools/onnx目录下面:

例,将mnist.onnx 转换为 ncnn网络格式:


由于前面运行benchmark有问题,后面索性换了一台主机,重新配置编译,这次CMAKE没有开太多配置:

czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build$ cmake ../
-- CMAKE_INSTALL_PREFIX = /home/czl/Workspace/ncnn/ncnn/build/install
-- NCNN_VERSION_STRING = 1.0.20210724
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Target arch: x86
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
CMake Warning at examples/CMakeLists.txt:64 (message):
  OpenCV not found and NCNN_SIMPLEOCV disabled, examples won't be built


-- Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR) 
CMake Warning at tools/caffe/CMakeLists.txt:16 (message):
  Protobuf not found, caffe model convert tool won't be built


-- Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR) 
CMake Warning at tools/onnx/CMakeLists.txt:16 (message):
  Protobuf not found, onnx model convert tool won't be built


-- Configuring done
-- Generating done
-- Build files have been written to: /home/czl/Workspace/ncnn/ncnn/build
czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build$ 
czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build$ make -j8
Scanning dependencies of target ncnn-generate-spirv
Scanning dependencies of target ncnnmerge
Scanning dependencies of target mxnet2ncnn
Scanning dependencies of target darknet2ncnn
[  1%] Built target ncnn-generate-spirv
[  1%] Building CXX object tools/darknet/CMakeFiles/darknet2ncnn.dir/darknet2ncnn.cpp.o
[  1%] Building CXX object tools/CMakeFiles/ncnnmerge.dir/ncnnmerge.cpp.o
[  1%] Building CXX object tools/mxnet/CMakeFiles/mxnet2ncnn.dir/mxnet2ncnn.cpp.o
[  1%] Generating source batchnorm_x86_avx.cpp
[  1%] Generating source swish_x86_avx.cpp
[  1%] Generating source batchnorm_x86_avx2.h
[  2%] Generating source batchnorm_x86_avx.h
[  2%] Generating source batchnorm_x86_avx2.cpp
[  3%] Generating source bias_x86_avx2.h
[  3%] Generating source bias_x86_avx2.cpp
[  3%] Generating source bias_x86_avx.h
[  3%] Generating source bias_x86_avx.cpp
[  4%] Generating source concat_x86_avx2.h
[  4%] Generating source concat_x86_avx2.cpp
[  4%] Generating source concat_x86_avx.h
[  5%] Generating source concat_x86_avx.cpp
[  5%] Generating source convolution_x86_avx2.h
[  5%] Generating source convolution_x86_avx2.cpp
[  5%] Generating source convolution_x86_avx.h
[  6%] Generating source convolution_x86_avx.cpp
[  6%] Generating source crop_x86_avx2.h
[  6%] Generating source crop_x86_avx2.cpp
[  6%] Generating source crop_x86_avx.h
[  7%] Generating source crop_x86_avx.cpp
[  7%] Generating source dropout_x86_avx2.h
[  7%] Generating source dropout_x86_avx2.cpp
[  8%] Generating source dropout_x86_avx.cpp
[  8%] Generating source dropout_x86_avx.h
[  8%] Generating source eltwise_x86_avx2.h
[  8%] Generating source eltwise_x86_avx2.cpp
[  9%] Generating source eltwise_x86_avx.h
[  9%] Generating source eltwise_x86_avx.cpp
[  9%] Generating source flatten_x86_avx2.h
[ 10%] Generating source flatten_x86_avx2.cpp
[ 10%] Generating source flatten_x86_avx.h
[ 10%] Generating source innerproduct_x86_avx2.h
[ 10%] Generating source flatten_x86_avx.cpp
[ 11%] Generating source innerproduct_x86_avx2.cpp
[ 11%] Generating source innerproduct_x86_avx.cpp
[ 11%] Generating source innerproduct_x86_avx.h
[ 12%] Generating source lrn_x86_avx2.h
[ 12%] Generating source lrn_x86_avx2.cpp
[ 12%] Generating source lrn_x86_avx.h
[ 12%] Generating source lrn_x86_avx.cpp
[ 13%] Generating source pooling_x86_avx2.h
[ 13%] Generating source pooling_x86_avx2.cpp
[ 13%] Generating source pooling_x86_avx.h
[ 13%] Generating source pooling_x86_avx.cpp
[ 14%] Generating source prelu_x86_avx2.h
[ 14%] Generating source prelu_x86_avx2.cpp
[ 14%] Generating source prelu_x86_avx.h
[ 15%] Generating source prelu_x86_avx.cpp
[ 15%] Generating source relu_x86_avx2.h
[ 15%] Generating source relu_x86_avx2.cpp
[ 15%] Generating source relu_x86_avx.h
[ 16%] Generating source relu_x86_avx.cpp
[ 16%] Generating source reshape_x86_avx2.h
[ 16%] Generating source reshape_x86_avx2.cpp
[ 17%] Generating source reshape_x86_avx.cpp
[ 17%] Generating source reshape_x86_avx.h
[ 17%] Generating source scale_x86_avx2.h
[ 17%] Linking CXX executable ncnnmerge
[ 17%] Generating source scale_x86_avx2.cpp
[ 18%] Generating source scale_x86_avx.cpp
[ 18%] Generating source scale_x86_avx.h
[ 18%] Generating source sigmoid_x86_avx2.cpp
[ 18%] Generating source sigmoid_x86_avx2.h
[ 19%] Generating source sigmoid_x86_avx.h
[ 19%] Generating source sigmoid_x86_avx.cpp
[ 19%] Generating source slice_x86_avx2.h
[ 20%] Generating source slice_x86_avx2.cpp
[ 20%] Generating source slice_x86_avx.h
[ 20%] Generating source slice_x86_avx.cpp
[ 20%] Generating source tanh_x86_avx2.h
[ 21%] Generating source tanh_x86_avx2.cpp
[ 21%] Generating source tanh_x86_avx.h
[ 21%] Generating source tanh_x86_avx.cpp
[ 21%] Generating source lstm_x86_avx2.h
[ 22%] Generating source lstm_x86_avx2.cpp
[ 22%] Generating source lstm_x86_avx.h
[ 22%] Generating source lstm_x86_avx.cpp
[ 23%] Generating source binaryop_x86_avx2.h
[ 23%] Generating source binaryop_x86_avx2.cpp
[ 23%] Generating source binaryop_x86_avx.h
[ 23%] Built target ncnnmerge
[ 23%] Generating source binaryop_x86_avx.cpp
[ 24%] Generating source convolutiondepthwise_x86_avx2.h
[ 24%] Generating source convolutiondepthwise_x86_avx.h
[ 24%] Generating source convolutiondepthwise_x86_avx2.cpp
[ 25%] Generating source convolutiondepthwise_x86_avx.cpp
[ 25%] Generating source padding_x86_avx2.h
[ 25%] Generating source padding_x86_avx2.cpp
[ 26%] Generating source clip_x86_avx2.h
[ 26%] Generating source padding_x86_avx.cpp
[ 26%] Generating source clip_x86_avx2.cpp
[ 26%] Generating source padding_x86_avx.h
[ 26%] Generating source clip_x86_avx.h
[ 27%] Generating source clip_x86_avx.cpp
[ 28%] Generating source quantize_x86_avx.h
[ 28%] Generating source quantize_x86_avx.cpp
[ 28%] Generating source quantize_x86_avx2.h
[ 28%] Generating source quantize_x86_avx2.cpp
[ 28%] Generating source dequantize_x86_avx2.cpp
[ 28%] Generating source dequantize_x86_avx2.h
[ 28%] Generating source dequantize_x86_avx.cpp
[ 28%] Generating source yolov3detectionoutput_x86_avx2.h
[ 29%] Generating source dequantize_x86_avx.h
[ 30%] Generating source yolov3detectionoutput_x86_avx2.cpp
[ 30%] Generating source yolov3detectionoutput_x86_avx.h
[ 30%] Generating source yolov3detectionoutput_x86_avx.cpp
[ 31%] Generating source roialign_x86_avx2.cpp
[ 31%] Generating source roialign_x86_avx2.h
[ 31%] Generating source roialign_x86_avx.h
[ 31%] Generating source roialign_x86_avx.cpp
[ 31%] Generating source packing_x86_avx2.h
[ 31%] Generating source packing_x86_avx.h
[ 32%] Generating source packing_x86_avx2.cpp
[ 32%] Generating source packing_x86_avx.cpp
[ 33%] Generating source requantize_x86_avx2.h
[ 34%] Generating source cast_x86_avx2.h
[ 34%] Generating source requantize_x86_avx2.cpp
[ 34%] Generating source requantize_x86_avx.h
[ 34%] Generating source requantize_x86_avx.cpp
[ 34%] Generating source cast_x86_avx2.cpp
[ 34%] Generating source cast_x86_avx.h
[ 34%] Generating source hardsigmoid_x86_avx2.h
[ 35%] Generating source cast_x86_avx.cpp
[ 35%] Generating source hardsigmoid_x86_avx2.cpp
[ 36%] Generating source hardsigmoid_x86_avx.cpp
[ 36%] Generating source hardsigmoid_x86_avx.h
[ 36%] Generating source hardswish_x86_avx2.h
[ 36%] Generating source hardswish_x86_avx2.cpp
[ 36%] Generating source hardswish_x86_avx.h
[ 37%] Generating source hardswish_x86_avx.cpp
[ 37%] Generating source mish_x86_avx2.h
[ 37%] Generating source mish_x86_avx2.cpp
[ 38%] Generating source mish_x86_avx.h
[ 38%] Generating source mish_x86_avx.cpp
[ 38%] Generating source swish_x86_avx2.h
[ 39%] Generating source swish_x86_avx.h
[ 39%] Generating source swish_x86_avx2.cpp
Scanning dependencies of target ncnn
[ 39%] Building CXX object src/CMakeFiles/ncnn.dir/blob.cpp.o
[ 39%] Building CXX object src/CMakeFiles/ncnn.dir/allocator.cpp.o
[ 39%] Building CXX object src/CMakeFiles/ncnn.dir/command.cpp.o
[ 40%] Building CXX object src/CMakeFiles/ncnn.dir/benchmark.cpp.o
[ 41%] Building CXX object src/CMakeFiles/ncnn.dir/cpu.cpp.o
[ 41%] Building CXX object src/CMakeFiles/ncnn.dir/c_api.cpp.o
[ 41%] Building CXX object src/CMakeFiles/ncnn.dir/datareader.cpp.o
[ 41%] Building CXX object src/CMakeFiles/ncnn.dir/gpu.cpp.o
[ 41%] Building CXX object src/CMakeFiles/ncnn.dir/layer.cpp.o
[ 42%] Building CXX object src/CMakeFiles/ncnn.dir/mat.cpp.o
[ 42%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel.cpp.o
[ 42%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_affine.cpp.o
[ 43%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_drawing.cpp.o
[ 43%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_resize.cpp.o
[ 43%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel_rotate.cpp.o
[ 43%] Building CXX object src/CMakeFiles/ncnn.dir/modelbin.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/net.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/option.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/paramdict.cpp.o
[ 45%] Building CXX object src/CMakeFiles/ncnn.dir/pipeline.cpp.o
[ 45%] Building CXX object src/CMakeFiles/ncnn.dir/pipelinecache.cpp.o
[ 45%] Building CXX object src/CMakeFiles/ncnn.dir/simpleocv.cpp.o
[ 45%] Building CXX object src/CMakeFiles/ncnn.dir/simpleomp.cpp.o
[ 46%] Linking CXX executable darknet2ncnn
[ 47%] Building CXX object src/CMakeFiles/ncnn.dir/simplestl.cpp.o
[ 47%] Building CXX object src/CMakeFiles/ncnn.dir/layer/absval.cpp.o
[ 47%] Built target darknet2ncnn
[ 47%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/batchnorm_x86.cpp.o
[ 47%] Building CXX object src/CMakeFiles/ncnn.dir/layer/batchnorm.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/batchnorm_x86_avx2.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/batchnorm_x86_avx.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncnn.dir/layer/bias.cpp.o
[ 49%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/bias_x86.cpp.o
[ 49%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/bias_x86_avx2.cpp.o
[ 49%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/bias_x86_avx.cpp.o
[ 49%] Building CXX object src/CMakeFiles/ncnn.dir/layer/bnll.cpp.o
[ 49%] Linking CXX executable mxnet2ncnn
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/concat.cpp.o
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/concat_x86.cpp.o
[ 50%] Built target mxnet2ncnn
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/concat_x86_avx2.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/concat_x86_avx.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolution.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolution_x86.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolution_x86_avx2.cpp.o
[ 52%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolution_x86_avx.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/convolution_x86_avx.cpp:24:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 52%] Building CXX object src/CMakeFiles/ncnn.dir/layer/crop.cpp.o
[ 52%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/crop_x86.cpp.o
[ 52%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/crop_x86_avx2.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/crop_x86_avx.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deconvolution.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncnn.dir/layer/dropout.cpp.o
[ 54%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dropout_x86.cpp.o
[ 54%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dropout_x86_avx2.cpp.o
[ 54%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dropout_x86_avx.cpp.o
[ 54%] Building CXX object src/CMakeFiles/ncnn.dir/layer/eltwise.cpp.o
[ 55%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/eltwise_x86.cpp.o
[ 55%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/eltwise_x86_avx2.cpp.o
[ 55%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/eltwise_x86_avx.cpp.o
[ 56%] Building CXX object src/CMakeFiles/ncnn.dir/layer/elu.cpp.o
[ 56%] Building CXX object src/CMakeFiles/ncnn.dir/layer/embed.cpp.o
[ 56%] Building CXX object src/CMakeFiles/ncnn.dir/layer/exp.cpp.o
[ 56%] Building CXX object src/CMakeFiles/ncnn.dir/layer/flatten.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/flatten_x86.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/flatten_x86_avx2.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/flatten_x86_avx.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/innerproduct.cpp.o
[ 58%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/innerproduct_x86.cpp.o
[ 58%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/innerproduct_x86_avx2.cpp.o
[ 58%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/innerproduct_x86_avx.cpp.o
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/input.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/innerproduct_x86_avx.cpp:24:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/log.cpp.o
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/lrn.cpp.o
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lrn_x86.cpp.o
[ 60%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lrn_x86_avx2.cpp.o
[ 60%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lrn_x86_avx.cpp.o
[ 60%] Building CXX object src/CMakeFiles/ncnn.dir/layer/memorydata.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/lrn_x86_avx.cpp:18:0:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/mvn.cpp.o
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pooling.cpp.o
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/pooling_x86.cpp.o
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/pooling_x86_avx2.cpp.o
[ 62%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/pooling_x86_avx.cpp.o
[ 62%] Building CXX object src/CMakeFiles/ncnn.dir/layer/power.cpp.o
[ 62%] Building CXX object src/CMakeFiles/ncnn.dir/layer/prelu.cpp.o
[ 62%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/prelu_x86.cpp.o
[ 63%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/prelu_x86_avx2.cpp.o
[ 63%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/prelu_x86_avx.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/prelu_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/proposal.cpp.o
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/reduction.cpp.o
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/relu.cpp.o
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/relu_x86.cpp.o
[ 64%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/relu_x86_avx2.cpp.o
[ 65%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/relu_x86_avx.cpp.o
[ 65%] Building CXX object src/CMakeFiles/ncnn.dir/layer/reshape.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/relu_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 65%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/reshape_x86.cpp.o
[ 66%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/reshape_x86_avx2.cpp.o
[ 66%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/reshape_x86_avx.cpp.o
[ 66%] Building CXX object src/CMakeFiles/ncnn.dir/layer/roipooling.cpp.o
[ 66%] Building CXX object src/CMakeFiles/ncnn.dir/layer/scale.cpp.o
[ 67%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/scale_x86.cpp.o
[ 67%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/scale_x86_avx2.cpp.o
[ 67%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/scale_x86_avx.cpp.o
[ 67%] Building CXX object src/CMakeFiles/ncnn.dir/layer/sigmoid.cpp.o
[ 68%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/sigmoid_x86.cpp.o
[ 68%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/sigmoid_x86_avx2.cpp.o
[ 68%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/sigmoid_x86_avx.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/sigmoid_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 69%] Building CXX object src/CMakeFiles/ncnn.dir/layer/slice.cpp.o
[ 69%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/slice_x86.cpp.o
[ 69%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/slice_x86_avx2.cpp.o
[ 69%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/slice_x86_avx.cpp.o
[ 70%] Building CXX object src/CMakeFiles/ncnn.dir/layer/softmax.cpp.o
[ 70%] Building CXX object src/CMakeFiles/ncnn.dir/layer/split.cpp.o
[ 70%] Building CXX object src/CMakeFiles/ncnn.dir/layer/tanh.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/tanh_x86.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/tanh_x86_avx2.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/tanh_x86_avx.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/threshold.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/tanh_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 72%] Building CXX object src/CMakeFiles/ncnn.dir/layer/rnn.cpp.o
[ 72%] Building CXX object src/CMakeFiles/ncnn.dir/layer/lstm.cpp.o
[ 72%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lstm_x86.cpp.o
[ 72%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lstm_x86_avx2.cpp.o
[ 73%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/lstm_x86_avx.cpp.o
[ 73%] Building CXX object src/CMakeFiles/ncnn.dir/layer/binaryop.cpp.o
[ 73%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/binaryop_x86.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/lstm_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 74%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/binaryop_x86_avx2.cpp.o
[ 74%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/binaryop_x86_avx.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/binaryop_x86_avx.cpp:20:0:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 74%] Building CXX object src/CMakeFiles/ncnn.dir/layer/unaryop.cpp.o
[ 74%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolutiondepthwise.cpp.o
[ 75%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolutiondepthwise_x86.cpp.o
[ 75%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolutiondepthwise_x86_avx2.cpp.o
[ 75%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/convolutiondepthwise_x86_avx.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/convolutiondepthwise_x86_avx.cpp:24:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 76%] Building CXX object src/CMakeFiles/ncnn.dir/layer/padding.cpp.o
[ 76%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/padding_x86.cpp.o
[ 76%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/padding_x86_avx2.cpp.o
[ 76%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/padding_x86_avx.cpp.o
[ 77%] Building CXX object src/CMakeFiles/ncnn.dir/layer/squeeze.cpp.o
[ 77%] Building CXX object src/CMakeFiles/ncnn.dir/layer/expanddims.cpp.o
[ 77%] Building CXX object src/CMakeFiles/ncnn.dir/layer/normalize.cpp.o
[ 77%] Building CXX object src/CMakeFiles/ncnn.dir/layer/permute.cpp.o
[ 78%] Building CXX object src/CMakeFiles/ncnn.dir/layer/priorbox.cpp.o
[ 78%] Building CXX object src/CMakeFiles/ncnn.dir/layer/detectionoutput.cpp.o
[ 78%] Building CXX object src/CMakeFiles/ncnn.dir/layer/interp.cpp.o
[ 79%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deconvolutiondepthwise.cpp.o
[ 79%] Building CXX object src/CMakeFiles/ncnn.dir/layer/shufflechannel.cpp.o
[ 79%] Building CXX object src/CMakeFiles/ncnn.dir/layer/instancenorm.cpp.o
[ 79%] Building CXX object src/CMakeFiles/ncnn.dir/layer/clip.cpp.o
[ 80%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/clip_x86.cpp.o
[ 80%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/clip_x86_avx2.cpp.o
[ 80%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/clip_x86_avx.cpp.o
[ 81%] Building CXX object src/CMakeFiles/ncnn.dir/layer/reorg.cpp.o
[ 81%] Building CXX object src/CMakeFiles/ncnn.dir/layer/yolodetectionoutput.cpp.o
[ 81%] Building CXX object src/CMakeFiles/ncnn.dir/layer/quantize.cpp.o
[ 81%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/quantize_x86.cpp.o
[ 82%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/quantize_x86_avx2.cpp.o
[ 82%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/quantize_x86_avx.cpp.o
[ 82%] Building CXX object src/CMakeFiles/ncnn.dir/layer/dequantize.cpp.o
[ 82%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dequantize_x86.cpp.o
[ 83%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dequantize_x86_avx2.cpp.o
[ 83%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/dequantize_x86_avx.cpp.o
[ 83%] Building CXX object src/CMakeFiles/ncnn.dir/layer/yolov3detectionoutput.cpp.o
[ 84%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/yolov3detectionoutput_x86.cpp.o
[ 84%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/yolov3detectionoutput_x86_avx2.cpp.o
[ 84%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/yolov3detectionoutput_x86_avx.cpp.o
[ 84%] Building CXX object src/CMakeFiles/ncnn.dir/layer/psroipooling.cpp.o
[ 85%] Building CXX object src/CMakeFiles/ncnn.dir/layer/roialign.cpp.o
[ 85%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/roialign_x86.cpp.o
[ 85%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/roialign_x86_avx2.cpp.o
[ 86%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/roialign_x86_avx.cpp.o
[ 86%] Building CXX object src/CMakeFiles/ncnn.dir/layer/packing.cpp.o
[ 86%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/packing_x86.cpp.o
[ 86%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/packing_x86_avx2.cpp.o
[ 87%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/packing_x86_avx.cpp.o
/home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/yolov3detectionoutput_x86_avx.cpp: In member function ‘virtual int ncnn::Yolov3DetectionOutput_x86_avx::forward(const std::vector<ncnn::Mat>&, std::vector<ncnn::Mat>&, const ncnn::Option&) const’:
/home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/yolov3detectionoutput_x86_avx.cpp:83:27: warning: unused variable ‘vi’ [-Wunused-variable]
             const __m256i vi = _mm256_setr_epi32(
                           ^~
[ 87%] Building CXX object src/CMakeFiles/ncnn.dir/layer/requantize.cpp.o
[ 87%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/requantize_x86.cpp.o
[ 87%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/requantize_x86_avx2.cpp.o
[ 88%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/requantize_x86_avx.cpp.o
[ 88%] Building CXX object src/CMakeFiles/ncnn.dir/layer/cast.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/requantize_x86_avx.cpp:24:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 88%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/cast_x86.cpp.o
[ 89%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/cast_x86_avx2.cpp.o
[ 89%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/cast_x86_avx.cpp.o
[ 89%] Building CXX object src/CMakeFiles/ncnn.dir/layer/hardsigmoid.cpp.o
[ 89%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardsigmoid_x86.cpp.o
[ 90%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardsigmoid_x86_avx2.cpp.o
[ 90%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardsigmoid_x86_avx.cpp.o
[ 90%] Building CXX object src/CMakeFiles/ncnn.dir/layer/selu.cpp.o
[ 91%] Building CXX object src/CMakeFiles/ncnn.dir/layer/hardswish.cpp.o
[ 91%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardswish_x86.cpp.o
[ 91%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardswish_x86_avx2.cpp.o
[ 91%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/hardswish_x86_avx.cpp.o
[ 92%] Building CXX object src/CMakeFiles/ncnn.dir/layer/noop.cpp.o
[ 92%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pixelshuffle.cpp.o
[ 92%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deepcopy.cpp.o
[ 92%] Building CXX object src/CMakeFiles/ncnn.dir/layer/mish.cpp.o
[ 93%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/mish_x86.cpp.o
[ 93%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/mish_x86_avx2.cpp.o
[ 93%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/mish_x86_avx.cpp.o
[ 94%] Building CXX object src/CMakeFiles/ncnn.dir/layer/statisticspooling.cpp.o
[ 94%] Building CXX object src/CMakeFiles/ncnn.dir/layer/swish.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/mish_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 94%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/swish_x86.cpp.o
[ 94%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/swish_x86_avx2.cpp.o
[ 95%] Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/swish_x86_avx.cpp.o
[ 95%] Building CXX object src/CMakeFiles/ncnn.dir/layer/gemm.cpp.o
[ 95%] Building CXX object src/CMakeFiles/ncnn.dir/layer/groupnorm.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/src/layer/x86/x86_activation.h:129:0,
                 from /home/czl/Workspace/ncnn/ncnn/build/src/layer/x86/swish_x86_avx.cpp:17:
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:160:2: warning: #warning "Using SSE2 to perform AVX2 bitshift ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 bitshift ops"
  ^~~~~~~
/home/czl/Workspace/ncnn/ncnn/src/layer/x86/avx_mathfun.h:166:2: warning: #warning "Using SSE2 to perform AVX2 integer ops" [-Wcpp]
 #warning "Using SSE2 to perform AVX2 integer ops"
  ^~~~~~~
[ 96%] Building CXX object src/CMakeFiles/ncnn.dir/layer/layernorm.cpp.o
[ 96%] Building CXX object src/CMakeFiles/ncnn.dir/layer/softplus.cpp.o
[ 96%] Building CXX object src/CMakeFiles/ncnn.dir/layer/gru.cpp.o
[ 97%] Building CXX object src/CMakeFiles/ncnn.dir/layer/multiheadattention.cpp.o
[ 97%] Building CXX object src/CMakeFiles/ncnn.dir/layer/gelu.cpp.o
[ 97%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolution1d.cpp.o
[ 97%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pooling1d.cpp.o
/home/czl/Workspace/ncnn/ncnn/src/layer/convolution1d.cpp: In member function ‘virtual int ncnn::Convolution1D::create_pipeline(const ncnn::Option&)’:
/home/czl/Workspace/ncnn/ncnn/src/layer/convolution1d.cpp:60:50: warning: unused parameter ‘opt’ [-Wunused-parameter]
 int Convolution1D::create_pipeline(const Option& opt)
                                                  ^~~
[ 97%] Linking CXX static library libncnn.a
[ 97%] Built target ncnn
Scanning dependencies of target benchncnn
Scanning dependencies of target ncnn2mem
Scanning dependencies of target ncnnoptimize
Scanning dependencies of target ncnn2int8
Scanning dependencies of target ncnn2table
[ 97%] Building CXX object tools/CMakeFiles/ncnn2mem.dir/ncnn2mem.cpp.o
[ 97%] Building CXX object benchmark/CMakeFiles/benchncnn.dir/benchncnn.cpp.o
[ 97%] Building CXX object tools/CMakeFiles/ncnnoptimize.dir/ncnnoptimize.cpp.o
[ 97%] Building CXX object tools/quantize/CMakeFiles/ncnn2table.dir/imreadwrite.cpp.o
[ 97%] Building CXX object tools/quantize/CMakeFiles/ncnn2table.dir/ncnn2table.cpp.o
[ 98%] Building CXX object tools/quantize/CMakeFiles/ncnn2int8.dir/ncnn2int8.cpp.o
In file included from /home/czl/Workspace/ncnn/ncnn/tools/ncnnoptimize.cpp:31:0:
/home/czl/Workspace/ncnn/ncnn/tools/modelwriter.h: In member function ‘int ModelWriter::save(const char*, const char*)’:
/home/czl/Workspace/ncnn/ncnn/tools/modelwriter.h:1745:70: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
         fprintf(stderr, "mac = %llu = %.2f M\n", mac, mac / 1000000.0);
                                                                      ^
In file included from /home/czl/Workspace/ncnn/ncnn/tools/quantize/ncnn2int8.cpp:32:0:
/home/czl/Workspace/ncnn/ncnn/tools/quantize/../modelwriter.h: In member function ‘int ModelWriter::save(const char*, const char*)’:
/home/czl/Workspace/ncnn/ncnn/tools/quantize/../modelwriter.h:1745:70: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
         fprintf(stderr, "mac = %llu = %.2f M\n", mac, mac / 1000000.0);
                                                                      ^
[ 98%] Linking CXX executable benchncnn
[ 99%] Linking CXX executable ncnn2mem
[ 99%] Built target benchncnn
[ 99%] Built target ncnn2mem
[ 99%] Linking CXX executable ncnn2int8
[ 99%] Built target ncnn2int8
[100%] Linking CXX executable ncnnoptimize
[100%] Built target ncnnoptimize
[100%] Linking CXX executable ncnn2table
[100%] Built target ncnn2table
czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build$

拷贝benchmark目录下的*.param文件到当前目录:

czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build/benchmark$ cp ./../../benchmark/*.param .
czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build/benchmark$ ls
alexnet.param        efficientnet_b0.param    mnasnet.param             mobilenet_v2.param        proxylessnasnet.param  resnet50.param         squeezenet_ssd_int8.param
benchncnn            efficientnetv2_b0.param  mobilenet_int8.param      mobilenetv2_yolov3.param  regnety_400m.param     shufflenet.param       squeezenet_ssd.param
blazeface.param      googlenet_int8.param     mobilenet.param           mobilenet_v3.param        resnet18_int8.param    shufflenet_v2.param    vgg16_int8.param
CMakeFiles           googlenet.param          mobilenet_ssd_int8.param  mobilenet_yolo.param      resnet18.param         squeezenet_int8.param  vgg16.param
cmake_install.cmake  Makefile                 mobilenet_ssd.param       nanodet_m.param           resnet50_int8.param    squeezenet.param       yolov4-tiny.param
czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build/benchmark$ ./benchncnn 
loop_count = 4
num_threads = 8
powersave = 0
gpu_device = -1
cooling_down = 1
          squeezenet  min =    9.30  max =   10.36  avg =    9.81
     squeezenet_int8  min =   16.34  max =   17.89  avg =   17.11
           mobilenet  min =    9.68  max =   10.90  avg =   10.14
      mobilenet_int8  min =   16.96  max =   17.95  avg =   17.32
        mobilenet_v2  min =   12.19  max =   12.66  avg =   12.45
        mobilenet_v3  min =    9.58  max =    9.96  avg =    9.79
          shufflenet  min =    5.65  max =    6.27  avg =    5.88
       shufflenet_v2  min =    4.89  max =    5.08  avg =    4.95
             mnasnet  min =    7.37  max =    7.72  avg =    7.55
     proxylessnasnet  min =    8.44  max =    8.57  avg =    8.50
     efficientnet_b0  min =   15.64  max =   15.86  avg =   15.72
   efficientnetv2_b0  min =   14.04  max =   14.25  avg =   14.12
        regnety_400m  min =   13.30  max =   13.45  avg =   13.38
           blazeface  min =    1.97  max =    2.49  avg =    2.19
           googlenet  min =   34.28  max =   35.10  avg =   34.60
      googlenet_int8  min =   55.18  max =   56.48  avg =   55.86
            resnet18  min =   41.80  max =   43.28  avg =   42.37
       resnet18_int8  min =   53.95  max =   54.31  avg =   54.20
             alexnet  min =   38.84  max =   45.25  avg =   40.75
               vgg16  min =  196.85  max =  202.48  avg =  199.53
          vgg16_int8  min =  450.36  max =  457.89  avg =  453.62
            resnet50  min =   81.79  max =   84.69  avg =   82.92
       resnet50_int8  min =  127.43  max =  134.42  avg =  129.45
      squeezenet_ssd  min =   46.91  max =   48.25  avg =   47.41
 squeezenet_ssd_int8  min =   71.44  max =   73.19  avg =   71.99
       mobilenet_ssd  min =   27.21  max =   28.00  avg =   27.51
  mobilenet_ssd_int8  min =   36.85  max =   41.69  avg =   38.16
      mobilenet_yolo  min =   78.30  max =   82.51  avg =   80.26
  mobilenetv2_yolov3  min =   49.91  max =   54.61  avg =   51.22
         yolov4-tiny  min =   66.96  max =   69.62  avg =   67.78
           nanodet_m  min =   12.82  max =   13.19  avg =   13.05
czl@czl-RedmiBook-14:~/Workspace/ncnn/ncnn/build/benchmark$ 

实际运行输出:

benchmark测试一切正常!

按照LOG序号显示的模型计算时间分布图:

针对特定处理器的算子优化在下面的位置:


结束!

猜你喜欢

转载自blog.csdn.net/tugouxp/article/details/118484125