src/plugins/intel_cpu/tools/dump_check/README.md
pip3 install -r ./requirements.txt
Build CPU plugin with -DENABLE_DEBUG_CAPS=ON and install it.
Initialize OpenVINO enviroment:
# suppose CMAKE_INSTALL_PREFIX=~/openvino/build/install
source ~/openvino/build/install/setupvars.sh
python3 dump_check.py -m=/path/to/model dump1
python3 dump_check.py -m=/path/to/model dump1 dump2
python3 dump_check.py -m=/path/to/model dump1 dump2 -v
more options can be learned from the help of this tool.
CPU plugin would dump BF16 blob as int16_t type buffer.Dumping all the nodes and compare usually would fail, because BF16 executable graph differs with fp32. However, we can dump some computing intensive node output and compare result error following the steps:
# step 1: dump bf16 precision
python3 dump_check.py -m /path/model.xml -bf16 -f Convolution ./dump_bf16
# step 2: dump fp32 precision
python3 dump_check.py -m /path/model.xml -f Convolution ./dump_fp32
# step 3: compare precision between bf16 and fp32
python3 dump_check.py -m /path/model.xml ./dump_bf16 ./dump_fp32