3 # Need at least 2 arguments
4 if [[ $# -lt 2 ]]; then
8 echo " [test.config path]"
16 CONFIG_PATH="$1"; shift
19 source "${CONFIG_PATH}"
21 echo "-- Found nnkit-run: ${NNKIT_RUN_PATH}"
22 echo "-- Found TF backend: ${TF_BACKEND_PATH}"
23 echo "-- Found TFLITE backend: ${TFLITE_BACKEND_PATH}"
24 echo "-- Found TF2TFLITEV2: ${TF2TFLITEV2_PATH}"
25 echo "-- Found randomize action: ${RANDOMIZE_ACTION_PATH}"
26 echo "-- Found HDF5 export action: ${HDF5_EXPORT_ACTION_PATH}"
27 echo "-- Found HDF5 import action: ${HDF5_IMPORT_ACTION_PATH}"
28 echo "-- Found i5diff: ${I5DIFF_PATH}"
29 echo "-- Found workdir: ${WORKDIR}"
36 while [[ $# -ne 0 ]]; do
41 PASSED_TAG="${PREFIX}.passed"
45 cat > "${PREFIX}.log" <(
48 echo "-- Found pb: ${PREFIX}.pb"
50 # Exit immediately if any command fails
56 source "${VIRTUALENV}/bin/activate"
57 "${VIRTUALENV}/bin/python" "${TF2TFLITEV2_PATH}" \
59 --input_path "${WORKDIR}/${PREFIX}.pb" \
60 --input_arrays "$(awk -F, '/^input/ { print $2 }' ${PREFIX}.info | cut -d: -f1 | tr -d ' ' | paste -d, -s)" \
61 --input_shapes "$(cat ${PREFIX}.info | grep '^input' | cut -d '[' -f2 | cut -d ']' -f1 | tr -d ' ' | xargs | tr ' ' ':')" \
62 --output_path "${WORKDIR}/${PREFIX}.tflite" \
63 --output_arrays "$(awk -F, '/^output/ { print $2 }' ${PREFIX}.info | cut -d: -f1 | tr -d ' ' | paste -d, -s)"
67 --backend "${TF_BACKEND_PATH}" \
68 --backend-arg "${WORKDIR}/${PREFIX}.pb" \
69 --backend-arg "${WORKDIR}/${PREFIX}.info" \
70 --pre "${RANDOMIZE_ACTION_PATH}" \
71 --pre "${HDF5_EXPORT_ACTION_PATH}" \
72 --pre-arg "${WORKDIR}/${PREFIX}.input.h5" \
73 --post "${HDF5_EXPORT_ACTION_PATH}" \
74 --post-arg "${WORKDIR}/${PREFIX}.expected.h5"
78 --backend "${TFLITE_BACKEND_PATH}" \
79 --backend-arg "${WORKDIR}/${PREFIX}.tflite" \
80 --pre "${HDF5_IMPORT_ACTION_PATH}" \
81 --pre-arg "${WORKDIR}/${PREFIX}.input.h5" \
82 --post "${HDF5_EXPORT_ACTION_PATH}" \
83 --post-arg "${WORKDIR}/${PREFIX}.obtained.h5"
85 "${I5DIFF_PATH}" -d 0.001 "${PREFIX}.expected.h5" "${PREFIX}.obtained.h5"
87 if [[ $? -eq 0 ]]; then
92 if [[ -f "${PASSED_TAG}" ]]; then
100 if [[ ${#TESTED[@]} -ne ${#PASSED[@]} ]]; then
102 for TEST in "${FAILED[@]}"