def main(): ''' Generate and save one representative image per neuron. Usage: cache_feats.py <net_id> <blob_name> [--topk <K>] [--nfeatures <N>] [--stdout] [--gpu-id <id>] [--feat-dir <dir>] Options: --topk <K> How many images to display at once? [default: 9] --nfeatures <N> Only visualize the first N features [default: -1] --stdout Log info to stdout alongside log file [default: false] --gpu-id <id> Id of gpu to use [default: -1] --feat-dir <dir> Directory to store feature images in [default: data/feat/] ''' import docopt, textwrap main_args = docopt.docopt(textwrap.dedent(main.__doc__)) net_id = main_args['<net_id>'] use_stdout = main_args['--stdout'] gpu_id = int(main_args['--gpu-id']) config = recon.config.config.nets[net_id] builder = FeatBuilder(config, gpu_id) feat_dir = main_args['--feat-dir'] util.setup_logging('test_{}'.format(net_id), use_stdout=use_stdout) blob_name = main_args['<blob_name>'] topk = int(main_args['--topk']) nfeatures = int(main_args['--nfeatures']) if nfeatures == -1: nfeatures = builder.num_features(blob_name) for i in range(nfeatures): builder.canonical_image(blob_name, i, topk, pth.join(feat_dir, '{}_feat{}.jpg'.format(blob_name, i)))
def main(): ''' Usage: build_db.py <net_id> <blob_name> [--gpu <id>] [--topk <k>] [--stdout] Options: --gpu <id> The id of the GPU to use [default: -1] --topk <k> The number of top image to store [default: 5] --stdout Log info to stdout alongside log file [default: false] ''' import docopt, textwrap main_args = docopt.docopt(textwrap.dedent(main.__doc__)) net_id = main_args['<net_id>'] blob_name = main_args['<blob_name>'] gpu_id = int(main_args['--gpu']) top_k = int(main_args['--topk']) use_stdout = main_args['--stdout'] util.setup_logging('{}_{}'.format(net_id, blob_name), use_stdout=use_stdout) config = recon.config.config.nets[net_id] builder = FeatBuilder(config, gpu_id) builder.build_max_act_db(blob_name, k=top_k)