edge-impulse-linux 1.16.2 → 1.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/build/cli/linux/linux.js +1 -0
  2. package/build/cli/linux/linux.js.map +1 -1
  3. package/build/cli/linux/runner-profiling.d.ts +10 -0
  4. package/build/cli/linux/runner-profiling.js +72 -0
  5. package/build/cli/linux/runner-profiling.js.map +1 -0
  6. package/build/cli/linux/runner-utils.d.ts +1 -0
  7. package/build/cli/linux/runner-utils.js +83 -79
  8. package/build/cli/linux/runner-utils.js.map +1 -1
  9. package/build/cli/linux/runner.js +57 -8
  10. package/build/cli/linux/runner.js.map +1 -1
  11. package/build/cli/linux/webserver/public/inference-server.js +92 -83
  12. package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
  13. package/build/cli/linux/webserver/public/webserver.js +124 -17
  14. package/build/cli/linux/webserver/public/webserver.js.map +1 -1
  15. package/build/cli/linux/webserver/views/index.js +5 -3
  16. package/build/cli/linux/webserver/views/index.js.map +1 -1
  17. package/build/cli-common/model-monitor.d.ts +1 -2
  18. package/build/cli-common/model-monitor.js +5 -5
  19. package/build/cli-common/model-monitor.js.map +1 -1
  20. package/build/cli-common/remote-mgmt-service.d.ts +1 -1
  21. package/build/library/async-pool.d.ts +1 -0
  22. package/build/library/async-pool.js +21 -0
  23. package/build/library/async-pool.js.map +1 -0
  24. package/build/library/classifier/image-classifier.d.ts +16 -3
  25. package/build/library/classifier/image-classifier.js +38 -8
  26. package/build/library/classifier/image-classifier.js.map +1 -1
  27. package/build/library/classifier/libcwrapper.d.ts +26 -0
  28. package/build/library/classifier/libcwrapper.js +37 -0
  29. package/build/library/classifier/libcwrapper.js.map +1 -0
  30. package/build/library/classifier/linux-impulse-runner-types.d.ts +177 -0
  31. package/build/library/classifier/linux-impulse-runner-types.js +28 -0
  32. package/build/library/classifier/linux-impulse-runner-types.js.map +1 -0
  33. package/build/library/classifier/linux-impulse-runner.d.ts +15 -125
  34. package/build/library/classifier/linux-impulse-runner.js +154 -46
  35. package/build/library/classifier/linux-impulse-runner.js.map +1 -1
  36. package/build/library/classifier/valgrind-suppression.d.ts +1 -0
  37. package/build/library/classifier/valgrind-suppression.js +64 -0
  38. package/build/library/classifier/valgrind-suppression.js.map +1 -0
  39. package/build/library/moving-average-filter.d.ts +1 -1
  40. package/build/library/sensors/gstreamer.d.ts +12 -5
  41. package/build/library/sensors/gstreamer.js +217 -66
  42. package/build/library/sensors/gstreamer.js.map +1 -1
  43. package/build/library/sensors/icamera.d.ts +3 -1
  44. package/build/library/sensors/imagesnap.d.ts +2 -0
  45. package/build/library/sensors/imagesnap.js +2 -0
  46. package/build/library/sensors/imagesnap.js.map +1 -1
  47. package/build/library/sensors/prophesee.d.ts +2 -0
  48. package/build/library/sensors/prophesee.js +1 -0
  49. package/build/library/sensors/prophesee.js.map +1 -1
  50. package/build/library/sensors/sensors-helper.d.ts +1 -0
  51. package/build/library/sensors/sensors-helper.js +1 -1
  52. package/build/library/sensors/sensors-helper.js.map +1 -1
  53. package/build/sdk/studio/sdk/api/classifyApi.d.ts +64 -0
  54. package/build/sdk/studio/sdk/api/classifyApi.js +128 -0
  55. package/build/sdk/studio/sdk/api/classifyApi.js.map +1 -1
  56. package/build/sdk/studio/sdk/api/rawDataApi.d.ts +55 -1
  57. package/build/sdk/studio/sdk/api/rawDataApi.js +166 -1
  58. package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
  59. package/build/sdk/studio/sdk/api/testApi.d.ts +16 -0
  60. package/build/sdk/studio/sdk/api/testApi.js +90 -0
  61. package/build/sdk/studio/sdk/api/testApi.js.map +1 -1
  62. package/build/sdk/studio/sdk/model/batchEditBoundingBoxesRequest.d.ts +32 -0
  63. package/build/sdk/studio/sdk/model/batchEditBoundingBoxesRequest.js +34 -0
  64. package/build/sdk/studio/sdk/model/batchEditBoundingBoxesRequest.js.map +1 -0
  65. package/build/sdk/studio/sdk/model/models.d.ts +2 -0
  66. package/build/sdk/studio/sdk/model/models.js +6 -0
  67. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  68. package/build/sdk/studio/sdk/model/permission.d.ts +1 -1
  69. package/build/sdk/studio/sdk/model/permission.js +1 -1
  70. package/build/sdk/studio/sdk/model/permission.js.map +1 -1
  71. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.d.ts +34 -0
  72. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.js +29 -0
  73. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.js.map +1 -0
  74. package/build/shared/views/project/bounding-box-scaling.d.ts +66 -0
  75. package/build/shared/views/project/bounding-box-scaling.js +155 -0
  76. package/build/shared/views/project/bounding-box-scaling.js.map +1 -0
  77. package/cli/linux/webserver/public/assets/mobileclient.css +31 -3
  78. package/cli/linux/webserver/public/inference-server.js +100 -89
  79. package/cli/linux/webserver/public/webserver.js +136 -17
  80. package/examples/js/classify-camera.js +1 -3
  81. package/examples/ts/classify-camera.ts +1 -3
  82. package/package.json +2 -1
  83. package/test/gstreamer.test.ts +28 -23
  84. package/examples/ts/classify-custom-from-test.ts +0 -96
@@ -1,9 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
5
19
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LinuxImpulseRunner = exports.RunnerHelloInferencingEngine = exports.RunnerHelloHasAnomaly = void 0;
20
+ exports.LinuxImpulseRunner = void 0;
7
21
  const child_process_1 = require("child_process");
8
22
  const fs_1 = __importDefault(require("fs"));
9
23
  const tsee_1 = require("tsee");
@@ -11,39 +25,26 @@ const util_1 = __importDefault(require("util"));
11
25
  const os_1 = __importDefault(require("os"));
12
26
  const path_1 = __importDefault(require("path"));
13
27
  const net_1 = __importDefault(require("net"));
14
- var RunnerHelloHasAnomaly;
15
- (function (RunnerHelloHasAnomaly) {
16
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["None"] = 0] = "None";
17
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["KMeans"] = 1] = "KMeans";
18
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["GMM"] = 2] = "GMM";
19
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["VisualGMM"] = 3] = "VisualGMM";
20
- })(RunnerHelloHasAnomaly = exports.RunnerHelloHasAnomaly || (exports.RunnerHelloHasAnomaly = {}));
21
- var RunnerHelloInferencingEngine;
22
- (function (RunnerHelloInferencingEngine) {
23
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["None"] = 255] = "None";
24
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Utensor"] = 1] = "Utensor";
25
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Tflite"] = 2] = "Tflite";
26
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Cubeai"] = 3] = "Cubeai";
27
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TfliteFull"] = 4] = "TfliteFull";
28
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TensaiFlow"] = 5] = "TensaiFlow";
29
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TensorRT"] = 6] = "TensorRT";
30
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Drpai"] = 7] = "Drpai";
31
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TfliteTidl"] = 8] = "TfliteTidl";
32
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Akida"] = 9] = "Akida";
33
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Syntiant"] = 10] = "Syntiant";
34
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["OnnxTidl"] = 11] = "OnnxTidl";
35
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Memryx"] = 12] = "Memryx";
36
- })(RunnerHelloInferencingEngine = exports.RunnerHelloInferencingEngine || (exports.RunnerHelloInferencingEngine = {}));
28
+ const libcwrapper_1 = require("./libcwrapper");
29
+ const koffi_1 = __importDefault(require("koffi"));
30
+ const linux_impulse_runner_types_1 = require("./linux-impulse-runner-types");
31
+ const valgrind_suppression_1 = require("./valgrind-suppression");
32
+ const PREFIX = '\x1b[33m[RUN]\x1b[0m';
33
+ __exportStar(require("./linux-impulse-runner-types"), exports);
37
34
  class LinuxImpulseRunner {
38
35
  /**
39
36
  * Start a new impulse runner
40
37
  * @param path Path to the runner's executable
41
38
  */
42
- constructor(path) {
39
+ constructor(path, opts) {
43
40
  this._runnerEe = new tsee_1.EventEmitter();
44
41
  this._id = 0;
45
42
  this._stopped = false;
43
+ this._stdout = [];
46
44
  this._path = path_1.default.resolve(path);
45
+ this._valgrind = opts?.valgrind || false;
46
+ this._verbose = opts?.verbose || false;
47
+ this._shmBehavior = opts?.shmBehavior || 'auto';
47
48
  }
48
49
  /**
49
50
  * Initialize the runner
@@ -56,6 +57,7 @@ class LinuxImpulseRunner {
56
57
  if (!await this.exists(this._path)) {
57
58
  throw new Error('Runner does not exist: ' + this._path);
58
59
  }
60
+ this._stdout = [];
59
61
  let isSocket = (await fs_1.default.promises.stat(this._path)).isSocket();
60
62
  // if we have /dev/shm, use that (RAM backed, instead of SD card backed, better for wear)
61
63
  let osTmpDir = os_1.default.tmpdir();
@@ -75,10 +77,40 @@ class LinuxImpulseRunner {
75
77
  this._runner.kill('SIGINT');
76
78
  // TODO: check if the runner still exists
77
79
  }
78
- this._runner = (0, child_process_1.spawn)(this._path, [socketPath]);
80
+ if (this._valgrind) {
81
+ const valgrindSuppressionFile = path_1.default.join(tempDir, 'valgrind.supp');
82
+ await fs_1.default.promises.writeFile(valgrindSuppressionFile, valgrind_suppression_1.VALGRIND_SUPPRESSION_FILE, 'utf-8');
83
+ this._runner = (0, child_process_1.spawn)('valgrind', [
84
+ '--suppressions=' + valgrindSuppressionFile,
85
+ `--leak-check=no`,
86
+ `--errors-for-leak-kinds=none`,
87
+ `--show-leak-kinds=none`,
88
+ `--track-origins=yes`,
89
+ `--error-exitcode=1`,
90
+ this._path,
91
+ socketPath,
92
+ ]);
93
+ }
94
+ else {
95
+ this._runner = (0, child_process_1.spawn)(this._path, [socketPath]);
96
+ }
79
97
  if (!this._runner.stdout) {
80
98
  throw new Error('stdout is null');
81
99
  }
100
+ if (this._runner.stdout) {
101
+ this._runner.stdout.on('data', data => {
102
+ if (Buffer.isBuffer(data)) {
103
+ this._stdout.push(data);
104
+ }
105
+ });
106
+ }
107
+ if (this._runner.stderr) {
108
+ this._runner.stderr.on('data', data => {
109
+ if (Buffer.isBuffer(data)) {
110
+ this._stdout.push(data);
111
+ }
112
+ });
113
+ }
82
114
  const onStdout = (data) => {
83
115
  stdout += data.toString('utf-8');
84
116
  };
@@ -178,7 +210,7 @@ class LinuxImpulseRunner {
178
210
  // if the model uses GPU delegates, we need to warm it up
179
211
  return true;
180
212
  }
181
- if (modelInfo.modelParameters.inferencing_engine === RunnerHelloInferencingEngine.TensorRT) {
213
+ if (modelInfo.modelParameters.inferencing_engine === linux_impulse_runner_types_1.RunnerHelloInferencingEngine.TensorRT) {
182
214
  // if the model uses TensorRT, we need to warm it up
183
215
  return true;
184
216
  }
@@ -190,9 +222,9 @@ class LinuxImpulseRunner {
190
222
  async stop() {
191
223
  this._stopped = true;
192
224
  if (!this._runner) {
193
- return Promise.resolve();
225
+ return Buffer.concat(this._stdout).toString('utf-8');
194
226
  }
195
- return new Promise((resolve) => {
227
+ await new Promise((resolve) => {
196
228
  if (this._runner) {
197
229
  this._runner.on('close', code => {
198
230
  resolve();
@@ -208,6 +240,7 @@ class LinuxImpulseRunner {
208
240
  resolve();
209
241
  }
210
242
  });
243
+ return Buffer.concat(this._stdout).toString('utf-8');
211
244
  }
212
245
  /**
213
246
  * Get information about the model, this is only available
@@ -226,7 +259,19 @@ class LinuxImpulseRunner {
226
259
  * https://docs.edgeimpulse.com/docs/running-your-impulse-locally-1
227
260
  */
228
261
  async classify(data, timeout) {
229
- let resp = await this.send({ classify: data }, timeout);
262
+ let resp;
263
+ if (this._shm) {
264
+ const features = new Float32Array(this._shm.buf, 0, data.length);
265
+ features.set(data);
266
+ resp = await this.send({
267
+ classify_shm: {
268
+ elements: data.length,
269
+ },
270
+ }, timeout);
271
+ }
272
+ else {
273
+ resp = await this.send({ classify: data }, timeout);
274
+ }
230
275
  if (!resp.success) {
231
276
  throw new Error(resp.error);
232
277
  }
@@ -241,10 +286,22 @@ class LinuxImpulseRunner {
241
286
  * @param data An array of numbers, already formatted according to the rules in
242
287
  * https://docs.edgeimpulse.com/docs/running-your-impulse-locally-1
243
288
  */
244
- async classifyContinuous(data) {
245
- let resp = await this.send({
246
- classify_continuous: data,
247
- });
289
+ async classifyContinuous(data, timeout) {
290
+ let resp;
291
+ if (this._shm) {
292
+ const features = new Float32Array(this._shm.buf, 0, data.length);
293
+ features.set(data);
294
+ resp = await this.send({
295
+ classify_continuous_shm: {
296
+ elements: data.length,
297
+ },
298
+ }, timeout);
299
+ }
300
+ else {
301
+ resp = await this.send({
302
+ classify_continuous: data
303
+ }, timeout);
304
+ }
248
305
  if (!resp.success) {
249
306
  throw new Error(resp.error);
250
307
  }
@@ -310,6 +367,52 @@ class LinuxImpulseRunner {
310
367
  sensor = 'positional';
311
368
  break;
312
369
  }
370
+ this._shm = undefined;
371
+ if (!resp.features_shm) {
372
+ if (this._shmBehavior === 'always') {
373
+ const errorStr = resp.features_shm_error ? ` (error: "${resp.features_shm_error}")` : ``;
374
+ throw new Error(`shmBehavior is "always", but ${path_1.default.basename(this._path)} does not support shm (features_shm is NULL). ` +
375
+ `Set to "auto" to fall back to JSON over TCP socket.${errorStr}`);
376
+ }
377
+ if (resp.features_shm_error && this._verbose) {
378
+ console.log(PREFIX, `Failed to initialize shared memory (EIM side): ` + resp.features_shm_error);
379
+ }
380
+ }
381
+ if (resp.features_shm && (this._shmBehavior === 'always' || this._shmBehavior === 'auto')) {
382
+ let libc;
383
+ try {
384
+ if (process.platform === 'linux') {
385
+ libc = koffi_1.default.load('librt.so.1');
386
+ }
387
+ else if (process.platform === 'darwin') {
388
+ libc = koffi_1.default.load('libc.dylib');
389
+ }
390
+ if (libc) {
391
+ const libcWrapper = new libcwrapper_1.LibcWrapper(libc);
392
+ const fd = libcWrapper.shmOpen(resp.features_shm.name, libcwrapper_1.O_RDWR, 0o666);
393
+ const buf = libcWrapper.mmapToArrayBuffer(fd, resp.features_shm.size_bytes);
394
+ this._shm = {
395
+ libc: libcWrapper,
396
+ fd: fd,
397
+ buf: buf,
398
+ };
399
+ if (this._verbose) {
400
+ console.log(PREFIX, `Initialized shared memory (${resp.features_shm.name})`);
401
+ }
402
+ }
403
+ }
404
+ catch (ex2) {
405
+ const ex = ex2;
406
+ if (this._shmBehavior === 'always') {
407
+ throw new Error(`Failed to initialize shared memory (${resp.features_shm.name}): ` +
408
+ ex.message || ex.toString());
409
+ }
410
+ if (this._verbose) {
411
+ console.log(PREFIX, `Failed to initialize shared memory (${resp.features_shm.name}): ` +
412
+ ex.message || ex.toString());
413
+ }
414
+ }
415
+ }
313
416
  let data = {
314
417
  project: resp.project,
315
418
  modelParameters: { ...resp.model_parameters, sensorType: sensor },
@@ -326,7 +429,10 @@ class LinuxImpulseRunner {
326
429
  }
327
430
  send(msg, timeoutArg) {
328
431
  return new Promise((resolve, reject) => {
329
- let timeout = typeof timeoutArg === 'number' ? timeoutArg : 5000;
432
+ const defaultTimeout = this._valgrind ?
433
+ 120000 : // valgrind takes its time (esp on x86)
434
+ 10000;
435
+ let timeout = typeof timeoutArg === 'number' ? timeoutArg : defaultTimeout;
330
436
  if (!this._socket) {
331
437
  console.trace('Runner is not initialized (runner.send)');
332
438
  return reject('Runner is not initialized');
@@ -342,11 +448,13 @@ class LinuxImpulseRunner {
342
448
  }
343
449
  };
344
450
  this._runnerEe.on('message', onData);
345
- this._socket.write(JSON.stringify(Object.assign(msg, {
451
+ const body = JSON.stringify(Object.assign(msg, {
346
452
  id: msgId
347
- })) + '\n');
453
+ }));
454
+ this._socket.write(body + '\n');
348
455
  setTimeout(() => {
349
- reject(`'No response within ${timeout / 1000} seconds'`);
456
+ reject(`No response within ${timeout / 1000} seconds:\n\n` +
457
+ Buffer.concat(this._stdout).toString('utf-8'));
350
458
  }, timeout);
351
459
  const onExit = (code) => {
352
460
  if (!this._stopped) {
@@ -374,13 +482,13 @@ class LinuxImpulseRunner {
374
482
  return exists;
375
483
  }
376
484
  async runTensorRTWarmup(params) {
377
- const PREFIX = '\x1b[33m[TRT]\x1b[0m';
485
+ const TRT_PREFIX = '\x1b[33m[TRT]\x1b[0m';
378
486
  const spinner = ["|", "/", "-", "\\"];
379
487
  let progressIv;
380
488
  try {
381
489
  let i = 0;
382
490
  progressIv = setInterval(() => {
383
- console.log(PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
491
+ console.log(TRT_PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
384
492
  spinner[i] + '\x1b[1A');
385
493
  i = (i < spinner.length - 1) ? i + 1 : 0;
386
494
  }, 1000);
@@ -390,16 +498,16 @@ class LinuxImpulseRunner {
390
498
  if (progressIv) {
391
499
  clearInterval(progressIv);
392
500
  }
393
- console.log(PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
501
+ console.log(TRT_PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
394
502
  'OK (' + totalTime + 'ms.)');
395
503
  if (totalTime > 5000) {
396
504
  // https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
397
505
  if (await this.exists('/.dockerenv')) {
398
- console.log(PREFIX, '');
399
- console.log(PREFIX, 'If you run this model in Docker you can cache the GPU-optimized model for faster startup times');
400
- console.log(PREFIX, 'by mounting the', +path_1.default.dirname(this._path), 'directory into the container.');
401
- console.log(PREFIX, 'See https://docs.edgeimpulse.com/docs/run-inference/docker#running-offline');
402
- console.log(PREFIX, '');
506
+ console.log(TRT_PREFIX, '');
507
+ console.log(TRT_PREFIX, 'If you run this model in Docker you can cache the GPU-optimized model for faster startup times');
508
+ console.log(TRT_PREFIX, 'by mounting the', +path_1.default.dirname(this._path), 'directory into the container.');
509
+ console.log(TRT_PREFIX, 'See https://docs.edgeimpulse.com/docs/run-inference/docker#running-offline');
510
+ console.log(TRT_PREFIX, '');
403
511
  }
404
512
  }
405
513
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linux-impulse-runner.js","sourceRoot":"","sources":["../../../library/classifier/linux-impulse-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux-impulse-runner.js","sourceRoot":"","sources":["../../../library/classifier/linux-impulse-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const VALGRIND_SUPPRESSION_FILE: string;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /* eslint-disable @stylistic/max-len */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.VALGRIND_SUPPRESSION_FILE = void 0;
5
+ // SoftmaxInt8LUT uses uninitialized memory - suppress this error
6
+ // [0-0] ==389== Use of uninitialised value of size 8
7
+ // [0-0] ==389== at 0x452A58: void tflite::optimized_ops::SoftmaxInt8LUT<signed char, signed char>(tflite::SoftmaxParams const&, tflite::RuntimeShape const&, signed char const*, tflite::RuntimeShape const&, signed char*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
8
+ // [0-0] ==389== by 0x4504DB: TfLiteStatus tflite::ops::builtin::activations::SoftmaxQuantized<signed char, signed char>(TfLiteContext*, TfLiteTensor const*, TfLiteTensor*, tflite::ops::builtin::activations::SoftmaxOpData*, tflite::ops::builtin::activations::KernelType) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
9
+ // [0-0] ==389== by 0x45A9D3: TfLiteStatus tflite::ops::builtin::activations::SoftmaxEval<(tflite::ops::builtin::activations::KernelType)1>(TfLiteContext*, TfLiteNode*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
10
+ // [0-0] ==389== by 0x44A263: tflite::Subgraph::InvokeImpl() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
11
+ // [0-0] ==389== by 0x449C73: tflite::Subgraph::Invoke() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
12
+ // [0-0] ==389== by 0x42AB4B: tflite::impl::Interpreter::Invoke() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
13
+ // [0-0] ==389== by 0x405C87: run_nn_inference(ei_impulse const*, ei_feature_t*, unsigned int, unsigned int*, unsigned int, ei_impulse_result_t*, void*, bool) (tflite_full.h:224)
14
+ // [0-0] ==389== by 0x406BDB: run_inference (ei_run_classifier.h:218)
15
+ // [0-0] ==389== by 0x40700F: process_impulse (ei_run_classifier.h:422)
16
+ // [0-0] ==389== by 0x40AC8F: run_classifier (ei_run_classifier.h:1036)
17
+ // [0-0] ==389== by 0x40AC8F: json_message_handler(rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>&, char*, unsigned long, unsigned long, unsigned long) (main.cpp:397)
18
+ // [0-0] ==389== by 0x40F3E7: socket_main(char*) (main.cpp:707)
19
+ // [0-0] ==389== by 0x4C06E0F: (below main) (libc-start.c:308)
20
+ // [0-0] ==389== Uninitialised value was created by a heap allocation
21
+ // [0-0] ==389== at 0x484C644: memalign (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
22
+ // [0-0] ==389== by 0x6917A3: tflite::SimpleMemoryArena::Commit(bool*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
23
+ // [0-0] ==389== by 0x689FAB: tflite::ArenaPlanner::ExecuteAllocations(int, int) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
24
+ // [0-0] ==389== by 0x4484C3: tflite::Subgraph::PrepareOpsAndTensors() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
25
+ // [0-0] ==389== by 0x447DB7: tflite::Subgraph::AllocateTensors() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
26
+ // [0-0] ==389== by 0x44B703: tflite::Subgraph::ModifyGraphWithDelegateImpl(TfLiteDelegate*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
27
+ // [0-0] ==389== by 0x44BCEF: tflite::Subgraph::ModifyGraphWithDelegate(TfLiteDelegate*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
28
+ // [0-0] ==389== by 0x42C273: TfLiteStatus tflite::impl::Interpreter::ModifyGraphWithDelegateImpl<TfLiteDelegate, void (*)(TfLiteDelegate*)>(std::unique_ptr<TfLiteDelegate, void (*)(TfLiteDelegate*)>&&) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
29
+ // [0-0] ==389== by 0x42A8EB: tflite::impl::Interpreter::ApplyLazyDelegateProviders() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
30
+ // [0-0] ==389== by 0x42A7EB: tflite::impl::Interpreter::AllocateTensors() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
31
+ // [0-0] ==389== by 0x40668F: get_interpreter(ei_learning_block_config_tflite_graph_t*, tflite::impl::Interpreter**) (tflite_full.h:107)
32
+ // [0-0] ==389== by 0x405B9B: run_nn_inference(ei_impulse const*, ei_feature_t*, unsigned int, unsigned int*, unsigned int, ei_impulse_result_t*, void*, bool) (tflite_full.h:186)
33
+ const SOFTMAX_INT8_LUT_SUPPRESSION = `
34
+ {
35
+ aarch64_softmax_i8_suppression
36
+ Memcheck:Value8
37
+ fun:_ZN6tflite13optimized_ops14SoftmaxInt8LUTIaaEEvRKNS_13SoftmaxParamsERKNS_12RuntimeShapeEPKT_S7_PT0_
38
+ fun:_ZN6tflite3ops7builtin11activations16SoftmaxQuantizedIaaEE12TfLiteStatusP13TfLiteContextPK12TfLiteTensorPS7_PNS2_13SoftmaxOpDataENS2_10KernelTypeE
39
+ fun:_ZN6tflite3ops7builtin11activations11SoftmaxEvalILNS2_10KernelTypeE1EEE12TfLiteStatusP13TfLiteContextP10TfLiteNode
40
+ fun:_ZN6tflite8Subgraph10InvokeImplEv
41
+ fun:_ZN6tflite8Subgraph6InvokeEv
42
+ fun:_ZN6tflite4impl11Interpreter6InvokeEv
43
+ fun:_Z16run_nn_inferencePK10ei_impulseP12ei_feature_tjPjjP19ei_impulse_result_tPvb
44
+ fun:run_inference
45
+ ...
46
+ }
47
+ {
48
+ x86_softmax_i8_suppression
49
+ Memcheck:Value8
50
+ fun:_ZN6tflite13optimized_ops7SoftmaxIaaEEvRKNS_13SoftmaxParamsERKNS_12RuntimeShapeEPKT_S7_PT0_
51
+ fun:_ZN6tflite3ops7builtin11activations16SoftmaxQuantizedIaaEE12TfLiteStatusP13TfLiteContextPK12TfLiteTensorPS7_PNS2_13SoftmaxOpDataENS2_10KernelTypeE
52
+ fun:_ZN6tflite3ops7builtin11activations11SoftmaxEvalILNS2_10KernelTypeE1EEE12TfLiteStatusP13TfLiteContextP10TfLiteNode
53
+ fun:_ZN6tflite8Subgraph10InvokeImplEv
54
+ fun:_ZN6tflite8Subgraph6InvokeEv
55
+ fun:_ZN6tflite4impl11Interpreter6InvokeEv
56
+ fun:_Z16run_nn_inferencePK10ei_impulseP12ei_feature_tjPjjP19ei_impulse_result_tPvb
57
+ fun:run_inference
58
+ ...
59
+ }
60
+ `;
61
+ exports.VALGRIND_SUPPRESSION_FILE = [
62
+ SOFTMAX_INT8_LUT_SUPPRESSION,
63
+ ].join('\n');
64
+ //# sourceMappingURL=valgrind-suppression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valgrind-suppression.js","sourceRoot":"","sources":["../../../library/classifier/valgrind-suppression.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;AAEvC,iEAAiE;AACjE,qDAAqD;AACrD,gTAAgT;AAChT,kWAAkW;AAClW,4PAA4P;AAC5P,gJAAgJ;AAChJ,4IAA4I;AAC5I,qJAAqJ;AACrJ,qLAAqL;AACrL,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,8PAA8P;AAC9P,kEAAkE;AAClE,iEAAiE;AACjE,sEAAsE;AACtE,qHAAqH;AACrH,0JAA0J;AAC1J,oKAAoK;AACpK,0JAA0J;AAC1J,qJAAqJ;AACrJ,gLAAgL;AAChL,4KAA4K;AAC5K,8RAA8R;AAC9R,yKAAyK;AACzK,8JAA8J;AAC9J,2IAA2I;AAC3I,qLAAqL;AACrL,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpC,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACtC,4BAA4B;CAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { RunnerClassifyResponseSuccess } from "./classifier/linux-impulse-runner";
1
+ import { RunnerClassifyResponseSuccess } from "./classifier/linux-impulse-runner-types";
2
2
  export declare class MovingAverageFilter {
3
3
  private _filterSize;
4
4
  private _state;
@@ -12,14 +12,17 @@ type GStreamerCap = {
12
12
  export type GStreamerMode = 'default' | 'rpi' | 'microchip';
13
13
  export declare class GStreamer extends EventEmitter<{
14
14
  snapshot: (buffer: Buffer, filename: string) => void;
15
+ snapshotForInference: (buffer: Buffer, filename: string) => void;
15
16
  error: (message: string) => void;
17
+ profilingInfo: (ts: Date, name: string) => void;
16
18
  }> implements ICamera {
17
19
  private _captureProcess?;
18
20
  private _tempDir?;
19
21
  private _watcher?;
22
+ private _originalFilesSeen;
20
23
  private _handledFiles;
21
24
  private _verbose;
22
- private _lastHash;
25
+ private _lastFile;
23
26
  private _processing;
24
27
  private _lastOptions?;
25
28
  private _mode;
@@ -29,12 +32,14 @@ export declare class GStreamer extends EventEmitter<{
29
32
  private _isRestarting;
30
33
  private _spawnHelper;
31
34
  private _customLaunchCommand;
32
- private _scaleAndCropInPipeline;
35
+ private _profiling;
36
+ private _emitsOriginalSizeImages;
33
37
  constructor(verbose: boolean, options?: {
34
38
  spawnHelperOverride?: SpawnHelperType;
35
39
  customLaunchCommand?: string;
36
40
  modeOverride?: GStreamerMode;
37
- scaleAndCropInPipeline?: boolean;
41
+ profiling?: boolean;
42
+ dontRunCleanupLoop?: boolean;
38
43
  });
39
44
  init(): Promise<void>;
40
45
  listDevices(): Promise<string[]>;
@@ -48,9 +53,8 @@ export declare class GStreamer extends EventEmitter<{
48
53
  width: number;
49
54
  height: number;
50
55
  }, inferenceDims: ICameraInferenceDimensions | undefined): Promise<{
51
- invokeProcess: string;
52
56
  command: string;
53
- args: string[];
57
+ pipeline: string;
54
58
  }>;
55
59
  stop(): Promise<void>;
56
60
  getAllDevices(): Promise<{
@@ -80,5 +84,8 @@ export declare class GStreamer extends EventEmitter<{
80
84
  } | {
81
85
  type: 'none';
82
86
  };
87
+ private startOriginalCleanupLoop;
88
+ private wait;
89
+ private safeUnlinkFile;
83
90
  }
84
91
  export {};