Скажем, у меня есть два тензора в тензорном потоке, причем первое измерение представляет собой индекс примера обучения в партии, а остальные представляют собой некоторые векторы матриц данных. Напримерумножение матричной матрицы с тензорным потоком
vector_batch = tf.ones([64, 50])
matrix_batch = tf.ones([64, 50, 50])
Мне любопытно, что наиболее идиоматических способ для выполнения вектор * матрицы умножения, для каждой из пар векторов, матриц, которые разделяют индекс вдоль первого измерения.
Аки наиболее идиоматический способ написать:
result = tf.empty([64,50])
for i in range(64):
result[i,:] = tf.matmul(vector_batch[i,:], matrix_batch[i,:,:])
Что бы быть лучшим способом организовать форму входных векторов, чтобы сделать этот процесс максимально простым/чистым, насколько это возможно?
Это именно то, что я искал, спасибо – Taaam
Хмм 'tf.batch_matmul' не существуют в tf 1 - что будет эквивалентным кодом? plain matmul? –