我这部分的实验都是在HCAI1H_HOST_SDK下的,只作为体验。
编译程序
修改ssd_detection_offline.cpp
,我这边只改了标签到输出的映射,跟我之前训练的对应:
修改/home/jqy/jqy_nfs_server/HCAI1H_HOST_SDK/expr
下的CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(edu_expr)
set( CMAKE_CXX_FLAGS "-std=c++11" )
#set cross-compile
set(PROJECT_ROOT_DIR "/home/jqy/jqy_nfs_server/HCAI1H_HOST_SDK")
set(CROSS_COMPILE_DIR "${PROJECT_ROOT_DIR}/toolchain/arm-linux-gnueabihf-4.8.3-201404/bin")
set(CMAKE_CXX_COMPILER "${CROSS_COMPILE_DIR}/arm-linux-gnueabihf-g++")
#set source path
set(EXPR_GTSDB_BIN "gtsdb_ssd")
#set output path
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output)
include_directories("${PROJECT_ROOT_DIR}/include")
link_directories("${PROJECT_ROOT_DIR}/lib/arm")
#set target
add_executable(${EXPR_GTSDB_BIN}.bin gtsdb_ssd/src/ssd_detection_offline.cpp)
target_link_libraries(${EXPR_GTSDB_BIN}.bin opencv_imgcodecs opencv_imgproc opencv_core opencv_highgui opencv_videoio glog gflags protobuf pthread stdc++ cnrt)
然后运行build.sh
#!/bin/sh
if [ -d "build" ]; then
echo "remove build dir"
rm -rf build
fi
echo "create build dir"
mkdir build
cd build
cmake ..
make
cd ../
rm -rf build
./build.sh
连接1h8板
网络要切换到与1h8板子同一网段
telnet 172.19.24.240 # 连接
mount -t nfs -o nolock -o tcp 172.19.24.200:/home/jqy/jqy_nfs_server /mnt # 挂载
export LD_LIBRARY_PATH=/mnt/HCAI1H_HOST_SDK/lib/arm:/mnt/HCAI1H_HOST_SDK/toolchain/arm-linux-gnueabihf-4.8.3-201404/arm-linux-gnueabihf/lib:$LD_LIBRARY_PATH # 添加库文件
运行
修改run.sh:
#!/bin/sh
../output/gtsdb_ssd.bin -offlinemodel model/gtsdb_ssd.cambricon -output_dir ./ -file_list ./ssd_image_file_list -confidence_threshold 0.6
运行:
cd /mnt/HCAI1H_HOST_SDK/expr/gtsdb_ssd
./run.sh