2013-11-27 6 views
2

Theano имеет Ops и функции.
В чем разница?В чем разница между Op и функцией

функция кажется хорошей, и легко определить, например, :

x = T.dmatrix('x') 
linmax = function([x], T.maximum(x,0)) 

Ops, кажется, сложно определить. Все абстрактные классы и такие , но такие вещи, как theano.tesnor.tanh и theano.tensor.nnet.sigmoid, обозначаются как Ops. Я не уверен в различии.

Как я могу написать выше linmax как функцию?

+0

См. Http://deeplearning.net/software/theano/extending/op.html –

ответ

1

theano.function() возвращает объект python, вызываемый. Таким образом, вы можете использовать его, чтобы выполнить описанный вами расчет, когда он был вызван.

Theano Ops являются частью символического графика, описывающего требуемые вычисления. Не забывайте, что у Theano есть два шага так много другого языка, как C и другие. Сначала вам нужно описать сделанные вами вычисления, а затем скомпилировать. В C вы определяете это вычисление в текстовом файле. В Theano вы описываете его с символическим графом Theano и этот граф включает Ops.

Затем вы скомпилируете с возможным gcc для C и с theano.function() в Theano.

So Op - это элемент символьного графика. Он описывает вычисления, выполненные в одной точке графика. Эта страница в Theano учебнике описывается график более подробно:

http://deeplearning.net/software/theano/tutorial/symbolic_graphs.html#theano-graphs

Эта страница описывает, как сделать Op в Феано:

http://deeplearning.net/software/theano/tutorial/extending_theano.html

Вы можете пропустить раздел для вариативной части. Поэтому вы можете пропустить большую часть этой страницы, если вы не планируете ее создавать и просто хотите понять ее использование.

Смежные вопросы