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序号显示的模型计算时间分布图:
针对特定处理器的算子优化在下面的位置: