def test_reshape_converter(self): input_dim = (1, 1, 2) output_dim = (1, 2, 1) inputs = [('input', datatypes.Array(*input_dim))] outputs = [('output', datatypes.Array(*output_dim))] builder = NeuralNetworkBuilder(inputs, outputs) builder.add_reshape(name='Reshape', input_name='input', output_name='output', target_shape=output_dim, mode=1) model_onnx = convert_coreml(builder.spec) self.assertTrue(model_onnx is not None)
def test_reshape_converter(self): input_dim = (1, 1, 2) output_dim = (1, 2, 1) inputs = [('input', datatypes.Array(*input_dim))] outputs = [('output', datatypes.Array(*output_dim))] builder = NeuralNetworkBuilder(inputs, outputs) builder.add_reshape(name='Reshape', input_name='input', output_name='output', target_shape=output_dim, mode=1) context = ConvertContext() node = ReshapeLayerConverter.convert( context, builder.spec.neuralNetwork.layers[0], ['input'], ['output']) self.assertTrue(node is not None)
def verify_reshape(input_dim, target_shape, mode): dtype = 'float32' a_np = np.random.uniform(-100.0, 100.0, size=input_dim).astype(dtype) ref_val = np.reshape(a_np, target_shape) inputs = [('input', datatypes.Array(*input_dim))] output = [('output', datatypes.Array(*ref_val.shape))] builder = NeuralNetworkBuilder(inputs, output) builder.add_reshape(name="reshape", input_name='input', output_name='output', target_shape=target_shape, mode=mode) model = cm.models.MLModel(builder.spec) for target, ctx in tvm.testing.enabled_targets(): out = run_tvm_graph(model, target, ctx, [a_np], ['input'], ref_val.shape, dtype) tvm.testing.assert_allclose(out, ref_val, rtol=1e-5)