批量产品和层Theano Neupy / Theano

时间:2018-04-30 03:54:39

标签: python machine-learning theano neupy

如何在Theano中实施产品和?在数学上,这相当于乘以前一层的所有(无权重)。我认为我的代码适用于批量大小为1但我希望它适用于批处理。

这是我尝试过的。注意,我不知道我在做什么。

产品和功能

def prod_and(result, k):
    elif k[0][0] == 7:
        return theano.tensor.stack([
            [result[i][0] * result[i][1]*\
            result[i][2] * result[i][3]*\
            result[i][4] * result[i][5]*\
            result[i][6]] for i in np.arange(1)
    ])

产品和图层

class ProdAnd(layers.BaseLayer):

    # Begin by initializing.
    def initialize(self,):
        super(ProdAnd, self).initialize()

    # Create output from input.
    def output(self, *input_values):
        return prod_and(input_values[0], self.input_shape)

我认为我的问题源于我无法理解neupy类型之间的关系(例如什么是连接neupy层{layers.0})。此外,我不认为我理解Theano如何以不同于随机的方式实现批处理。

理想情况下,最佳答案将包括对产品和功能的修复,以及对此特定示例中输入和输出如何工作的解释。

示范

使用它的一个例子是模糊神经网络,它利用Takagi-Sugeno风格的模糊推理(见第5层)。

enter image description here

我试图让问题变得简单,所以我将其分解为简单地将前一层的所有输入相乘。

等式由下式给出:

enter image description here

其中x是输入层,y是输出层。区分每个变量会使另一个变量与前一层保持一致(因此计算起来并不困难)。

0 个答案:

没有答案