Job Failed in Profiling Code

I have a simple model in tflite32 format.
I tried to use this profiling code (with modified PROJECT_ID, API_KEY, and REFERENCE_MODEL = ’ gestures-large-f32’) to do the profiling but it always gave me ‘Job Failed’.
Is this profiling method still supported?

@User01

Can you share the full log?

You can also try profiling with the Python SDK.

@rjames thanks for checking out.

Below is the full log. And yes we tried using profiling with the Python SDK, still the same issue.

Scheduling job in cluster…
Container image pulled!
Job started
Initializing job pod…
(node:78) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 change listeners added to [StatWatcher]. Use emitter.setMaxListeners() to increase limit
at _addListener (node:events:465:17)
at StatWatcher.addListener (node:events:487:10)
at Object.watchFile (node:fs:2319:8)
at Object.watchFile (/home/node/common/node_modules/dd-trace/packages/datadog-instrumentations/src/fs.js:239:57)
at new DbRepo (/home/node/jobs-watcher/dist/db/repo.js:25:26)
at new K8sJobRepoBase (/home/node/jobs-watcher/dist/persistance/k8s-job-repo.js:8:9)
at new ProjectK8sJobRepo (/home/node/jobs-watcher/dist/persistance/k8s-job-repo.js:24:9)
at new K8sJobRepo (/home/node/jobs-watcher/dist/persistance/k8s-job-repo.js:139:28)
at Object. (/home/node/jobs-watcher/dist/k8s/k8s-jobs.js:17:14)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions…js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at Module.Hook.Module.require (/home/node/common/node_modules/dd-trace/packages/dd-trace/src/ritm.js:85:33)
at require (node:internal/modules/cjs/helpers:102:18)
Initializing job pod OK

Scheduling job in cluster…
Container image pulled!
Job started
Profiling model.tflite…
Calculating performance metrics…
Calculating inferencing time…
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Calculating inferencing time OK
Determining whether this model runs on MCU…
Determining whether this model runs on MCU OK
Profiling float32 model (TensorFlow Lite Micro)…
Profiling float32 model (TensorFlow Lite Micro, HW optimizations disabled)…
Profiling float32 model (EON)…
Profiling float32 model (EON, HW optimizations disabled)…
Profiling model.tflite OK

2023-05-16T09:59:03.371Z logger=JobEvents level=error category=profile-tflite key=profile-tflite parentId=226573 id=9020111 job handleError
Expected a single input, but found 3

Expected a single input, but found 3
2023-05-16T09:59:03.577Z logger=server level=error Failed job execution
Error: Job 9020111 finished
at /home/node/studio/build/server/server/start-daemon.js:171:48
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
Traceback (most recent call last):
File “/home/prof_ie.py”, line 106, in
wait_for_job_completion(job_id)
File “/home/prof_ie.py”, line 76, in wait_for_job_completion
raise Exception(‘Job failed’)
Exception: Job failed
user01:~/home$ ^C
user01:~/home$ ^C
user01:~/home$ python prof_ie.py
Profiling /home/test_float32.tflite
Job ID is 9020355
Scheduling job in cluster…
Container image pulled!
Job started
Initializing job pod…
(node:78) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 change listeners added to [StatWatcher]. Use emitter.setMaxListeners() to increase limit
at _addListener (node:events:465:17)
at StatWatcher.addListener (node:events:487:10)
at Object.watchFile (node:fs:2319:8)
at Object.watchFile (/home/node/common/node_modules/dd-trace/packages/datadog-instrumentations/src/fs.js:239:57)
at new DbRepo (/home/node/jobs-watcher/dist/db/repo.js:25:26)
at new K8sJobRepoBase (/home/node/jobs-watcher/dist/persistance/k8s-job-repo.js:8:9)
at new ProjectK8sJobRepo (/home/node/jobs-watcher/dist/persistance/k8s-job-repo.js:24:9)
at new K8sJobRepo (/home/node/jobs-watcher/dist/persistance/k8s-job-repo.js:139:28)
at Object. (/home/node/jobs-watcher/dist/k8s/k8s-jobs.js:17:14)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions…js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at Module.Hook.Module.require (/home/node/common/node_modules/dd-trace/packages/dd-trace/src/ritm.js:85:33)
at require (node:internal/modules/cjs/helpers:102:18)
Initializing job pod OK

Scheduling job in cluster…
Container image pulled!
Job started
Profiling model.tflite…
Calculating performance metrics…
Calculating inferencing time…
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Calculating inferencing time OK
Determining whether this model runs on MCU…
Determining whether this model runs on MCU OK
Profiling float32 model (TensorFlow Lite Micro)…
Profiling float32 model (TensorFlow Lite Micro, HW optimizations disabled)…
Profiling float32 model (EON)…
Profiling float32 model (EON, HW optimizations disabled)…
Profiling model.tflite OK

2023-05-16T10:12:07.018Z logger=JobEvents level=error category=profile-tflite key=profile-tflite parentId=226573 id=9020357 job handleError
Expected a single input, but found 3

Expected a single input, but found 3
2023-05-16T10:12:07.226Z logger=server level=error Failed job execution
Error: Job 9020357 finished
at /home/node/studio/build/server/server/start-daemon.js:171:48
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
Traceback (most recent call last):
File “/home/prof_ie.py”, line 106, in
wait_for_job_completion(job_id)
File “/home/prof_ie.py”, line 76, in wait_for_job_completion
raise Exception(‘Job failed’)
Exception: Job failed

Hi @User01,

Thanks for the log.
The problem is because your model has 3 inputs.

Expected a single input, but found 3

Edge Impulse only supports models with a single input.

// Raul

@rjames thanks for the information