From acc1a1d392e652058556b35fd7fe7384c2402d67 Mon Sep 17 00:00:00 2001 From: junwei Date: Wed, 27 Mar 2024 16:59:11 +0800 Subject: [PATCH 1/2] Select default layout model on different platform --- common/utils.js | 15 +++++++++++++++ face_recognition/main.js | 9 +-------- facial_landmark_detection/main.js | 8 +------- image_classification/main.js | 8 +------- object_detection/main.js | 8 +------- semantic_segmentation/main.js | 8 +------- 6 files changed, 20 insertions(+), 36 deletions(-) diff --git a/common/utils.js b/common/utils.js index 627ddf73..33a56e9b 100644 --- a/common/utils.js +++ b/common/utils.js @@ -484,3 +484,18 @@ export function permuteData(array, dims, axes) { return [permutedData, shape]; } + +export function getDefaultLayout(deviceType) { + const userAgent = navigator.userAgent; + if (userAgent.indexOf("Linux") != -1 || userAgent.indexOf("Android") != -1 || + userAgent.indexOf("CrOS") != -1) { + return 'nhwc'; + } else { + // Windows or Mac platform. + if (deviceType.indexOf('cpu') != -1) { + return 'nhwc'; + } else if (deviceType.indexOf('gpu') != -1) { + return 'nchw' + } + } +} diff --git a/face_recognition/main.js b/face_recognition/main.js index 0a35aafa..25bf8978 100644 --- a/face_recognition/main.js +++ b/face_recognition/main.js @@ -50,14 +50,7 @@ $(document).ready(async () => { }); $('#backendBtns .btn').on('change', async (e) => { - if (inputType === 'camera') utils.stopCameraStream(rafReq, stream); - if ($(e.target).attr('id').indexOf('cpu') != -1) { - layout = 'nhwc'; - } else if (($(e.target).attr('id').indexOf('gpu') != -1)) { - layout = 'nchw'; - } else { - throw new Error('Unknown backend'); - } + layout = utils.getDefaultLayout($(e.target).attr('id')); await main(); }); diff --git a/facial_landmark_detection/main.js b/facial_landmark_detection/main.js index 4daf5917..d075015d 100644 --- a/facial_landmark_detection/main.js +++ b/facial_landmark_detection/main.js @@ -47,13 +47,7 @@ $(document).ready(async () => { $('#backendBtns .btn').on('change', async (e) => { if (inputType === 'camera') utils.stopCameraStream(rafReq, stream); - if ($(e.target).attr('id').indexOf('cpu') != -1) { - layout = 'nhwc'; - } else if (($(e.target).attr('id').indexOf('gpu') != -1)) { - layout = 'nchw'; - } else { - throw new Error('Unknown backend'); - } + layout = utils.getDefaultLayout($(e.target).attr('id')); await main(); }); diff --git a/image_classification/main.js b/image_classification/main.js index b92b4a15..7d6ab15c 100644 --- a/image_classification/main.js +++ b/image_classification/main.js @@ -51,13 +51,7 @@ $(document).ready(async () => { $('#backendBtns .btn').on('change', async (e) => { if (inputType === 'camera') utils.stopCameraStream(rafReq, stream); - if ($(e.target).attr('id').indexOf('cpu') != -1) { - layout = 'nhwc'; - } else if (($(e.target).attr('id').indexOf('gpu') != -1)) { - layout = 'nchw'; - } else { - throw new Error('Unknown backend'); - } + layout = utils.getDefaultLayout($(e.target).attr('id')); await main(); }); diff --git a/object_detection/main.js b/object_detection/main.js index 4770ac4a..68007236 100644 --- a/object_detection/main.js +++ b/object_detection/main.js @@ -49,13 +49,7 @@ $(document).ready(async () => { $('#backendBtns .btn').on('change', async (e) => { if (inputType === 'camera') utils.stopCameraStream(rafReq, stream); - if ($(e.target).attr('id').indexOf('cpu') != -1) { - layout = 'nhwc'; - } else if (($(e.target).attr('id').indexOf('gpu') != -1)) { - layout = 'nchw'; - } else { - throw new Error('Unknown backend'); - } + layout = utils.getDefaultLayout($(e.target).attr('id')); await main(); }); diff --git a/semantic_segmentation/main.js b/semantic_segmentation/main.js index 69cb90f2..26bccdf4 100644 --- a/semantic_segmentation/main.js +++ b/semantic_segmentation/main.js @@ -49,13 +49,7 @@ $(window).on('load', () => { $('#backendBtns .btn').on('change', async (e) => { if (inputType === 'camera') utils.stopCameraStream(rafReq, stream); - if ($(e.target).attr('id').indexOf('cpu') != -1) { - layout = 'nhwc'; - } else if (($(e.target).attr('id').indexOf('gpu') != -1)) { - layout = 'nchw'; - } else { - throw new Error('Unknown backend'); - } + layout = utils.getDefaultLayout($(e.target).attr('id')); await main(); }); From 1b3e63b7e7488214699c309ee6188906f61b82d9 Mon Sep 17 00:00:00 2001 From: junwei Date: Wed, 3 Apr 2024 12:18:01 +0800 Subject: [PATCH 2/2] remove the test-data --- common/utils.js | 6 +++--- face_recognition/main.js | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/utils.js b/common/utils.js index 33a56e9b..a588fd8e 100644 --- a/common/utils.js +++ b/common/utils.js @@ -487,15 +487,15 @@ export function permuteData(array, dims, axes) { export function getDefaultLayout(deviceType) { const userAgent = navigator.userAgent; - if (userAgent.indexOf("Linux") != -1 || userAgent.indexOf("Android") != -1 || - userAgent.indexOf("CrOS") != -1) { + if (userAgent.indexOf('Linux') != -1 || userAgent.indexOf('Android') != -1 || + userAgent.indexOf('CrOS') != -1) { return 'nhwc'; } else { // Windows or Mac platform. if (deviceType.indexOf('cpu') != -1) { return 'nhwc'; } else if (deviceType.indexOf('gpu') != -1) { - return 'nchw' + return 'nchw'; } } } diff --git a/face_recognition/main.js b/face_recognition/main.js index 25bf8978..f212aa3c 100644 --- a/face_recognition/main.js +++ b/face_recognition/main.js @@ -50,6 +50,7 @@ $(document).ready(async () => { }); $('#backendBtns .btn').on('change', async (e) => { + if (inputType === 'camera') utils.stopCameraStream(rafReq, stream); layout = utils.getDefaultLayout($(e.target).attr('id')); await main(); });