2016-12-01 13 views
0

初心者として、私は単にtheanoを使って2つの行列の内積を計算しようとしていました。numano配列をtheano関数のパラメータとして渡します。

私のコードはとても簡単です。

誰もがいただきました!私のコードで間違って教えてもらえます

import theano 
import theano.tensor as T 
import numpy as np 
from theano import function 

def covarience(array): 

    input_array=T.matrix('input_array') 
    deviation_matrix = T.matrix('deviation_matrix') 
    matrix_filled_with_1s=T.matrix('matrix_filled_with_1s') 
    z = T.dot(input_array, matrix_filled_with_1s) 

    identity=np.ones((len(array),len(array))) 

    f=function([array,identity],z) 
    # print(f) 

covarience(np.array([[2,4],[6,8]])) 

が、問題は、私はこのコードを実行するたびに、私は「::不明なパラメータの型はTypeError」のようなエラーメッセージが表示されますか?

答えて

2

numano配列をtheano関数に渡すことはできません.theano functionsは、theano.tensorという変数でしか定義できません。したがって、テンソル/シンボリック変数の相互作用を使って常に計算を定義したり、関数を使用できる値/実際のデータを実際に計算したりするには、numpy配列でtheano関数自体を定義するのは意味がありません。

これは動作するはずです:

import theano 
import theano.tensor as T 
import numpy as np 

a = T.matrix('a') 
b = T.matrix('b') 
z = T.dot(a, b) 
f = theano.function([a, b], z) 
a_d = np.asarray([[2, 4], [6, 8]], dtype=theano.config.floatX) 
b_d = np.ones(a_d.shape, dtype=theano.config.floatX) 
print(f(a_d, b_d)) 
関連する問題