Как мне масштабировать столбец Тензор по постоянному значению? - PullRequest
0 голосов
/ 26 мая 2019

Мне нужно масштабировать определенные столбцы тензора на постоянное значение, но я понятия не имею, как подойти к этому с Keras / Tensorflow. У меня есть матрица (BatchSize, 6), и мне нужно умножить столбец 2 на одну константу и столбец 5 на другую константу.

Я пытался создать лямбду, которая умножала столбцы, используя нарезанные индексы, но TF вернул ошибку о невозможности присвоить значения результату.

например.

x[:,2] *= constant

Есть предложения?

1 Ответ

1 голос
/ 26 мая 2019

Просто умножьте его на тензор единиц и констант в нужных местах столбцов.Например:

import tensorflow as tf
import numpy as np

x = tf.placeholder(tf.float32, (None, 6))

const1 = 5.
const2 = 3.
scaler = tf.constant([1, 1, const1, 1, 1, const2], dtype=tf.float32)
res = x*scaler

x_data = np.ones((3, 6))
with tf.Session() as sess:
    print(res.eval({x:x_data}))
# [[1. 1. 5. 1. 1. 3.]
#  [1. 1. 5. 1. 1. 3.]
#  [1. 1. 5. 1. 1. 3.]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...