Умножение матриц тензорного потокаPython

Программы на Python
Ответить
Anonymous
 Умножение матриц тензорного потока

Сообщение Anonymous »

Итак, я хочу умножить матрицу на матрицу. Когда я пробую массив с матрицей, это работает:

import tensorflow as tf

x = tf.placeholder(tf.float32, [None, 3])
W = tf.Variable(tf.ones([3, 3]))
y = tf.matmul(x, W)

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
curr_y = sess.run(y, feed_dict={x: [[1,2,3],[0,4,5]]})
print curr_y


Итак, массив имеет размер пакета 2 и форму 3x1. Итак, я могу умножить матрицу формы 3x3 на массив 3x1.
Но когда у меня снова есть матрица формы 3x3, но на этот раз матрица, а не массив формы 3x2, с размером пакета 2, это не работает.

Но если я попытаюсь умножить матрицу на матрицу. Это не работает.

import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 3,3])
W = tf.Variable(tf.ones([3, 3]))
y = tf.matmul(x, W)

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
curr_y = sess.run(y, feed_dict={x: [[[1,2,3],[1,2,3]],[[1,1,4],[0,4,5]]]})
print curr_y



ValueError: Форма должна иметь ранг 2, но имеет ранг 3 для 'MatMul' (op:
'MatMul') с входными формами: [?,3,3], [3,3].


########EDIT

Извините, что я хочу do — это сопоставить матрицу с пакетом матриц или массивов. Так что я не хочу этого делать

y = tf.matmul(x, W)


вообще-то я хочу сделать

y = tf.matmul(W, x)


Подробнее: https://stackoverflow.com/questions/477 ... iplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»