초보자로서 저는 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 : Unknown parameter type :"과 같은 오류 메시지가 나타납니다.
누구든지 내 코드에 무엇이 잘못되었는지 말할 수 있습니까?
numpy 배열을 theano 함수에 전달할 수 없으며 theano 함수 는 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))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다