def package_show(args): '''show specified packages''' builtin_name = args.name[0] meta = get_builtin_algo_meta(builtin_name=builtin_name) if meta: print(json.dumps(meta, indent=4)) else: print_error('package {} not found'.format(builtin_name))
def validate_class_args(self, class_args, algo_type, builtin_name): if not builtin_name or not class_args: return meta = get_builtin_algo_meta(algo_type+'s', builtin_name) if meta and 'accept_class_args' in meta and meta['accept_class_args'] == False: raise SchemaError('classArgs is not allowed.') validator = create_validator_instance(algo_type+'s', builtin_name) if validator: try: validator.validate_class_args(**class_args) except Exception as e: raise SchemaError(str(e))
def validate_class_args(self, class_args, algo_type, builtin_name): if not builtin_name or not class_args: return meta = get_builtin_algo_meta(algo_type+'s', builtin_name) if meta and 'accept_class_args' in meta and meta['accept_class_args'] == False: raise SchemaError('classArgs is not allowed.') logging.getLogger('nni.protocol').setLevel(logging.ERROR) # we know IPC is not there, don't complain validator = create_validator_instance(algo_type+'s', builtin_name) if validator: try: validator.validate_class_args(**class_args) except Exception as e: raise SchemaError(str(e))
def package_list(args): '''list all packages''' if args.all: meta = get_builtin_algo_meta() else: meta = read_installed_package_meta() installed_names = defaultdict(list) for t in ['tuners', 'assessors', 'advisors']: for p in meta[t]: p['installed'] = 'Yes' installed_names[t].append(p['name']) for k, v in INSTALLABLE_PACKAGE_META.items(): t = v['type'] + 's' if k not in installed_names[t]: meta[t].append({ 'name': k, 'class_name': v['class_name'], 'class_args_validator': v['class_args_validator'], 'installed': 'No' }) print_package_list(meta)