Skip to content

Commit 012cba9

Browse files
Guang Yangfacebook-github-bot
authored andcommitted
Fix reporting backends and dtyep to benchmark results (#6023)
Summary: Couple minor fixes for reporting the benchmarking results: - qnn models are not reporting "backend" and "dtype" info in the benchmark_results.json (Android) - tinyllama mdoel is not reporting "backend" and "dtype" info in the benchmark_results.json (Android) - include compute precision to the exported coreml model name - rename "llama2" to "tinyllama" to eliminate confusion (many people thought it was llama2-7b) Pull Request resolved: #6023 Reviewed By: huydhn Differential Revision: D64074262 Pulled By: guangy10 fbshipit-source-id: c6c53d004c4fb3ad410a792639af2c22a6978b67
1 parent 866b40c commit 012cba9

File tree

9 files changed

+22
-16
lines changed

9 files changed

+22
-16
lines changed

.ci/scripts/test_llama.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ else
171171
fi
172172

173173
# Check dtype.
174-
EXPORTED_MODEL_NAME="llama2"
174+
EXPORTED_MODEL_NAME="tinyllama_${MODE}_${DTYPE}"
175175
if [[ "${DTYPE}" == "fp16" ]]; then
176176
EXPORTED_MODEL_NAME="${EXPORTED_MODEL_NAME}_h"
177177
elif [[ "${DTYPE}" == "bf16" ]]; then

.ci/scripts/test_model.sh

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,30 +155,24 @@ test_model_with_qnn() {
155155

156156
if [[ "${MODEL_NAME}" == "dl3" ]]; then
157157
EXPORT_SCRIPT=deeplab_v3
158-
EXPORTED_MODEL_NAME=dlv3_qnn.pte
159158
elif [[ "${MODEL_NAME}" == "mv3" ]]; then
160159
EXPORT_SCRIPT=mobilenet_v3
161-
EXPORTED_MODEL_NAME=mv3_qnn.pte
162160
elif [[ "${MODEL_NAME}" == "mv2" ]]; then
163161
EXPORT_SCRIPT=mobilenet_v2
164-
EXPORTED_MODEL_NAME=mv2_qnn.pte
165162
elif [[ "${MODEL_NAME}" == "ic4" ]]; then
166163
EXPORT_SCRIPT=inception_v4
167-
EXPORTED_MODEL_NAME=ic4_qnn.pte
168164
elif [[ "${MODEL_NAME}" == "ic3" ]]; then
169165
EXPORT_SCRIPT=inception_v3
170-
EXPORTED_MODEL_NAME=ic3_qnn.pte
171166
elif [[ "${MODEL_NAME}" == "vit" ]]; then
172167
EXPORT_SCRIPT=torchvision_vit
173-
EXPORTED_MODEL_NAME=vit_qnn.pte
174168
fi
175169

176170
# Use SM8450 for S22, SM8550 for S23, and SM8560 for S24
177171
# TODO(guangyang): Make QNN chipset matches the target device
178172
QNN_CHIPSET=SM8450
179173

180174
"${PYTHON_EXECUTABLE}" -m examples.qualcomm.scripts.${EXPORT_SCRIPT} -b ${CMAKE_OUTPUT_DIR} -m ${QNN_CHIPSET} --compile_only
181-
EXPORTED_MODEL=./${EXPORT_SCRIPT}/${EXPORTED_MODEL_NAME}
175+
EXPORTED_MODEL=$(find "./${EXPORT_SCRIPT}" -type f -name "${MODEL_NAME}*.pte" -print -quit)
182176
}
183177

184178
test_model_with_coreml() {
@@ -187,8 +181,20 @@ test_model_with_coreml() {
187181
exit 1
188182
fi
189183

190-
"${PYTHON_EXECUTABLE}" -m examples.apple.coreml.scripts.export --model_name="${MODEL_NAME}"
184+
DTYPE=float16
185+
186+
"${PYTHON_EXECUTABLE}" -m examples.apple.coreml.scripts.export --model_name="${MODEL_NAME}" --compute_precision "${DTYPE}"
191187
EXPORTED_MODEL=$(find "." -type f -name "${MODEL_NAME}*.pte" -print -quit)
188+
# TODO:
189+
if [ -n "$EXPORTED_MODEL" ]; then
190+
EXPORTED_MODEL_WITH_DTYPE="${EXPORTED_MODEL%.pte}_${DTYPE}.pte"
191+
mv "$EXPORTED_MODEL" "$EXPORTED_MODEL_WITH_DTYPE"
192+
EXPORTED_MODEL="$EXPORTED_MODEL_WITH_DTYPE"
193+
echo "Renamed file path: $EXPORTED_MODEL"
194+
else
195+
echo "No .pte file found"
196+
exit 1
197+
fi
192198
}
193199

194200
if [[ "${BACKEND}" == "portable" ]]; then

examples/qualcomm/scripts/deeplab_v3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def main(args):
8181
data_size=data_num, dataset_dir=args.artifact, download=args.download
8282
)
8383

84-
pte_filename = "dlv3_qnn"
84+
pte_filename = "dl3_qnn_q8"
8585
instance = DeepLabV3ResNet101Model()
8686

8787
build_executorch_binary(

examples/qualcomm/scripts/edsr.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def main(args):
107107
)
108108

109109
inputs, targets, input_list = dataset.lr, dataset.hr, dataset.get_input_list()
110-
pte_filename = "edsr_qnn"
110+
pte_filename = "edsr_qnn_q8"
111111
instance = EdsrModel()
112112

113113
build_executorch_binary(

examples/qualcomm/scripts/inception_v3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def main(args):
4646
image_shape=(256, 256),
4747
crop_size=224,
4848
)
49-
pte_filename = "ic3_qnn"
49+
pte_filename = "ic3_qnn_q8"
5050
instance = InceptionV3Model()
5151
build_executorch_binary(
5252
instance.get_eager_model().eval(),

examples/qualcomm/scripts/inception_v4.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def main(args):
4545
data_size=data_num,
4646
image_shape=(299, 299),
4747
)
48-
pte_filename = "ic4_qnn"
48+
pte_filename = "ic4_qnn_q8"
4949
instance = InceptionV4Model()
5050
build_executorch_binary(
5151
instance.get_eager_model().eval(),

examples/qualcomm/scripts/mobilenet_v2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def main(args):
4646
image_shape=(256, 256),
4747
crop_size=224,
4848
)
49-
pte_filename = "mv2_qnn"
49+
pte_filename = "mv2_qnn_q8"
5050
instance = MV2Model()
5151
build_executorch_binary(
5252
instance.get_eager_model().eval(),

examples/qualcomm/scripts/mobilenet_v3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def main(args):
4545
image_shape=(256, 256),
4646
crop_size=224,
4747
)
48-
pte_filename = "mv3_qnn"
48+
pte_filename = "mv3_qnn_float16"
4949
instance = MV3Model()
5050
build_executorch_binary(
5151
instance.get_eager_model().eval(),

examples/qualcomm/scripts/torchvision_vit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def main(args):
3838
crop_size=224,
3939
)
4040

41-
pte_filename = "vit_qnn"
41+
pte_filename = "vit_qnn_q8"
4242
instance = TorchVisionViTModel()
4343
build_executorch_binary(
4444
instance.get_eager_model().eval(),

0 commit comments

Comments
 (0)