def make_plugin_base_section(plugin_group): elements = [] for item in plugin_group["items"]: name = item["name"].title() if "SLA" != item["name"] else item["name"] category_obj = category("%s %ss" % (plugin_group["group"].title(), name)) elements.append(category_obj) module, cls = item["base"].split(":") plugin_base = getattr(importutils.import_module(module), cls) for p in plugin_base.get_all(): category_obj.append(make_plugin_section(p, item["name"])) return elements
def run(self): bases = self._get_all_plugins_bases() if "base_cls" in self.options: for _category_name, base_name, base_cls in bases: if base_name == self.options["base_cls"]: return self._make_plugin_base_section(base_cls) raise Exception("Failed to generate plugins reference for '%s'" " plugin base." % self.options["base_cls"]) categories = {} for category_name, base_name, base_cls in bases: # FIXME(andreykurilin): do not ignore anything if base_name in IGNORED_BASES: continue if category_name not in categories: categories[category_name] = utils.category(category_name) category_of_base = categories[category_name] category_of_base.append(self._make_plugin_base_section(base_cls, base_name)) return [content for _name, content in sorted(categories.items())]
def run(self): bases = self._get_all_plugins_bases() if "base_cls" in self.options: for _category_name, base_name, base_cls in bases: if base_name == self.options["base_cls"]: return self._make_plugin_base_section(base_cls) raise Exception("Failed to generate plugins reference for '%s'" " plugin base." % self.options["base_cls"]) categories = {} for category_name, base_name, base_cls in bases: # FIXME(andreykurilin): do not ignore anything if base_name in IGNORED_BASES: continue if category_name not in categories: categories[category_name] = utils.category(category_name) category_of_base = categories[category_name] category_of_base.append( self._make_plugin_base_section(base_cls, base_name)) return [content for _name, content in sorted(categories.items())]
def make_category_section(name, parser): category_obj = utils.category("Category: %s" % name) # NOTE(andreykurilin): we are re-using `_add_command_parsers` method from # `rally.cli.cliutils`, but, since it was designed to print help message, # generated description for categories contains specification for all # sub-commands. We don't need information about sub-commands at this point, # so let's skip "generated description" and take it directly from category # class. description = parser.defaults["command_object"].__doc__ # TODO(andreykurilin): write a decorator which will mark cli-class as # deprecated without changing its docstring. if description.startswith("[Deprecated"): i = description.find("]") msg = description[1:i] description = description[i + 1:].strip() category_obj.append(utils.warning(msg)) category_obj.extend(utils.parse_text(description)) for command in sorted(parser.subparser.parsers.keys()): subparser = parser.subparser.parsers[command] category_obj.append(make_command_section(name, command, subparser)) return category_obj
def make_category_section(name, parser): category_obj = category("Category: %s" % name) # NOTE(andreykurilin): we are re-using `_add_command_parsers` method from # `rally.cli.cliutils`, but, since it was designed to print help message, # generated description for categories contains specification for all # sub-commands. We don't need information about sub-commands at this point, # so let's skip "generated description" and take it directly from category # class. description = parser.defaults["command_object"].__doc__ # TODO(andreykurilin): write a decorator which will mark cli-class as # deprecated without changing its docstring. if description.startswith("[Deprecated"): i = description.find("]") msg = description[1:i] description = description[i+1:].strip() category_obj.append(warning(msg)) category_obj.extend(parse_text(description)) for command in sorted(parser.subparser.parsers.keys()): subparser = parser.subparser.parsers[command] category_obj.append(make_command_section(name, command, subparser)) return category_obj
import utils data_dir = 'flowers' train_dir = data_dir + '/train' valid_dir = data_dir + '/valid' test_dir = data_dir + '/test' default_img = '/home/workspace/aipnd-project/flowers/test/99/image_07838.jpg' parser = argparse.ArgumentParser(description='predict-file') parser.add_argument('image_path', default=default_img, nargs='*', action="store") parser.add_argument('checkpoint', default="./checkpoint.pth", nargs='*', action="store") parser.add_argument('--top_k', default=3, dest="top_k", action="store", type=int) parser.add_argument('--category_names', dest="category_names", action="store", default='cat_to_name.json') parser.add_argument('--gpu', dest="gpu", default="gpu", action="store",) parse = parser.parse_args() image_path = parse.image_path checkpoint = parse.checkpoint top_k = parse.top_k category = parse.category_names gpu = parse.gpu trainloader, validloader, testloader, _ = utils.data_loaders(data_dir) #model = utils.build_network(architecture, learn_rate) model, optimizer = utils.load_checkpoint(path="checkpoint.pth") cat_to_name = utils.category(category) utils.predict(image_path, model, cat_to_name, device = gpu, topk = top_k)