小编Joh*_*ues的帖子

Theano是否为BPTT自动展开?

我正在Theano实施RNN,我很难训练它.它甚至没有记住训练语料库.我的错误很可能是由于我不能完全理解Theano如何应对随时间推移的反向传播.现在,我的代码非常简单:

grad_params = theano.tensor.grad(cost, params)
Run Code Online (Sandbox Code Playgroud)

我的问题是:鉴于我的网络是经常性的,这会自动将架构展开为前馈吗?一方面,这个例子正是我正在做的事情.另一方面,这个帖子让我觉得我错了.

如果它确实为我做了展开,我怎么能截断呢?我可以看到,从文档中有一种方法,scan但我无法想出代码来做到这一点.

python gradient backpropagation theano

8
推荐指数
1
解决办法
2428
查看次数

在Theano索引

如何通过索引向量索引Theano中的矩阵?
更确切地说,说:

  • v的类型为theano.tensor.vector(例如[0,2])
  • A有类型theano.tensor.matrix(例如[[1,0,0],[0,1,0],[0,0,1]])

期望的结果是[[1,0,0],[0,0,1]].
我提到我的目标是将索引列表转换为单热行向量矩阵,其中索引表示热点位置.我最初的尝试是让A = theano.tensor.eye并使用索引向量对其进行索引.

matrix-indexing theano

6
推荐指数
1
解决办法
5334
查看次数

从索引列表到单热矩阵

在Theano中将索引向量转换为零和1的矩阵的最佳(优雅和有效)方法是什么,其中每一行都是索引的一个N表示?

v = t.ivector()  # the vector of indices
n = t.scalar()   # the width of the matrix
convert = <your code here>
f = theano.function(inputs=[v, n], outputs=convert)
Run Code Online (Sandbox Code Playgroud)

例:

n_val = 4
v_val = [1,0,3]
f(v_val, n_val) = [[0,1,0,0],[1,0,0,0],[0,0,0,1]]
Run Code Online (Sandbox Code Playgroud)

python matrix theano

4
推荐指数
1
解决办法
1497
查看次数