Как мне увеличить размер тензора на заданный целочисленный масштабный коэффициент в Tensorflow.js ?

#javascript #tensor #tensorflow.js

#javascript #тензор #tensorflow.js

Вопрос:

Я знаю, что можно было бы реализовать функцию масштабирования в ванильном JS, но если бы у меня был такой тензор, как этот:

 a = tf.tensor([[1,2],[3,4]])
a.print();
/*
Tensor
    [[1, 2],
     [3, 4]]
*/
 

Делает Tensorflow.js у вас есть собственный способ масштабирования тензора без предварительного преобразования его в ванильную структуру данных JS? Например, если бы я увеличил приведенный выше тензор на 2 во всех измерениях, я бы получил это:

 Tensor
    [[1, 1, 2, 2],
     [1, 1, 2, 2],
     [3, 3, 4, 4],
     [3, 3, 4, 4]]
 

Как я могу масштабировать Tensorflow.js тензор вверх без предварительного преобразования его в ванильную структуру данных JS?

Ответ №1:

mirrorPad будет делать именно это

 x = tf.tensor([[1,2],[3,4]])
x.mirrorPad([[1, 1], [1, 1]], 'symmetric').print();
 

Комментарии:

1. О, здорово! Как указать, скажем, масштабный коэффициент или, например, 3 или 5? Вам просто настроить число 1 , чтобы быть 2 или что-то в этом роде?

2. да, вам придется либо поиграть с дополнением, либо добавить другую зеркальную панель, например, следующую: x.mirrorPad([[1, 1], [1, 1]], 'symmetric').mirrorPad([[1, 1], [0, 0]], 'symmetric')