3
假設我有一個Theano符號x
並運行以下代碼。是否有身份識別功能?
x.name = "x"
y = x
y.name = "y"
當然x.name
的是那麼"y"
。 有沒有一個身份識別功能,可以讓我做下面的事情?
x.name = "x"
y = T.identity(x)
y.name = "y"
預期的行爲是y
現在看到是x
功能,並且它們都正確命名。當然Theano編譯器會簡單地合併這些符號,因爲y
只是x
。
的原因,我問這個是因爲我有像以下,其中filter
和feature
是Theano符號和nonlinear
或者是True
或False
的情況。
activation = T.dot(feature, filter)
activation.name = "activation"
response = T.nnet.sigmoid(activation) if nonlinear else activation
response.name = "response"
的問題是,在nonlinear
是False
的情況下,我activation
符號將被命名爲"response"
。
我可以解決該問題的解決這個問題:
activation = T.dot(feature, filter)
activation.name = "activation"
if nonlinear:
response = T.nnet.sigmoid(activation)
response.name = "response"
else:
response = activation
response.name = "activation&response"
但身份的功能會更優雅:
activation = T.dot(feature, filter)
activation.name = "activation"
response = T.nnet.sigmoid(activation) if nonlinear else T.identity(activation)
response.name = "response"
我不熟悉Theano,但將deepcopy的幫助? –
@JayanthKoushik不,Theano符號是符號數學表達式,而不是常規的Python數據。 –