コード例 #1
0
 def call(self, inputs):
     ternary_kernel = ternarize(self.kernel, H=self.H)
     output = K.dot(inputs, ternary_kernel)
     if self.use_bias:
         output = K.bias_add(output, self.bias)
     if self.activation is not None:
         output = self.activation(output)
     return output
コード例 #2
0
    def call(self, inputs):
        ternary_kernel = ternarize(self.kernel, H=self.H)
        outputs = K.conv2d(inputs,
                           ternary_kernel,
                           strides=self.strides,
                           padding=self.padding,
                           data_format=self.data_format,
                           dilation_rate=self.dilation_rate)

        if self.use_bias:
            outputs = K.bias_add(outputs,
                                 self.bias,
                                 data_format=self.data_format)

        if self.activation is not None:
            return self.activation(outputs)
        return outputs
コード例 #3
0
def ternary_tanh(x):
    x = K.clip(x, -1, 1)
    return ternarize(x)