def __init__(self, data, target, n_outputs, gpu=-1): self.model = alex.Alex(n_outputs) self.model_name = 'alex' if gpu >= 0: self.model.to_gpu() self.gpu = gpu self.x_feature = data self.y_feature = target # lossが発散したので学習率を変更できるように self.optimizer = optimizers.Adam() self.optimizer.setup(self.model)
parser.add_argument('--arch', '-a', default='alexnet', help='Convnet architecture \ (alex, googlenet, vgga, overfeat)') parser.add_argument('--batchsize', '-B', type=int, default=128, help='minibatch size') parser.add_argument('--gpu', '-g', default=0, type=int, help='GPU ID (negative value indicates CPU)') args = parser.parse_args() xp = cuda.cupy if args.gpu >= 0 else np # Prepare model print(args.arch) if args.arch == 'alexnet': import alex model = alex.Alex() elif args.arch == 'googlenet': import googlenet model = googlenet.GoogLeNet() elif args.arch == 'vgga': import vgga model = vgga.vgga() elif args.arch == 'overfeat': import overfeat model = overfeat.overfeat() else: raise ValueError('Invalid architecture name') if args.gpu >= 0: cuda.get_device(args.gpu).use() model.to_gpu()
def __init__(self, node_name: str): super().__init__(node_name) self.model_path = "{}/AlexlikeMSGD.model".format(MODEL_PATH) self.alex = chainer.links.Classifier(alex.Alex()) self.create_subscription(Image, "/gender_predictor/color/image", self.callback_image, 1) self.pub_result = self.create_publisher(PredictResult, "/gender_predictor/result", 10)
parser.add_argument('--gpu', '-g', type=int, default=0, help='gpu to use') parser.add_argument('--cudnn', '-c', action='store_true', help='True if using cudnn') parser.add_argument('--batchsize', '-b', type=int, default=None, help='batchsize. If None, ' 'batchsize is architecture-specific batchsize is used.') args = parser.parse_args() if args.model == 'alex': import alex model = alex.Alex(args.batchsize, args.cudnn) elif args.model == 'overfeat': import overfeat model = overfeat.Overfeat(args.batchsize, args.cudnn) elif args.model == 'vgg': import vgg model = vgg.VGG(args.batchsize, args.cudnn) elif args.model.startswith('conv'): import conv number = args.model[4:] model = getattr(conv, 'Conv{}'.format(number))(args.batchsize, args.cudnn) else: raise ValueError('Invalid model name') print('Architecture\t{}'.format(args.model)) print('Iteration\t{}'.format(args.iteration))