Tensorflow.js `tenor2d` к числовым значениям при сохранении формы - PullRequest
0 голосов
/ 15 января 2019

Используя tensorflowjs внутри проекта Angular7, я сталкиваюсь с проблемой доступа к числовым значениям объекта tensor2d.

В самом деле:

let tensor2d = tf.tensor2d( [[1,2],[3,4]])
let tensor2d_array = tensor2d.dataSync()

даст Array объект формы (4,) вместо (2,2,), как я хочу.

Как мне сохранить форму и получить массив моего тензора. (Изменение формы вручную не практично во всех случаях, так как в этом проекте у меня нет доступа к матричной библиотеке js ..).

1 Ответ

0 голосов
/ 15 января 2019

dataSync и data возвращает сглаживание typedArray . Это означает, что tensor2d_array будет иметь форму [4].

Вместо того, чтобы получать данные с той же формой, что и у тензора, возможно, будет целесообразно получить только значение индекса, которое вы хотите получить. Сказав, что, если по какой-то причине вы хотите сначала получить массив данных, прежде чем получить значение по индексу [i, j], этот ответ показывает, как вы можете извлечь элемент [i, j] полученных данных. используя data или dataSync

Обновление

Начиная с version 15, можно получить массив с такой же формой, что и у тензора, используя tenor.array () или tenor.arraySync ()

...