тензор потока. js с конфликтом ml5 при angular - PullRequest
0 голосов
/ 31 марта 2020

Я построил свой проект на основе Angular framework (8 или 9) и импортировал оба tenorflow. js и ml5. js одновременно.

Я создал две страницы (компонента) для каждая упаковка

Выглядит нормально, если я импортирую пакет А и смотрю только одну страницу.

Но когда я загружаю другую страницу (которая использует другой пакет js),

выдает некоторые ошибки.

Есть ли какие-либо предложения, чтобы заставить их работать нормально, даже если страница вернется?

проект sr c дерево

тензор.comp onet .ts:

       import * as tf from '@tensorflow/tfjs';
       const buf = tf.buffer([2, 3, 4]);
       buf.toTensor().as3D(2, 3, 4);

мл5. component.ts:

       import * as ml5 from "ml5";
       this.knnClassifier = ml5.KNNClassifier();
       this.featureExtractor = ml5.featureExtractor("MobileNet", () => {});

И я пытаюсь открыть страницы в следующей последовательности:

тензор потока. js (работа) -> ml5 (сбой)

ml5 (работа) -> тензор потока. js (сбой)

Вы также можете обратиться к демонстрации о проекте следующим образом:

https://codesandbox.io/s/gallant-fermi-7thb6

мл5 (работа) -> тензор потока. js (cra sh):

ERROR TypeError: yt(...).makeTensor is not a function
   at t.toTensor (https://7thb6.sse.codesandbox.io/tensor-tensor-module.js:346:16713)
   at TensorComponent.push../src/app/tensor/tensor.component.ts.TensorComponent.ngOnInit (https://7thb6.sse.codesandbox.io/tensor-tensor-module.js:1180:13)
   at callHook (https://7thb6.sse.codesandbox.io/vendor.js:38257:18)
   at callHooks (https://7thb6.sse.codesandbox.io/vendor.js:38227:17)
   at executeInitAndCheckHooks (https://7thb6.sse.codesandbox.io/vendor.js:38180:9)
   at refreshView (https://7thb6.sse.codesandbox.io/vendor.js:43030:21)
   at refreshDynamicEmbeddedViews (https://7thb6.sse.codesandbox.io/vendor.js:44081:21)
   at refreshView (https://7thb6.sse.codesandbox.io/vendor.js:43035:9)
   at refreshComponent (https://7thb6.sse.codesandbox.io/vendor.js:44145:9)
   at refreshChildComponents (https://7thb6.sse.codesandbox.io/vendor.js:42818:9)

тензор потока. js (работа) -> ml5 (cra * sh):

ERROR TypeError: ht(...).registerTensor is not a function
   at new t (https://7thb6.sse.codesandbox.io/ml5-ml5-module.js:27:14511)
   at Function.t.make (https://7thb6.sse.codesandbox.io/ml5-ml5-module.js:27:14610)
   at yn (https://7thb6.sse.codesandbox.io/ml5-ml5-module.js:27:71583)
   at Object.wn (https://7thb6.sse.codesandbox.io/ml5-ml5-module.js:27:71771)
   at new t (ttps://7thb6.sse.codesandbox.io/ml5-ml5-module.js:151:23393)
   at Object.e.default [as featureExtractor] (https://7thb6.sse.codesandbox.io/ml5-ml5-module.js:151:35938)
   at Ml5Component.push../src/app/ml5/ml5.component.ts.Ml5Component.ngOnInit (https://7thb6.sse.codesandbox.io/ml5-ml5-module.js:277:85)
   at callHook (https://7thb6.sse.codesandbox.io/vendor.js:38257:18)
   at callHooks (https://7thb6.sse.codesandbox.io/vendor.js:38227:17)
   at executeInitAndCheckHooks (https://7thb6.sse.codesandbox.io/vendor.js:38180:9)

Мое окружение:

Angular 9

тензор потока. js: 1.7.1

ml5. js: 0.5.0

PS.

Сначала я подумал, что версия tenorflow. js была конфликтной,

Но даже если я понизил тензор потока. js версия t o 1.2.11 (tf js .tf js -core.tf js -data) так же, как ml5, не может решить эту проблему.

...