我正在尝试实现一个自动编码器与稀疏的输入。在
我让稀疏的自动编码器与平方误差成本函数一起工作。但是如果我想应用交叉熵误差,它包含矩阵乘法,我得到以下错误:
AsTensorError: ('Variable type field must be a TensorType.', SparseVariable{csr,float64}, Sparse[float64, csr])
我在http://nbviewer.ipython.org/urls/gist.githubusercontent.com/peterroelants/4946cdbf189c5e75f2b7/raw/2ee7d3e533a4a6ac2707a2ffa310b81a86e70afd/gistfile1.json上传了一个说明问题的示例笔记本。在
我把问题归结为矩阵乘法cost = T.sum(x * T.log(z))
。这在稠密情况下有效[见单元格2],但在稀疏情况下会出错[参见单元格3]。注意,将稀疏情况下的代价函数[cell 3]更改为平方误差(cost = T.sum((x-z)**2)
)将得到一个有效的结果。在
谁能指出我做错了什么吗?告诉我如何得到一个具有交叉熵误差的稀疏输入自动编码器来工作吗?在
不能对稀疏变量使用T.*函数。在这种情况下,您可以使用:
\在no fix This crash:
^{pr2}$这星期我会设法把修理工作合并在一起。在
相关问题 更多 >
编程相关推荐