diff --git a/include/operators/operator_set.h b/include/operators/operator_set.h new file mode 100644 index 00000000..5f6f47d1 --- /dev/null +++ b/include/operators/operator_set.h @@ -0,0 +1,104 @@ +#ifndef OPERATOR_SET_H +#define OPERATOR_SET_H + +#include "operator.h" +#include "tracing.h" +#include +#include + +typedef struct operator_set_opdomain operator_set_opdomain; +typedef struct operator_set_opname operator_set_opname; +typedef struct operator_set_opversion operator_set_opversion; + +//TODO clean up includes +#include "operators/operator_info.h" +#include "operators/operator.h" + +struct operator_set_opversion +{ + size_t version; + operator_preparer preparer; + operator_info *info; +}; + +struct operator_set_opname +{ + char *name; + operator_set_opversion *opversions[]; +}; + +struct operator_set_opdomain +{ + char *name; + operator_set_opname *opnames[]; +}; + +extern operator_set_opdomain *operator_set[]; + +static __attribute__((unused)) +operator_preparer +operator_set_find_preparer( + char *name, + size_t version +) { + operator_set_opversion *tmp = NULL; + for (operator_set_opdomain **opdomain = operator_set; *opdomain; opdomain++) + { + for (operator_set_opname **opname = (*opdomain)->opnames; *opname; opname++) + { + if (strcmp((*opname)->name,name) == 0) { + for (operator_set_opversion **opversion = (*opname)->opversions; *opversion; opversion++) + { + if ((*opversion)->version <= version) { + if (!tmp || (*opversion)->version >= tmp->version) { + tmp = *opversion; + } + } + } + if (tmp) { + TRACE(2, true, "Found operator '%s' version '%zu'", name, tmp->version); + return tmp->preparer; + } + } + } + } + TRACE_FATAL(0, true, "No Operator not found with name '%s' for opset '%zu'", name, tmp->version); + return NULL; +} + +static __attribute__((unused)) +operator_info* +operator_set_find_info( + char *name, + size_t version) +{ + operator_set_opversion *tmp = NULL; + for (operator_set_opdomain **opdomain = operator_set; *opdomain; opdomain++) + { + for (operator_set_opname **opname = (*opdomain)->opnames; *opname; opname++) + { + if (strcmp((*opname)->name, name) == 0) + { + for (operator_set_opversion **opversion = (*opname)->opversions; *opversion; opversion++) + { + if ((*opversion)->version <= version) + { + if (!tmp || (*opversion)->version >= tmp->version) + { + tmp = *opversion; + } + } + } + if (tmp) + { + TRACE(2, true, "Found operator '%s' version '%zu'", name, tmp->version); + return tmp->info; + } + } + } + } + TRACE_FATAL(0, true, "No Operator not found with name '%s' for opset '%zu'", name, tmp->version); + return NULL; +} + +#endif diff --git a/include/operators/operator_sets.h b/include/operators/operator_sets.h deleted file mode 100644 index decefe92..00000000 --- a/include/operators/operator_sets.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef OPERATOR_SETS_H -#define OPERATOR_SETS_H - -#include "operator.h" -#include -#include -#include - -typedef struct operator_set operator_set; -typedef struct operator_sets operator_sets; -typedef struct operator_set_entry operator_set_entry; - -//TODO clean up includes -#include "operators/operator_info.h" -#include "operators/operator.h" - -struct operator_set_entry { - char *name; - operator_preparer preparer; - operator_info *info; -}; - -struct operator_set -{ - size_t version; - char *domain; - size_t length; - operator_set_entry entries[]; -}; - -struct operator_sets -{ - size_t length; - operator_set *sets[]; -}; - -extern operator_sets all_operator_sets; - -static __attribute__((unused)) -operator_preparer find_operator_preparer( - char *name, - size_t version -) { - for( size_t i_set = 0; i_set < all_operator_sets.length; i_set++ ) { - operator_set *set = all_operator_sets.sets[i_set]; - if (set->version != version) { - continue; - } - for (size_t i_entry = 0; i_entry < set->length; i_entry++) { - operator_set_entry *entry = &set->entries[i_entry]; - if (strcmp(entry->name,name) == 0) { - printf("Found opname:%s version:%zu\n", name, version); - return entry->preparer; - } - } - } - printf("Preparer not found opname:%s version:%zu\n", name, version); - // TODO Break here? Doesn't make sense to continue if the resolver is - // not found - return NULL; -} - -#endif diff --git a/scripts/onnx_generator/OnnxWrapper.py b/scripts/onnx_generator/OnnxWrapper.py index 47b93d29..30751a37 100644 --- a/scripts/onnx_generator/OnnxWrapper.py +++ b/scripts/onnx_generator/OnnxWrapper.py @@ -572,9 +572,13 @@ def __init__(self, schema): def __repr__(self): return f"OnnxSchema({self.__dict__.__repr__()})" - def _operator_name(self, schema): - name = f"operator__{self._domain(schema)}__{schema.name}__{schema.since_version}" - return re.sub(r"\W", "_", name).lower() + def _operator_name(self, schema, name=True, version=True): + opname = f"operator__{self._domain(schema)}" + if name: + opname += f"__{schema.name}" + if version: + opname += f"__{schema.since_version}" + return re.sub(r"\W", "_", opname).lower() def _domain(self, schema): domain = "ai.onnx" diff --git a/scripts/onnx_generator/OperatorSets.py b/scripts/onnx_generator/OperatorSets.py index 2f2041f8..84c6dac4 100644 --- a/scripts/onnx_generator/OperatorSets.py +++ b/scripts/onnx_generator/OperatorSets.py @@ -1,88 +1,145 @@ from .Template import Template import re -class OperatorSetEntry(Template): +class SourceOperatorVersion(Template): + _basepath = "{path}" + _filepath = "{schema.domain}/{schema.name}/{schema.version}/opversion_{operator_name}.c" _template = ''' -{{ - .name = "{name}", - .preparer = prepare_{operator_name}, - .info = &info_{operator_name} -}} +//this file was generated by {scriptpath} + +#include "operators/operator_set.h" +#include "operators/{schema.domain}/{schema.name}/{schema.version}/{schema.operator_name}.h" + +operator_set_opversion opversion_{operator_name} = {{ + .version = {version}, + .preparer = prepare_{operator_name}, + .info = &info_{operator_name} +}}; ''' - def __init__(self, schema): + def __init__(self, schema, path): + self.path = path self.schema = schema + self.version = schema.version self.name = schema.name self.operator_name = schema.operator_name - -class OperatorSet(Template): +class SourceOperator(Template): + _basepath = "{path}" + _filepath = "{domain}/{name}/opname_operator__{_domain}__{_name}.c" _template = ''' -operator_set {name} = {{ - .version = {version}, - .domain = "{domain}", - .length = {length}, - .entries = {{ - {entries} - }} +//this file was generated by {scriptpath} + +#include "operators/operator_set.h" + +{extern} + +operator_set_opname opname_operator__{_domain}__{_name} = {{ + .name = "{name}", + .opversions = {{ + {entries} + NULL + }} }}; ''' + def __init__(self, domain, name, schemas, path): + self.path = path + self.name = name + self.schemas = schemas + self.domain = domain - def __init__(self, domain, version, schemas): + self._domain = re.sub(r"\W", "_",domain).lower() + self._name = re.sub(r"\W", "_",name).lower() + + entries = [] + extern = [] + for s in schemas: + entries.append(f"&opversion_{s.operator_name},") + extern.append(f'extern operator_set_opversion opversion_{s.operator_name};') + self.entries = "\n ".join(entries) + self.extern = "\n".join(extern) + +class SourceDomain(Template): + _basepath = "{path}" + _filepath = "{domain}/opdomain_operator__{_domain}.c" + _template = ''' +//this file was generated by {scriptpath} + +#include "operators/operator_set.h" + +{extern} + +operator_set_opdomain opdomain_operator__{_domain} = {{ + .name = "{domain}", + .opnames = {{ + {entries} + NULL + }} +}}; +''' + def __init__(self, domain, operators, path): + self.path = path self.domain = domain - domain_sane = re.sub(r"\W","_",domain) - self.version = version - self.schemas = schemas - self.name = f"operator_set__{domain_sane}__{version}" - self.length = len(schemas) - self.entries = ",".join([ str(OperatorSetEntry(s)) for s in self.schemas ]) + self._domain = re.sub(r"\W", "_",domain).lower() + self.operators = operators + entries = [] + extern = [] + for op in operators: + _op = re.sub(r"\W", "_",op).lower() + entries.append(f"&opname_operator__{self._domain}__{_op},") + extern.append(f'extern operator_set_opname opname_operator__{self._domain}__{_op};') + self.entries = "\n ".join(entries) + self.extern = "\n".join(extern) -class Source(Template): +class OperatorSet(Template): _basepath = "{path}" - _filepath = "operator_sets.c" + _filepath = "operator_set.c" _template = ''' //this file was generated by {scriptpath} -#include "operators/operator_sets.h" -{includes} +#include "operators/operator_set.h" -{sets} +{extern} -operator_sets all_operator_sets = {{ - .length = {length}, - .sets = {{ - {set_refs} - }} +operator_set_opdomain *operator_set[] = {{ + {entries} + NULL }}; ''' - def __init__(self, headers, path): - self.headers = headers + def __init__(self, domains, path): + self.path = path + self.domains = domains + entries = [] + extern = [] + for domain in domains: + _domain = re.sub(r"\W", "_",domain).lower() + entries.append(f"&opdomain_operator__{_domain},") + extern.append(f'extern operator_set_opdomain opdomain_operator__{_domain};') + self.entries = "\n ".join(entries) + self.extern = "\n".join(extern) + +class Sets(Template): + def __init__(self, schemas, path): + self.schemas = schemas self.path = path sets = [] versions = set() - domain2name2version2schema = {} - for header in self.headers: - schema = header.schema - name2version2schema = domain2name2version2schema.setdefault(schema.domain,{}) + self.domain2name2version2schema = {} + for schema in self.schemas: + name2version2schema = self.domain2name2version2schema.setdefault(schema.domain,{}) name2version2schema.setdefault(schema.name,{})[schema.version] = schema versions.add(schema.version) - for version in versions: - for domain, name2version2schema in domain2name2version2schema.items(): - tmp = [] - for _name, version2schema in name2version2schema.items(): - for v in range(version, 0, -1): - if v in version2schema: - tmp.append(version2schema[v]) - break - # print(sets, domain, version, tmp) - sets.append(OperatorSet(domain, version, tmp)) + def __iter__(self): + yield OperatorSet(self.domain2name2version2schema.keys(), self.path) + for domain, name2version2schema in self.domain2name2version2schema.items(): + yield SourceDomain(domain, name2version2schema.keys(), self.path) + for name, version2schema in name2version2schema.items(): + yield SourceOperator(domain, name, version2schema.values(), self.path) + for schema in version2schema.values(): + yield SourceOperatorVersion(schema, self.path) - self.includes = "\n".join([ f'#include "operators/{h.filepath(False,False)}"' for h in self.headers ]) - self.sets = "\n\n".join([ str(s) for s in sets]) - self.length = len(sets) - self.set_refs = ",\n".join([f"&{s.name}" for s in sets]) diff --git a/scripts/onnx_generator/run.py b/scripts/onnx_generator/run.py index 0e20c813..ac6a582a 100644 --- a/scripts/onnx_generator/run.py +++ b/scripts/onnx_generator/run.py @@ -142,11 +142,10 @@ def fatal(text, error=1): resolvers = [ OperatorTypeResolver.Source(h,path) for h in headers ] note("generating onnx operator sets") path = f"{args.path[-1]}/{args.sets[-1]}/" -sets = [OperatorSets.Source(headers,path)] +sets = OperatorSets.Sets(schemas,path) note("generating onnx operator template") path = f"{args.path[-1]}/{args.template[-1]}/" templates = itertools.chain(*[ OperatorTemplate.Templates(h,path) for h in headers ]) -note("generating onnx operator info") path = f"{args.path[-1]}/{args.info[-1]}/" info = [ OperatorInfo.Source(h, path) for h in headers ] diff --git a/src/inference.c b/src/inference.c index 6cb6b86f..51a8c25d 100644 --- a/src/inference.c +++ b/src/inference.c @@ -5,7 +5,7 @@ #include "utils.h" #include "tracing.h" #include "inference.h" -#include "operators/operator_sets.h" +#include "operators/operator_set.h" // Won't be global in the future node_context all_context[MAX_NUM_OF_NODES]; @@ -60,8 +60,8 @@ void resolve(Onnx__ModelProto *model, // model->opset_import[0]->version // TODO Hackish temporal solution. Use opset 12. size_t version = 12; - operator_preparer prepare = find_operator_preparer(model->graph->node[nodeIdx]->op_type, version); - TRACE_FATAL(0, !prepare, "No prepare function could be found for operator '%s' version '%zu'",model->graph->node[nodeIdx]->op_type, version); + operator_preparer prepare = operator_set_find_preparer(model->graph->node[nodeIdx]->op_type, version); + TRACE_FATAL(0, !prepare, "No prepare function could be found for operator '%s' version '%zu'", model->graph->node[nodeIdx]->op_type, version); prepare(&all_context[nodeIdx]); _populatedIdx++; } diff --git a/src/operators/ai.onnx/Add/7/opversion_operator__ai_onnx__add__7.c b/src/operators/ai.onnx/Add/7/opversion_operator__ai_onnx__add__7.c new file mode 100644 index 00000000..a79e0568 --- /dev/null +++ b/src/operators/ai.onnx/Add/7/opversion_operator__ai_onnx__add__7.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Add/7/operator__ai_onnx__add__7.h" + +operator_set_opversion opversion_operator__ai_onnx__add__7 = { + .version = 7, + .preparer = prepare_operator__ai_onnx__add__7, + .info = &info_operator__ai_onnx__add__7 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Add/opname_operator__ai_onnx__add.c b/src/operators/ai.onnx/Add/opname_operator__ai_onnx__add.c new file mode 100644 index 00000000..eff9fe7c --- /dev/null +++ b/src/operators/ai.onnx/Add/opname_operator__ai_onnx__add.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__add__7; + +operator_set_opname opname_operator__ai_onnx__add = { + .name = "Add", + .opversions = { + &opversion_operator__ai_onnx__add__7, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/ArgMax/12/opversion_operator__ai_onnx__argmax__12.c b/src/operators/ai.onnx/ArgMax/12/opversion_operator__ai_onnx__argmax__12.c new file mode 100644 index 00000000..c66975a7 --- /dev/null +++ b/src/operators/ai.onnx/ArgMax/12/opversion_operator__ai_onnx__argmax__12.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/ArgMax/12/operator__ai_onnx__argmax__12.h" + +operator_set_opversion opversion_operator__ai_onnx__argmax__12 = { + .version = 12, + .preparer = prepare_operator__ai_onnx__argmax__12, + .info = &info_operator__ai_onnx__argmax__12 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/ArgMax/opname_operator__ai_onnx__argmax.c b/src/operators/ai.onnx/ArgMax/opname_operator__ai_onnx__argmax.c new file mode 100644 index 00000000..76603fa5 --- /dev/null +++ b/src/operators/ai.onnx/ArgMax/opname_operator__ai_onnx__argmax.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__argmax__12; + +operator_set_opname opname_operator__ai_onnx__argmax = { + .name = "ArgMax", + .opversions = { + &opversion_operator__ai_onnx__argmax__12, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/BatchNormalization/9/opversion_operator__ai_onnx__batchnormalization__9.c b/src/operators/ai.onnx/BatchNormalization/9/opversion_operator__ai_onnx__batchnormalization__9.c new file mode 100644 index 00000000..bba501d5 --- /dev/null +++ b/src/operators/ai.onnx/BatchNormalization/9/opversion_operator__ai_onnx__batchnormalization__9.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/BatchNormalization/9/operator__ai_onnx__batchnormalization__9.h" + +operator_set_opversion opversion_operator__ai_onnx__batchnormalization__9 = { + .version = 9, + .preparer = prepare_operator__ai_onnx__batchnormalization__9, + .info = &info_operator__ai_onnx__batchnormalization__9 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/BatchNormalization/opname_operator__ai_onnx__batchnormalization.c b/src/operators/ai.onnx/BatchNormalization/opname_operator__ai_onnx__batchnormalization.c new file mode 100644 index 00000000..3b30ead2 --- /dev/null +++ b/src/operators/ai.onnx/BatchNormalization/opname_operator__ai_onnx__batchnormalization.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__batchnormalization__9; + +operator_set_opname opname_operator__ai_onnx__batchnormalization = { + .name = "BatchNormalization", + .opversions = { + &opversion_operator__ai_onnx__batchnormalization__9, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Clip/12/opversion_operator__ai_onnx__clip__12.c b/src/operators/ai.onnx/Clip/12/opversion_operator__ai_onnx__clip__12.c new file mode 100644 index 00000000..81dca4ed --- /dev/null +++ b/src/operators/ai.onnx/Clip/12/opversion_operator__ai_onnx__clip__12.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Clip/12/operator__ai_onnx__clip__12.h" + +operator_set_opversion opversion_operator__ai_onnx__clip__12 = { + .version = 12, + .preparer = prepare_operator__ai_onnx__clip__12, + .info = &info_operator__ai_onnx__clip__12 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Clip/opname_operator__ai_onnx__clip.c b/src/operators/ai.onnx/Clip/opname_operator__ai_onnx__clip.c new file mode 100644 index 00000000..c45a5570 --- /dev/null +++ b/src/operators/ai.onnx/Clip/opname_operator__ai_onnx__clip.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__clip__12; + +operator_set_opname opname_operator__ai_onnx__clip = { + .name = "Clip", + .opversions = { + &opversion_operator__ai_onnx__clip__12, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Constant/12/opversion_operator__ai_onnx__constant__12.c b/src/operators/ai.onnx/Constant/12/opversion_operator__ai_onnx__constant__12.c new file mode 100644 index 00000000..30b2525d --- /dev/null +++ b/src/operators/ai.onnx/Constant/12/opversion_operator__ai_onnx__constant__12.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Constant/12/operator__ai_onnx__constant__12.h" + +operator_set_opversion opversion_operator__ai_onnx__constant__12 = { + .version = 12, + .preparer = prepare_operator__ai_onnx__constant__12, + .info = &info_operator__ai_onnx__constant__12 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Constant/opname_operator__ai_onnx__constant.c b/src/operators/ai.onnx/Constant/opname_operator__ai_onnx__constant.c new file mode 100644 index 00000000..9ca56b0c --- /dev/null +++ b/src/operators/ai.onnx/Constant/opname_operator__ai_onnx__constant.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__constant__12; + +operator_set_opname opname_operator__ai_onnx__constant = { + .name = "Constant", + .opversions = { + &opversion_operator__ai_onnx__constant__12, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Conv/11/opversion_operator__ai_onnx__conv__11.c b/src/operators/ai.onnx/Conv/11/opversion_operator__ai_onnx__conv__11.c new file mode 100644 index 00000000..161dd219 --- /dev/null +++ b/src/operators/ai.onnx/Conv/11/opversion_operator__ai_onnx__conv__11.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Conv/11/operator__ai_onnx__conv__11.h" + +operator_set_opversion opversion_operator__ai_onnx__conv__11 = { + .version = 11, + .preparer = prepare_operator__ai_onnx__conv__11, + .info = &info_operator__ai_onnx__conv__11 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Conv/opname_operator__ai_onnx__conv.c b/src/operators/ai.onnx/Conv/opname_operator__ai_onnx__conv.c new file mode 100644 index 00000000..9e829340 --- /dev/null +++ b/src/operators/ai.onnx/Conv/opname_operator__ai_onnx__conv.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__conv__11; + +operator_set_opname opname_operator__ai_onnx__conv = { + .name = "Conv", + .opversions = { + &opversion_operator__ai_onnx__conv__11, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Elu/6/opversion_operator__ai_onnx__elu__6.c b/src/operators/ai.onnx/Elu/6/opversion_operator__ai_onnx__elu__6.c new file mode 100644 index 00000000..e238c320 --- /dev/null +++ b/src/operators/ai.onnx/Elu/6/opversion_operator__ai_onnx__elu__6.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Elu/6/operator__ai_onnx__elu__6.h" + +operator_set_opversion opversion_operator__ai_onnx__elu__6 = { + .version = 6, + .preparer = prepare_operator__ai_onnx__elu__6, + .info = &info_operator__ai_onnx__elu__6 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Elu/opname_operator__ai_onnx__elu.c b/src/operators/ai.onnx/Elu/opname_operator__ai_onnx__elu.c new file mode 100644 index 00000000..7c1d811e --- /dev/null +++ b/src/operators/ai.onnx/Elu/opname_operator__ai_onnx__elu.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__elu__6; + +operator_set_opname opname_operator__ai_onnx__elu = { + .name = "Elu", + .opversions = { + &opversion_operator__ai_onnx__elu__6, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/GlobalAveragePool/1/opversion_operator__ai_onnx__globalaveragepool__1.c b/src/operators/ai.onnx/GlobalAveragePool/1/opversion_operator__ai_onnx__globalaveragepool__1.c new file mode 100644 index 00000000..9900e76c --- /dev/null +++ b/src/operators/ai.onnx/GlobalAveragePool/1/opversion_operator__ai_onnx__globalaveragepool__1.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/GlobalAveragePool/1/operator__ai_onnx__globalaveragepool__1.h" + +operator_set_opversion opversion_operator__ai_onnx__globalaveragepool__1 = { + .version = 1, + .preparer = prepare_operator__ai_onnx__globalaveragepool__1, + .info = &info_operator__ai_onnx__globalaveragepool__1 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/GlobalAveragePool/opname_operator__ai_onnx__globalaveragepool.c b/src/operators/ai.onnx/GlobalAveragePool/opname_operator__ai_onnx__globalaveragepool.c new file mode 100644 index 00000000..49a11e8c --- /dev/null +++ b/src/operators/ai.onnx/GlobalAveragePool/opname_operator__ai_onnx__globalaveragepool.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__globalaveragepool__1; + +operator_set_opname opname_operator__ai_onnx__globalaveragepool = { + .name = "GlobalAveragePool", + .opversions = { + &opversion_operator__ai_onnx__globalaveragepool__1, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Identity/1/opversion_operator__ai_onnx__identity__1.c b/src/operators/ai.onnx/Identity/1/opversion_operator__ai_onnx__identity__1.c new file mode 100644 index 00000000..4ca81475 --- /dev/null +++ b/src/operators/ai.onnx/Identity/1/opversion_operator__ai_onnx__identity__1.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Identity/1/operator__ai_onnx__identity__1.h" + +operator_set_opversion opversion_operator__ai_onnx__identity__1 = { + .version = 1, + .preparer = prepare_operator__ai_onnx__identity__1, + .info = &info_operator__ai_onnx__identity__1 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Identity/opname_operator__ai_onnx__identity.c b/src/operators/ai.onnx/Identity/opname_operator__ai_onnx__identity.c new file mode 100644 index 00000000..d4387d1d --- /dev/null +++ b/src/operators/ai.onnx/Identity/opname_operator__ai_onnx__identity.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__identity__1; + +operator_set_opname opname_operator__ai_onnx__identity = { + .name = "Identity", + .opversions = { + &opversion_operator__ai_onnx__identity__1, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/LeakyRelu/6/opversion_operator__ai_onnx__leakyrelu__6.c b/src/operators/ai.onnx/LeakyRelu/6/opversion_operator__ai_onnx__leakyrelu__6.c new file mode 100644 index 00000000..367da73f --- /dev/null +++ b/src/operators/ai.onnx/LeakyRelu/6/opversion_operator__ai_onnx__leakyrelu__6.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/LeakyRelu/6/operator__ai_onnx__leakyrelu__6.h" + +operator_set_opversion opversion_operator__ai_onnx__leakyrelu__6 = { + .version = 6, + .preparer = prepare_operator__ai_onnx__leakyrelu__6, + .info = &info_operator__ai_onnx__leakyrelu__6 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/LeakyRelu/opname_operator__ai_onnx__leakyrelu.c b/src/operators/ai.onnx/LeakyRelu/opname_operator__ai_onnx__leakyrelu.c new file mode 100644 index 00000000..b1511464 --- /dev/null +++ b/src/operators/ai.onnx/LeakyRelu/opname_operator__ai_onnx__leakyrelu.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__leakyrelu__6; + +operator_set_opname opname_operator__ai_onnx__leakyrelu = { + .name = "LeakyRelu", + .opversions = { + &opversion_operator__ai_onnx__leakyrelu__6, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/MatMul/9/opversion_operator__ai_onnx__matmul__9.c b/src/operators/ai.onnx/MatMul/9/opversion_operator__ai_onnx__matmul__9.c new file mode 100644 index 00000000..6002632d --- /dev/null +++ b/src/operators/ai.onnx/MatMul/9/opversion_operator__ai_onnx__matmul__9.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/MatMul/9/operator__ai_onnx__matmul__9.h" + +operator_set_opversion opversion_operator__ai_onnx__matmul__9 = { + .version = 9, + .preparer = prepare_operator__ai_onnx__matmul__9, + .info = &info_operator__ai_onnx__matmul__9 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/MatMul/opname_operator__ai_onnx__matmul.c b/src/operators/ai.onnx/MatMul/opname_operator__ai_onnx__matmul.c new file mode 100644 index 00000000..6ee7b91e --- /dev/null +++ b/src/operators/ai.onnx/MatMul/opname_operator__ai_onnx__matmul.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__matmul__9; + +operator_set_opname opname_operator__ai_onnx__matmul = { + .name = "MatMul", + .opversions = { + &opversion_operator__ai_onnx__matmul__9, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/MaxPool/12/opversion_operator__ai_onnx__maxpool__12.c b/src/operators/ai.onnx/MaxPool/12/opversion_operator__ai_onnx__maxpool__12.c new file mode 100644 index 00000000..3dd2064e --- /dev/null +++ b/src/operators/ai.onnx/MaxPool/12/opversion_operator__ai_onnx__maxpool__12.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/MaxPool/12/operator__ai_onnx__maxpool__12.h" + +operator_set_opversion opversion_operator__ai_onnx__maxpool__12 = { + .version = 12, + .preparer = prepare_operator__ai_onnx__maxpool__12, + .info = &info_operator__ai_onnx__maxpool__12 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/MaxPool/opname_operator__ai_onnx__maxpool.c b/src/operators/ai.onnx/MaxPool/opname_operator__ai_onnx__maxpool.c new file mode 100644 index 00000000..883154f3 --- /dev/null +++ b/src/operators/ai.onnx/MaxPool/opname_operator__ai_onnx__maxpool.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__maxpool__12; + +operator_set_opname opname_operator__ai_onnx__maxpool = { + .name = "MaxPool", + .opversions = { + &opversion_operator__ai_onnx__maxpool__12, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Mul/7/opversion_operator__ai_onnx__mul__7.c b/src/operators/ai.onnx/Mul/7/opversion_operator__ai_onnx__mul__7.c new file mode 100644 index 00000000..c373bc56 --- /dev/null +++ b/src/operators/ai.onnx/Mul/7/opversion_operator__ai_onnx__mul__7.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Mul/7/operator__ai_onnx__mul__7.h" + +operator_set_opversion opversion_operator__ai_onnx__mul__7 = { + .version = 7, + .preparer = prepare_operator__ai_onnx__mul__7, + .info = &info_operator__ai_onnx__mul__7 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Mul/opname_operator__ai_onnx__mul.c b/src/operators/ai.onnx/Mul/opname_operator__ai_onnx__mul.c new file mode 100644 index 00000000..b9abe9db --- /dev/null +++ b/src/operators/ai.onnx/Mul/opname_operator__ai_onnx__mul.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__mul__7; + +operator_set_opname opname_operator__ai_onnx__mul = { + .name = "Mul", + .opversions = { + &opversion_operator__ai_onnx__mul__7, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Relu/6/opversion_operator__ai_onnx__relu__6.c b/src/operators/ai.onnx/Relu/6/opversion_operator__ai_onnx__relu__6.c new file mode 100644 index 00000000..6b7581a8 --- /dev/null +++ b/src/operators/ai.onnx/Relu/6/opversion_operator__ai_onnx__relu__6.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Relu/6/operator__ai_onnx__relu__6.h" + +operator_set_opversion opversion_operator__ai_onnx__relu__6 = { + .version = 6, + .preparer = prepare_operator__ai_onnx__relu__6, + .info = &info_operator__ai_onnx__relu__6 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Relu/opname_operator__ai_onnx__relu.c b/src/operators/ai.onnx/Relu/opname_operator__ai_onnx__relu.c new file mode 100644 index 00000000..43950d35 --- /dev/null +++ b/src/operators/ai.onnx/Relu/opname_operator__ai_onnx__relu.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__relu__6; + +operator_set_opname opname_operator__ai_onnx__relu = { + .name = "Relu", + .opversions = { + &opversion_operator__ai_onnx__relu__6, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Reshape/5/opversion_operator__ai_onnx__reshape__5.c b/src/operators/ai.onnx/Reshape/5/opversion_operator__ai_onnx__reshape__5.c new file mode 100644 index 00000000..2fc3b162 --- /dev/null +++ b/src/operators/ai.onnx/Reshape/5/opversion_operator__ai_onnx__reshape__5.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Reshape/5/operator__ai_onnx__reshape__5.h" + +operator_set_opversion opversion_operator__ai_onnx__reshape__5 = { + .version = 5, + .preparer = prepare_operator__ai_onnx__reshape__5, + .info = &info_operator__ai_onnx__reshape__5 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Reshape/opname_operator__ai_onnx__reshape.c b/src/operators/ai.onnx/Reshape/opname_operator__ai_onnx__reshape.c new file mode 100644 index 00000000..0d1421f1 --- /dev/null +++ b/src/operators/ai.onnx/Reshape/opname_operator__ai_onnx__reshape.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__reshape__5; + +operator_set_opname opname_operator__ai_onnx__reshape = { + .name = "Reshape", + .opversions = { + &opversion_operator__ai_onnx__reshape__5, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Sigmoid/6/opversion_operator__ai_onnx__sigmoid__6.c b/src/operators/ai.onnx/Sigmoid/6/opversion_operator__ai_onnx__sigmoid__6.c new file mode 100644 index 00000000..0e7f3dea --- /dev/null +++ b/src/operators/ai.onnx/Sigmoid/6/opversion_operator__ai_onnx__sigmoid__6.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Sigmoid/6/operator__ai_onnx__sigmoid__6.h" + +operator_set_opversion opversion_operator__ai_onnx__sigmoid__6 = { + .version = 6, + .preparer = prepare_operator__ai_onnx__sigmoid__6, + .info = &info_operator__ai_onnx__sigmoid__6 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Sigmoid/opname_operator__ai_onnx__sigmoid.c b/src/operators/ai.onnx/Sigmoid/opname_operator__ai_onnx__sigmoid.c new file mode 100644 index 00000000..6d766a41 --- /dev/null +++ b/src/operators/ai.onnx/Sigmoid/opname_operator__ai_onnx__sigmoid.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__sigmoid__6; + +operator_set_opname opname_operator__ai_onnx__sigmoid = { + .name = "Sigmoid", + .opversions = { + &opversion_operator__ai_onnx__sigmoid__6, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Softmax/11/opversion_operator__ai_onnx__softmax__11.c b/src/operators/ai.onnx/Softmax/11/opversion_operator__ai_onnx__softmax__11.c new file mode 100644 index 00000000..bc25395c --- /dev/null +++ b/src/operators/ai.onnx/Softmax/11/opversion_operator__ai_onnx__softmax__11.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Softmax/11/operator__ai_onnx__softmax__11.h" + +operator_set_opversion opversion_operator__ai_onnx__softmax__11 = { + .version = 11, + .preparer = prepare_operator__ai_onnx__softmax__11, + .info = &info_operator__ai_onnx__softmax__11 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Softmax/opname_operator__ai_onnx__softmax.c b/src/operators/ai.onnx/Softmax/opname_operator__ai_onnx__softmax.c new file mode 100644 index 00000000..4dc99924 --- /dev/null +++ b/src/operators/ai.onnx/Softmax/opname_operator__ai_onnx__softmax.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__softmax__11; + +operator_set_opname opname_operator__ai_onnx__softmax = { + .name = "Softmax", + .opversions = { + &opversion_operator__ai_onnx__softmax__11, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Transpose/1/opversion_operator__ai_onnx__transpose__1.c b/src/operators/ai.onnx/Transpose/1/opversion_operator__ai_onnx__transpose__1.c new file mode 100644 index 00000000..278d3fce --- /dev/null +++ b/src/operators/ai.onnx/Transpose/1/opversion_operator__ai_onnx__transpose__1.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" +#include "operators/ai.onnx/Transpose/1/operator__ai_onnx__transpose__1.h" + +operator_set_opversion opversion_operator__ai_onnx__transpose__1 = { + .version = 1, + .preparer = prepare_operator__ai_onnx__transpose__1, + .info = &info_operator__ai_onnx__transpose__1 +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/Transpose/opname_operator__ai_onnx__transpose.c b/src/operators/ai.onnx/Transpose/opname_operator__ai_onnx__transpose.c new file mode 100644 index 00000000..6f769b76 --- /dev/null +++ b/src/operators/ai.onnx/Transpose/opname_operator__ai_onnx__transpose.c @@ -0,0 +1,13 @@ +//this file was generated by ../../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opversion opversion_operator__ai_onnx__transpose__1; + +operator_set_opname opname_operator__ai_onnx__transpose = { + .name = "Transpose", + .opversions = { + &opversion_operator__ai_onnx__transpose__1, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/ai.onnx/opdomain_operator__ai_onnx.c b/src/operators/ai.onnx/opdomain_operator__ai_onnx.c new file mode 100644 index 00000000..551df5f8 --- /dev/null +++ b/src/operators/ai.onnx/opdomain_operator__ai_onnx.c @@ -0,0 +1,47 @@ +//this file was generated by ../../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opname opname_operator__ai_onnx__matmul; +extern operator_set_opname opname_operator__ai_onnx__identity; +extern operator_set_opname opname_operator__ai_onnx__maxpool; +extern operator_set_opname opname_operator__ai_onnx__transpose; +extern operator_set_opname opname_operator__ai_onnx__clip; +extern operator_set_opname opname_operator__ai_onnx__elu; +extern operator_set_opname opname_operator__ai_onnx__relu; +extern operator_set_opname opname_operator__ai_onnx__conv; +extern operator_set_opname opname_operator__ai_onnx__argmax; +extern operator_set_opname opname_operator__ai_onnx__add; +extern operator_set_opname opname_operator__ai_onnx__leakyrelu; +extern operator_set_opname opname_operator__ai_onnx__reshape; +extern operator_set_opname opname_operator__ai_onnx__globalaveragepool; +extern operator_set_opname opname_operator__ai_onnx__mul; +extern operator_set_opname opname_operator__ai_onnx__constant; +extern operator_set_opname opname_operator__ai_onnx__batchnormalization; +extern operator_set_opname opname_operator__ai_onnx__sigmoid; +extern operator_set_opname opname_operator__ai_onnx__softmax; + +operator_set_opdomain opdomain_operator__ai_onnx = { + .name = "ai.onnx", + .opnames = { + &opname_operator__ai_onnx__matmul, + &opname_operator__ai_onnx__identity, + &opname_operator__ai_onnx__maxpool, + &opname_operator__ai_onnx__transpose, + &opname_operator__ai_onnx__clip, + &opname_operator__ai_onnx__elu, + &opname_operator__ai_onnx__relu, + &opname_operator__ai_onnx__conv, + &opname_operator__ai_onnx__argmax, + &opname_operator__ai_onnx__add, + &opname_operator__ai_onnx__leakyrelu, + &opname_operator__ai_onnx__reshape, + &opname_operator__ai_onnx__globalaveragepool, + &opname_operator__ai_onnx__mul, + &opname_operator__ai_onnx__constant, + &opname_operator__ai_onnx__batchnormalization, + &opname_operator__ai_onnx__sigmoid, + &opname_operator__ai_onnx__softmax, + NULL + } +}; \ No newline at end of file diff --git a/src/operators/operator_info.c b/src/operators/operator_info.c index d82e0237..c137b501 100644 --- a/src/operators/operator_info.c +++ b/src/operators/operator_info.c @@ -1,5 +1,4 @@ #include "operators/operator_info.h" -#include "operators/operator_sets.h" #include @@ -79,27 +78,4 @@ operator_info_tensorType2str(uint32_t type) default: return NULL; } -} - -operator_info* -operator_info_find(size_t version, - char *domain, - char *name) -{ - for( size_t i_set = 0; i_set < all_operator_sets.length; i_set++ ) { - operator_set *set = all_operator_sets.sets[i_set]; - if (set->version != version) { - continue; - } - if (strcmp(set->domain,domain) != 0) { - continue; - } - for (size_t i_entry = 0; i_entry < set->length; i_entry++) { - operator_info *entry = set->entries[i_entry].info; - if (strcmp(entry->name,name) == 0) { - return entry; - } - } - } - return NULL; } \ No newline at end of file diff --git a/src/operators/operator_set.c b/src/operators/operator_set.c new file mode 100644 index 00000000..c1c4de3c --- /dev/null +++ b/src/operators/operator_set.c @@ -0,0 +1,10 @@ +//this file was generated by ../../../scripts/onnx_generator/OperatorSets.py + +#include "operators/operator_set.h" + +extern operator_set_opdomain opdomain_operator__ai_onnx; + +operator_set_opdomain *operator_set[] = { + &opdomain_operator__ai_onnx, + NULL +}; \ No newline at end of file diff --git a/src/operators/operator_sets.c b/src/operators/operator_sets.c deleted file mode 100644 index c33de5d2..00000000 --- a/src/operators/operator_sets.c +++ /dev/null @@ -1,373 +0,0 @@ -//this file was generated by ../../../scripts/onnx_generator/OperatorSets.py -#include "operators/operator_sets.h" - -#include "operators/ai.onnx/MatMul/9/operator__ai_onnx__matmul__9.h" -#include "operators/ai.onnx/Identity/1/operator__ai_onnx__identity__1.h" -#include "operators/ai.onnx/MaxPool/12/operator__ai_onnx__maxpool__12.h" -#include "operators/ai.onnx/Transpose/1/operator__ai_onnx__transpose__1.h" -#include "operators/ai.onnx/Clip/12/operator__ai_onnx__clip__12.h" -#include "operators/ai.onnx/Elu/6/operator__ai_onnx__elu__6.h" -#include "operators/ai.onnx/Relu/6/operator__ai_onnx__relu__6.h" -#include "operators/ai.onnx/Conv/11/operator__ai_onnx__conv__11.h" -#include "operators/ai.onnx/ArgMax/12/operator__ai_onnx__argmax__12.h" -#include "operators/ai.onnx/Add/7/operator__ai_onnx__add__7.h" -#include "operators/ai.onnx/LeakyRelu/6/operator__ai_onnx__leakyrelu__6.h" -#include "operators/ai.onnx/Reshape/5/operator__ai_onnx__reshape__5.h" -#include "operators/ai.onnx/GlobalAveragePool/1/operator__ai_onnx__globalaveragepool__1.h" -#include "operators/ai.onnx/Mul/7/operator__ai_onnx__mul__7.h" -#include "operators/ai.onnx/Constant/12/operator__ai_onnx__constant__12.h" -#include "operators/ai.onnx/BatchNormalization/9/operator__ai_onnx__batchnormalization__9.h" -#include "operators/ai.onnx/Sigmoid/6/operator__ai_onnx__sigmoid__6.h" -#include "operators/ai.onnx/Softmax/11/operator__ai_onnx__softmax__11.h" - -operator_set operator_set__ai_onnx__1 = { - .version = 1, - .domain = "ai.onnx", - .length = 3, - .entries = { - { - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -} - } -}; - -operator_set operator_set__ai_onnx__5 = { - .version = 5, - .domain = "ai.onnx", - .length = 4, - .entries = { - { - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "Reshape", - .preparer = prepare_operator__ai_onnx__reshape__5, - .info = &info_operator__ai_onnx__reshape__5 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -} - } -}; - -operator_set operator_set__ai_onnx__6 = { - .version = 6, - .domain = "ai.onnx", - .length = 8, - .entries = { - { - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "Elu", - .preparer = prepare_operator__ai_onnx__elu__6, - .info = &info_operator__ai_onnx__elu__6 -},{ - .name = "Relu", - .preparer = prepare_operator__ai_onnx__relu__6, - .info = &info_operator__ai_onnx__relu__6 -},{ - .name = "LeakyRelu", - .preparer = prepare_operator__ai_onnx__leakyrelu__6, - .info = &info_operator__ai_onnx__leakyrelu__6 -},{ - .name = "Reshape", - .preparer = prepare_operator__ai_onnx__reshape__5, - .info = &info_operator__ai_onnx__reshape__5 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -},{ - .name = "Sigmoid", - .preparer = prepare_operator__ai_onnx__sigmoid__6, - .info = &info_operator__ai_onnx__sigmoid__6 -} - } -}; - -operator_set operator_set__ai_onnx__7 = { - .version = 7, - .domain = "ai.onnx", - .length = 10, - .entries = { - { - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "Elu", - .preparer = prepare_operator__ai_onnx__elu__6, - .info = &info_operator__ai_onnx__elu__6 -},{ - .name = "Relu", - .preparer = prepare_operator__ai_onnx__relu__6, - .info = &info_operator__ai_onnx__relu__6 -},{ - .name = "Add", - .preparer = prepare_operator__ai_onnx__add__7, - .info = &info_operator__ai_onnx__add__7 -},{ - .name = "LeakyRelu", - .preparer = prepare_operator__ai_onnx__leakyrelu__6, - .info = &info_operator__ai_onnx__leakyrelu__6 -},{ - .name = "Reshape", - .preparer = prepare_operator__ai_onnx__reshape__5, - .info = &info_operator__ai_onnx__reshape__5 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -},{ - .name = "Mul", - .preparer = prepare_operator__ai_onnx__mul__7, - .info = &info_operator__ai_onnx__mul__7 -},{ - .name = "Sigmoid", - .preparer = prepare_operator__ai_onnx__sigmoid__6, - .info = &info_operator__ai_onnx__sigmoid__6 -} - } -}; - -operator_set operator_set__ai_onnx__9 = { - .version = 9, - .domain = "ai.onnx", - .length = 12, - .entries = { - { - .name = "MatMul", - .preparer = prepare_operator__ai_onnx__matmul__9, - .info = &info_operator__ai_onnx__matmul__9 -},{ - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "Elu", - .preparer = prepare_operator__ai_onnx__elu__6, - .info = &info_operator__ai_onnx__elu__6 -},{ - .name = "Relu", - .preparer = prepare_operator__ai_onnx__relu__6, - .info = &info_operator__ai_onnx__relu__6 -},{ - .name = "Add", - .preparer = prepare_operator__ai_onnx__add__7, - .info = &info_operator__ai_onnx__add__7 -},{ - .name = "LeakyRelu", - .preparer = prepare_operator__ai_onnx__leakyrelu__6, - .info = &info_operator__ai_onnx__leakyrelu__6 -},{ - .name = "Reshape", - .preparer = prepare_operator__ai_onnx__reshape__5, - .info = &info_operator__ai_onnx__reshape__5 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -},{ - .name = "Mul", - .preparer = prepare_operator__ai_onnx__mul__7, - .info = &info_operator__ai_onnx__mul__7 -},{ - .name = "BatchNormalization", - .preparer = prepare_operator__ai_onnx__batchnormalization__9, - .info = &info_operator__ai_onnx__batchnormalization__9 -},{ - .name = "Sigmoid", - .preparer = prepare_operator__ai_onnx__sigmoid__6, - .info = &info_operator__ai_onnx__sigmoid__6 -} - } -}; - -operator_set operator_set__ai_onnx__11 = { - .version = 11, - .domain = "ai.onnx", - .length = 14, - .entries = { - { - .name = "MatMul", - .preparer = prepare_operator__ai_onnx__matmul__9, - .info = &info_operator__ai_onnx__matmul__9 -},{ - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "Elu", - .preparer = prepare_operator__ai_onnx__elu__6, - .info = &info_operator__ai_onnx__elu__6 -},{ - .name = "Relu", - .preparer = prepare_operator__ai_onnx__relu__6, - .info = &info_operator__ai_onnx__relu__6 -},{ - .name = "Conv", - .preparer = prepare_operator__ai_onnx__conv__11, - .info = &info_operator__ai_onnx__conv__11 -},{ - .name = "Add", - .preparer = prepare_operator__ai_onnx__add__7, - .info = &info_operator__ai_onnx__add__7 -},{ - .name = "LeakyRelu", - .preparer = prepare_operator__ai_onnx__leakyrelu__6, - .info = &info_operator__ai_onnx__leakyrelu__6 -},{ - .name = "Reshape", - .preparer = prepare_operator__ai_onnx__reshape__5, - .info = &info_operator__ai_onnx__reshape__5 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -},{ - .name = "Mul", - .preparer = prepare_operator__ai_onnx__mul__7, - .info = &info_operator__ai_onnx__mul__7 -},{ - .name = "BatchNormalization", - .preparer = prepare_operator__ai_onnx__batchnormalization__9, - .info = &info_operator__ai_onnx__batchnormalization__9 -},{ - .name = "Sigmoid", - .preparer = prepare_operator__ai_onnx__sigmoid__6, - .info = &info_operator__ai_onnx__sigmoid__6 -},{ - .name = "Softmax", - .preparer = prepare_operator__ai_onnx__softmax__11, - .info = &info_operator__ai_onnx__softmax__11 -} - } -}; - -operator_set operator_set__ai_onnx__12 = { - .version = 12, - .domain = "ai.onnx", - .length = 18, - .entries = { - { - .name = "MatMul", - .preparer = prepare_operator__ai_onnx__matmul__9, - .info = &info_operator__ai_onnx__matmul__9 -},{ - .name = "Identity", - .preparer = prepare_operator__ai_onnx__identity__1, - .info = &info_operator__ai_onnx__identity__1 -},{ - .name = "MaxPool", - .preparer = prepare_operator__ai_onnx__maxpool__12, - .info = &info_operator__ai_onnx__maxpool__12 -},{ - .name = "Transpose", - .preparer = prepare_operator__ai_onnx__transpose__1, - .info = &info_operator__ai_onnx__transpose__1 -},{ - .name = "Clip", - .preparer = prepare_operator__ai_onnx__clip__12, - .info = &info_operator__ai_onnx__clip__12 -},{ - .name = "Elu", - .preparer = prepare_operator__ai_onnx__elu__6, - .info = &info_operator__ai_onnx__elu__6 -},{ - .name = "Relu", - .preparer = prepare_operator__ai_onnx__relu__6, - .info = &info_operator__ai_onnx__relu__6 -},{ - .name = "Conv", - .preparer = prepare_operator__ai_onnx__conv__11, - .info = &info_operator__ai_onnx__conv__11 -},{ - .name = "ArgMax", - .preparer = prepare_operator__ai_onnx__argmax__12, - .info = &info_operator__ai_onnx__argmax__12 -},{ - .name = "Add", - .preparer = prepare_operator__ai_onnx__add__7, - .info = &info_operator__ai_onnx__add__7 -},{ - .name = "LeakyRelu", - .preparer = prepare_operator__ai_onnx__leakyrelu__6, - .info = &info_operator__ai_onnx__leakyrelu__6 -},{ - .name = "Reshape", - .preparer = prepare_operator__ai_onnx__reshape__5, - .info = &info_operator__ai_onnx__reshape__5 -},{ - .name = "GlobalAveragePool", - .preparer = prepare_operator__ai_onnx__globalaveragepool__1, - .info = &info_operator__ai_onnx__globalaveragepool__1 -},{ - .name = "Mul", - .preparer = prepare_operator__ai_onnx__mul__7, - .info = &info_operator__ai_onnx__mul__7 -},{ - .name = "Constant", - .preparer = prepare_operator__ai_onnx__constant__12, - .info = &info_operator__ai_onnx__constant__12 -},{ - .name = "BatchNormalization", - .preparer = prepare_operator__ai_onnx__batchnormalization__9, - .info = &info_operator__ai_onnx__batchnormalization__9 -},{ - .name = "Sigmoid", - .preparer = prepare_operator__ai_onnx__sigmoid__6, - .info = &info_operator__ai_onnx__sigmoid__6 -},{ - .name = "Softmax", - .preparer = prepare_operator__ai_onnx__softmax__11, - .info = &info_operator__ai_onnx__softmax__11 -} - } -}; - -operator_sets all_operator_sets = { - .length = 7, - .sets = { - &operator_set__ai_onnx__1, -&operator_set__ai_onnx__5, -&operator_set__ai_onnx__6, -&operator_set__ai_onnx__7, -&operator_set__ai_onnx__9, -&operator_set__ai_onnx__11, -&operator_set__ai_onnx__12 - } -}; \ No newline at end of file