2017-05-09 16 views
4

私は、Kerasを使ってPythonプログラムで2つの行列を掛けようとします。Kerasでの行列乗算

import keras.backend as K 
import numpy as np 
A = np.random.rand(10,500) 
B = np.random.rand(500,6000) 

x = K.placeholder(shape=A.shape) 
y = K.placeholder(shape=B.shape) 
xy = K.dot(x, y) 

xy.eval(A,B) 

私はこれが機能することはできません知っているが、私はまた、私はそれを動作させることができる方法を知りません。

+0

なぜこれを行うにはケラスが必要ですか?あなたはnumpyでこれを行うことができます –

+0

はい、私はすでに私のプログラムでKerasを使っています。そしてKerasはGPUをサポートしています。 – snoozzz

答えて

8

プレースホルダの代わりに変数を使用する必要があります。

import keras.backend as K 
import numpy as np 
A = np.random.rand(10,500) 
B = np.random.rand(500,6000) 

x = K.variable(value=A) 
y = K.variable(value=B) 

z = K.dot(x,y) 

# Here you need to use K.eval() instead of z.eval() because this uses the backend session 
K.eval(z) 
+1

素晴らしい!美しく動作します。ありがとうございました。 – snoozzz

+0

確かに、あなたのために働いた場合は、答えを受け入れるようにしてください:)ありがとう –