def deserialize_single_input_output(self, transformer, node_path, attributes_map=None):
        """
        :attributes_map: Map of attributes names. For example StandardScaler has `mean_` but is serialized as `mean`
        :param transformer: Scikit or Pandas transformer
        :param node: bundle.ml node json file
        :param model: bundle.ml model json file
        :return: Transformer
        """
        # Load the model file
        with open("{}/model.json".format(node_path)) as json_data:
            model_j = json.load(json_data)

        # Set Transformer Attributes
        attributes = model_j['attributes']
        for attribute in attributes.keys():
            value_key = [key for key in attributes[attribute].keys()
                         if key in ['string', 'boolean','long', 'double', 'data_shape']][0]
            if attributes_map is not None and attribute in attributes_map.keys():
                setattr(transformer, attributes_map[attribute], attributes[attribute][value_key])
            else:
                setattr(transformer, attribute, attributes[attribute][value_key])

        transformer.op = model_j['op']

        # Load the node file
        with open("{}/node.json".format(node_path)) as json_data:
            node_j = json.load(json_data)

        transformer.name = node_j['name']
        transformer.input_features = self._node_features_format(node_j['shape']['inputs'][0]['name'])
        transformer.output_features = self._node_features_format(node_j['shape']['outputs'][0]['name'])

        return transformer