def test_simple_recurrent_converter(self):
     input_dim = (1, 8)
     output_dim = (1, 2)
     inputs = [('input', datatypes.Array(*input_dim))]
     outputs = [('output', datatypes.Array(*output_dim))]
     builder = NeuralNetworkBuilder(inputs, outputs)
     W_h = numpy.random.rand(2, 2)
     W_x = numpy.random.rand(2, 8)
     b = numpy.random.rand(2, 1)
     builder.add_simple_rnn(name='RNN',
                            W_h=W_h,
                            W_x=W_x,
                            b=b,
                            hidden_size=2,
                            input_size=8,
                            input_names=['input', 'h_init'],
                            output_names=['output', 'h'],
                            activation='TANH',
                            output_all=False,
                            reverse_input=False)
     context = ConvertContext()
     node = SimpleRecurrentLayerConverter.convert(
         context, builder.spec.neuralNetwork.layers[0], ['input'],
         ['output'])
     self.assertTrue(node is not None)
 def test_simple_recurrent_converter(self):
     input_dim = (1, 8)
     output_dim = (1, 2)
     inputs = [('input', datatypes.Array(*input_dim))]
     outputs = [('output', datatypes.Array(*output_dim))]
     builder = NeuralNetworkBuilder(inputs, outputs)
     W_h = numpy.random.rand(2, 2)
     W_x = numpy.random.rand(2, 8)
     b = numpy.random.rand(2, 1)
     builder.add_simple_rnn(name='RNN', W_h=W_h, W_x=W_x, b=b, hidden_size=2, input_size=8,
                            input_names=['input', 'h_init'], output_names=['output', 'h'], activation='TANH',
                            output_all=False, reverse_input=False)
     model_onnx = convert_coreml(builder.spec)
     self.assertTrue(model_onnx is not None)