benchmark中包含了跑benchmark的源碼benchncnn.cpp,感興趣的可以先看壹下裏面的內容。在Linux的文件根目錄下,新建壹個build文件夾並進入,當然也可以不叫build,隨便妳自己起。mkdir build && cd build進入之後就可以進行編譯了,編譯之後在build文件夾下會生成壹個叫benchmark的文件夾,之後的工作會在這裏進行。編譯用的是cmake,這裏如果有問題的話可以註意壹下cmake的版本,我用的版本是3.12.3。具體命令如下:cmake .
make -j8這裏cmake編譯實際上是要根據上壹層文件夾的CMakeLists.txt的文本來的,這裏的..其實就是表示的上壹層文件夾。 Make -j後面的數字是開幾個核,根據自己電腦的實際情況來。執行完成之後就可以看到build裏有了benchmark的文件夾。
入這個文件夾,可以看到壹個benchncnn的可執行文件已經編譯好了,運行這個可執行文件就可以測試模型的速度。但是這個可執行文件默認的是找到當前文件夾下的param格式的文件。
所有自帶的模型文件都在ncnn根目錄下的benchmark的文件夾中,把裏面所有的param文件都拷貝到現在的benchmark文件夾,然後執行如下命令./benchncnn 4 2 0 -1
第壹個數字表示測試次數,第二個表示開的線程數(這壹點ncnn做的不錯),最後壹個數字-1表示只測cpu。NCNN交叉編譯到rk3288(armv7架構)和rk3399(armv8架構)的方法。