Example #1
0
 def __init__(self):
     super(GoogLeNet,
           self).__init__(conv1=F.Convolution2D(3, 64, 7, stride=2, pad=3),
                          conv2_reduce=F.Convolution2D(64, 64, 1),
                          conv2=F.Convolution2D(64, 192, 3, stride=1,
                                                pad=1),
                          inc3a=F.Inception(192, 64, 96, 128, 16, 32, 32),
                          inc3b=F.Inception(256, 128, 128, 192, 32, 96, 64),
                          inc4a=F.Inception(480, 192, 96, 208, 16, 48, 64),
                          inc4b=F.Inception(512, 160, 112, 224, 24, 64, 64),
                          inc4c=F.Inception(512, 128, 128, 256, 24, 64, 64),
                          inc4d=F.Inception(512, 112, 144, 288, 32, 64, 64),
                          inc4e=F.Inception(528, 256, 160, 320, 32, 128,
                                            128),
                          inc5a=F.Inception(832, 256, 160, 320, 32, 128,
                                            128),
                          inc5b=F.Inception(832, 384, 192, 384, 48, 128,
                                            128),
                          loss3_fc=F.Linear(1024, 1000),
                          loss1_conv=F.Convolution2D(512, 128, 1),
                          loss1_fc1=F.Linear(4 * 4 * 128, 1024),
                          loss1_fc2=F.Linear(1024, 1000),
                          loss2_conv=F.Convolution2D(528, 128, 1),
                          loss2_fc1=F.Linear(4 * 4 * 128, 1024),
                          loss2_fc2=F.Linear(1024, 1000))
Example #2
0
 def __init__(self):
     w = math.sqrt(2)
     super(CNN4, self).__init__(
         conv1=F.Convolution2D(1,
                               24,
                               7,
                               wscale=w,
                               stride=3,
                               dtype=np.float32),
         conv2=F.Convolution2D(24,
                               48,
                               5,
                               wscale=w,
                               stride=2,
                               dtype=np.float32),
         conv3=F.Convolution2D(48,
                               96,
                               5,
                               wscale=w,
                               stride=1,
                               dtype=np.float32),
         conv4=F.Convolution2D(96,
                               144,
                               5,
                               wscale=w,
                               stride=1,
                               dtype=np.float32),
         ln4=F.Linear(144, 3),
     )
    def __init__(self):
        self.model = FunctionSet(l1=F.Convolution2D(4,
                                                    32,
                                                    ksize=8,
                                                    stride=4,
                                                    nobias=False,
                                                    wscale=np.sqrt(2)),
                                 l2=F.Convolution2D(32,
                                                    64,
                                                    ksize=4,
                                                    stride=2,
                                                    nobias=False,
                                                    wscale=np.sqrt(2)),
                                 l3=F.Convolution2D(64,
                                                    64,
                                                    ksize=3,
                                                    stride=1,
                                                    nobias=False,
                                                    wscale=np.sqrt(2)))

        self.model.l1.W = np.load('elite/l1_W.npy')
        self.model.l1.b = np.load('elite/l1_b.npy')
        self.model.l2.W = np.load('elite/l2_W.npy')
        self.model.l2.b = np.load('elite/l2_b.npy')
        self.model.l3.W = np.load('elite/l3_W.npy')
        self.model.l3.b = np.load('elite/l3_b.npy')
Example #4
0
 def __init__(self,
              n_in,
              n_out,
              ksize,
              stride=1,
              pad=0,
              wscale=1,
              bias=0,
              nobias=False):
     super(ConvolutionalAutoencoder,
           self).__init__(encoder=F.Convolution2D(n_in,
                                                  n_out,
                                                  ksize,
                                                  stride=stride,
                                                  pad=pad,
                                                  wscale=wscale,
                                                  bias=bias,
                                                  nobias=nobias),
                          decoder=F.Convolution2D(n_out,
                                                  n_in,
                                                  ksize,
                                                  stride=stride,
                                                  pad=pad,
                                                  wscale=wscale,
                                                  bias=bias,
                                                  nobias=nobias))
Example #5
0
 def __init__(self,n_act):
   N_output = n_act
   self.model = FunctionSet(
     conv1=F.Convolution2D(1, 16, 3, pad=1),
     conv2=F.Convolution2D(16, 16, 3, pad=1),
     l1=F.Linear(1024, 256),
     l2=F.Linear(256, N_output))
Example #6
0
 def __init__(self, n_history, n_action, on_gpu=False):
     self.n_history = n_history
     self.n_action = n_action
     self.on_gpu = on_gpu
     super(Q, self).__init__(l1=F.Convolution2D(n_history,
                                                32,
                                                ksize=8,
                                                stride=4,
                                                nobias=False,
                                                wscale=np.sqrt(2)),
                             l2=F.Convolution2D(32,
                                                64,
                                                ksize=3,
                                                stride=2,
                                                nobias=False,
                                                wscale=np.sqrt(2)),
                             l3=F.Convolution2D(64,
                                                64,
                                                ksize=3,
                                                stride=1,
                                                nobias=False,
                                                wscale=np.sqrt(2)),
                             l4=F.Linear(3136, 512, wscale=np.sqrt(2)),
                             out=F.Linear(512,
                                          self.n_action,
                                          wscale=np.sqrt(2)))
     if on_gpu:
         self.to_gpu()
Example #7
0
 def __init__(self, output_dim):
     super(C2fc2, self).__init__(
         #Convolution2D(入力チャンネル数,出力チャンネル数,カーネルサイズ)
         conv1=F.Convolution2D(1, 32, 5, pad=2),
         conv2=F.Convolution2D(32, 64, 5, pad=2),
         #Linear(入力次元,出力次元)
         fc1=F.Linear(3136, 512),
         fc2=F.Linear(512, output_dim))
Example #8
0
 def __init__(self):
     super(SiameseNetwork, self).__init__(
         conv1=F.Convolution2D(1, 20, ksize=5, stride=1),
         conv2=F.Convolution2D(20, 50, ksize=5, stride=1),
         fc3=F.Linear(800, 500),
         fc4=F.Linear(500, 10),
         fc5=F.Linear(10, 2),
     )
 def __init__(self, data_dim, output_dim):
     self.data_dim = data_dim
     self.output_dim = output_dim
     super(tsCNN_net_multi,
           self).__init__(conv1=F.Convolution2D(1, 20, (1, 5)),
                          conv2=F.Convolution2D(20, 50, (1, 5)),
                          l1=L.Linear(250, 500),
                          l2=L.Linear(500, self.output_dim))
    def __init__(self):

        super(clf_bake, self).__init__(
            conv1=F.Convolution2D(3, 16, 5, pad=2),
            conv2=F.Convolution2D(16, 32, 5, pad=2),
            l3=F.Linear(6272, 256),
            l4=F.Linear(256, 10)  #10 class classification
        )
Example #11
0
 def __init__(self, n_history, n_act):
     super(ActionValue, self).__init__(
         l1=F.Convolution2D(n_history, 32, ksize=8, stride=4, nobias=False, wscale=np.sqrt(2)),
         l2=F.Convolution2D(32, 64, ksize=4, stride=2, nobias=False, wscale=np.sqrt(2)),
         l3=F.Convolution2D(64, 64, ksize=3, stride=1, nobias=False, wscale=np.sqrt(2)),
         l4=F.Linear(3136, 512),#, wscale=np.sqrt(2)),
         q_value=F.Linear(512, n_act,
                          initialW=0.0*np.random.randn(n_act, 512).astype(np.float32))
     )
 def __init__(self, input_size=32):
     super(CNN3_Model, self).__init__()
     # F.Convolution2D(in_channel, out_channel, filter_size)
     self.model = FunctionSet(  # 1*32*32 -(conv)-> 20*28*28 -(pool)-> 20*14*14
         conv1=F.Convolution2D(1, 20, 5),
         # 20*14*14 -(conv)-> 50*10*10 -(pool)-> 50*5*5=1250
         conv2=F.Convolution2D(20, 50, 5),
         l1=F.Linear(1250, 300),
         l2=F.Linear(300, 2))
Example #13
0
 def __init__(self):
     super(CalibNet48, self).__init__(
         conv1=F.Convolution2D(3, 64, ksize=4, stride=1),
         ln1=F.LocalResponseNormalization(n=9),
         conv2=F.Convolution2D(64, 64, ksize=4, stride=1),
         ln2=F.LocalResponseNormalization(n=9),
         fc1=F.Linear(23104, 256),
         fc2=F.Linear(256, 45),  ## 384 = 256 + 128
     )
Example #14
0
 def __init__(self):
     super(myNet, self).__init__(
         conv1=F.Convolution2D(1, 20, 5),
         norm1=F.BatchNormalization(20),
         conv2=F.Convolution2D(20, 50, 5),
         norm2=F.BatchNormalization(50),
         ip1=F.Linear(4050, 1000),
         ip2=F.Linear(1000, 799),
     )
     self.train = True
Example #15
0
 def __init__(self):
     super(FaceNet48, self).__init__(
         net24 = FaceNet24(),
         conv1=F.Convolution2D(3, 64, ksize=4, stride=1),
         ln1=F.LocalResponseNormalization(n=9),
         conv2=F.Convolution2D(64,64, ksize=4, stride=1),
         ln2=F.LocalResponseNormalization(n=9),
         fc1=F.Linear(5184, 256),
         fc2=F.Linear(384, 2), ## 384 = 256 + 128
     )
Example #16
0
 def __init__(self, output_dim):
     super(C3fc2, self).__init__(
             #Convolution2D(入力チャンネル数,出力チャンネル数,カーネルサイズ)
             conv1 = F.Convolution2D(3, 32, 5, pad=2),
             conv2 = F.Convolution2D(32, 32, 5, pad=2),
             conv3 = F.Convolution2D(32, 32, 5, pad=2),
             #Linear(入力次元,出力次元)
             fc1 = F.Linear(8192, 2048),
             fc2 = F.Linear(2048, output_dim)
     )
Example #17
0
 def __init__(self):
     super(AlexNet_mpii, self).__init__(
         conv1=F.Convolution2D(3, 96, 11, stride=4, pad=1),
         conv2=F.Convolution2D(96, 256, 5, stride=1, pad=2),
         conv3=F.Convolution2D(256, 384, 3, stride=1, pad=1),
         conv4=F.Convolution2D(384, 384, 3, stride=1, pad=1),
         conv5=F.Convolution2D(384, 256, 3, stride=1, pad=1),
         fc6=F.Linear(9216, 4096),
         fc7=F.Linear(4096, 4096),
         fc8=F.Linear(4096, 32)
     )
Example #18
0
 def __init__(self):
     super(Overfeat, self).__init__(
         conv1=F.Convolution2D(3, 96, 11, stride=4),
         conv2=F.Convolution2D(96, 256, 5),
         conv3=F.Convolution2D(256, 512, 3, pad=1),
         conv4=F.Convolution2D(512, 1024, 3, pad=1),
         conv5=F.Convolution2D(1024, 1024, 3, pad=1),
         fc6=F.Linear(36864, 3072),
         fc7=F.Linear(3072, 4096),
         fc8=F.Linear(4096, 1000)
     )
Example #19
0
 def __init__(self):
     super(Alex, self).__init__(
         conv1=F.Convolution2D(3, 64, 11, stride=4),
         conv2=F.Convolution2D(64, 192, 5, pad=2),
         conv3=F.Convolution2D(192, 384, 3, pad=1),
         conv4=F.Convolution2D(384, 256, 3, pad=1),
         conv5=F.Convolution2D(256, 256, 3, pad=1),
         fc6=F.Linear(256 * 6 * 6, 4096),
         fc7=F.Linear(4096, 4096),
         fc8=F.Linear(4096, 1000),
     )
 def __init__(self):
     super(MLP, self).__init__(
         c1=F.Convolution2D(3, 32, 3,
                            pad=1),  # color, features, filter size
         c2=F.Convolution2D(32, 32, 3,
                            pad=1),  # color, features, filter size
         l1=F.Linear(32 * 10 * 10, 1000),
         l2=F.Linear(1000, 100),
         l3=F.Linear(100, 100),
         l4=F.Linear(100, len(y_uniq)))
     self.Train = True
     self.DropRatio = 0.5
Example #21
0
 def __init__(self):
     super(VGG_mini, self).__init__(conv1_1=F.Convolution2D(3,
                                                            64,
                                                            3,
                                                            stride=1,
                                                            pad=1),
                                    conv1_2=F.Convolution2D(64,
                                                            256,
                                                            3,
                                                            stride=1,
                                                            pad=1),
                                    fc=F.Linear(16384, 10))
Example #22
0
    def __init__(self, enable_controller=[0, 3, 4]):
        self.num_of_actions = len(enable_controller)
        self.enable_controller = enable_controller  # Default setting : "Pong"

        print "Initializing DQN..."
        #	Initialization of Chainer 1.1.0 or older.
        #        print "CUDA init"
        #        cuda.init()

        print "Model Building"
        self.model = FunctionSet(
            l1=F.Convolution2D(4,
                               32,
                               ksize=8,
                               stride=4,
                               nobias=False,
                               wscale=np.sqrt(2)),
            l2=F.Convolution2D(32,
                               64,
                               ksize=4,
                               stride=2,
                               nobias=False,
                               wscale=np.sqrt(2)),
            l3=F.Convolution2D(64,
                               64,
                               ksize=3,
                               stride=1,
                               nobias=False,
                               wscale=np.sqrt(2)),
            l4=F.Linear(3136, 512, wscale=np.sqrt(2)),
            q_value=F.Linear(512,
                             self.num_of_actions,
                             initialW=np.zeros((self.num_of_actions, 512),
                                               dtype=np.float32))).to_gpu()

        self.model_target = copy.deepcopy(self.model)

        print "Initizlizing Optimizer"
        self.optimizer = optimizers.RMSpropGraves(lr=0.00025,
                                                  alpha=0.95,
                                                  momentum=0.95,
                                                  eps=0.0001)
        self.optimizer.setup(self.model.collect_parameters())

        # History Data :  D=[s, a, r, s_dash, end_episode_flag]
        self.D = [
            np.zeros((self.data_size, 4, 84, 84), dtype=np.uint8),
            np.zeros(self.data_size, dtype=np.uint8),
            np.zeros((self.data_size, 1), dtype=np.int8),
            np.zeros((self.data_size, 4, 84, 84), dtype=np.uint8),
            np.zeros((self.data_size, 1), dtype=np.bool)
        ]
Example #23
0
    def __init__(self, enable_controller=[0, 3, 4]):
        self.num_of_actions = len(enable_controller)
        self.enable_controller = enable_controller  # Default setting : "Pong"

        print "Initializing DQN..."

        print "Model Building"
        self.model = FunctionSet(
            l1=F.Convolution2D(4,
                               32,
                               ksize=8,
                               stride=4,
                               nobias=False,
                               wscale=np.sqrt(2)),
            l2=F.Convolution2D(32,
                               64,
                               ksize=4,
                               stride=2,
                               nobias=False,
                               wscale=np.sqrt(2)),
            l3=F.Convolution2D(64,
                               64,
                               ksize=3,
                               stride=1,
                               nobias=False,
                               wscale=np.sqrt(2)),
            l4=F.Linear(3136, 512, wscale=np.sqrt(2)),
            q_value=F.Linear(512,
                             self.num_of_actions,
                             initialW=np.zeros((self.num_of_actions, 512),
                                               dtype=np.float32)))  #.to_gpu()
        self.model.l1.W = np.load('elite/l1_W.npy')
        self.model.l1.b = np.load('elite/l1_b.npy')
        self.model.l2.W = np.load('elite/l2_W.npy')
        self.model.l2.b = np.load('elite/l2_b.npy')
        self.model.l3.W = np.load('elite/l3_W.npy')
        self.model.l3.b = np.load('elite/l3_b.npy')
        self.model.l4.W = np.load('elite/l4_W.npy')
        self.model.l4.b = np.load('elite/l4_b.npy')
        self.model.q_value.W = np.load('elite/q_value_W.npy')
        self.model.q_value.b = np.load('elite/q_value_b.npy')

        self.model_target = copy.deepcopy(self.model)

        # History Data :  D=[s, a, r, s_dash, end_episode_flag]
        self.D = [
            np.zeros((self.data_size, 4, 84, 84), dtype=np.uint8),
            np.zeros(self.data_size, dtype=np.uint8),
            np.zeros((self.data_size, 1), dtype=np.int8),
            np.zeros((self.data_size, 4, 84, 84), dtype=np.uint8),
            np.zeros((self.data_size, 1), dtype=np.bool)
        ]
Example #24
0
    def __init__(self):
        super(VGG, self).__init__(
            conv1=F.Convolution2D(3, 96, 7, stride=2, pad=0),
            conv2=F.Convolution2D(96, 256, 5, stride=2, pad=1),
            conv3=F.Convolution2D(256, 512, 3, stride=1, pad=1),
            conv4=F.Convolution2D(512, 512, 3, stride=1, pad=1),
            conv5=F.Convolution2D(512, 512, 3, stride=1, pad=1),

            fc6=F.Linear(4608, 4096),
            fc7=F.Linear(4096, 1024),
            cls_score=F.Linear(4096, 21),
            bbox_pred=F.Linear(4096, 84)
        )
Example #25
0
 def __init__(self):
     super(AlexNet_flic_BN, self).__init__(
         conv1=F.Convolution2D(3, 96, 11, stride=4, pad=1),
         bn1=F.BatchNormalization(96),
         conv2=F.Convolution2D(96, 256, 5, stride=1, pad=2),
         bn2=F.BatchNormalization(256),
         conv3=F.Convolution2D(256, 384, 3, stride=1, pad=1),
         conv4=F.Convolution2D(384, 384, 3, stride=1, pad=1),
         conv5=F.Convolution2D(384, 256, 3, stride=1, pad=1),
         fc6=F.Linear(9216, 4096),
         fc7=F.Linear(4096, 4096),
         fc8=F.Linear(4096, 14)
     )
 def __init__(self):
     super(CaffeNet, self).__init__(
         conv1=F.Convolution2D(3,  96, 11, stride=4, pad=5),
         bn1=F.BatchNormalization(96),
         conv2=F.Convolution2D(96, 256,  5, stride=1, pad=2),
         bn2=F.BatchNormalization(256),
         conv3=F.Convolution2D(256, 384,  3, stride=1,  pad=1),
         conv4=F.Convolution2D(384, 384,  3, stride=1,  pad=1),
         conv5=F.Convolution2D(384, 256,  3, stride=1,  pad=1),
         fc6=F.Linear(9216, 4096),
         fc7=F.Linear(4096, 4096),
         cls_score=F.Linear(4096, 21),
         bbox_pred=F.Linear(4096, 84)
     )
Example #27
0
 def __init__(self, batchsize, use_cudnn):
     super(Overfeat, self).__init__(
         conv1=F.Convolution2D(3, 96, 11, stride=4, use_cudnn=use_cudnn),
         conv2=F.Convolution2D(96, 256, 5, use_cudnn=use_cudnn),
         conv3=F.Convolution2D(256, 512, 3, pad=1, use_cudnn=use_cudnn),
         conv4=F.Convolution2D(512, 1024, 3, pad=1, use_cudnn=use_cudnn),
         conv5=F.Convolution2D(1024, 1024, 3, pad=1, use_cudnn=use_cudnn),
         fc6=F.Linear(36864, 3072),
         fc7=F.Linear(3072, 4096),
         fc8=F.Linear(4096, 1000)
     )
     self.use_cudnn = use_cudnn
     if batchsize is not None:
         self.batchsize = batchsize
Example #28
0
def main():
    if P.use_mean_var:
        conv6_output = 126
    else:
        conv6_output = 128

    if P.model_name is None:
        model = FunctionSet(conv1=F.Convolution2D(1, 128, 3, stride=1),
                            conv2=F.Convolution2D(128, 128, 3, stride=1),
                            conv3=F.Convolution2D(128, 128, 3, stride=1),
                            conv4=F.Convolution2D(128, 128, 3, stride=1),
                            conv5=F.Convolution2D(128, 128, 3, stride=1),
                            conv6=F.Convolution2D(128,
                                                  conv6_output,
                                                  3,
                                                  stride=1),
                            conv7=F.Convolution2D(128, 128, 1, stride=1),
                            conv8=F.Convolution2D(128, 1, 1, stride=1))
        if P.gpu >= 0:
            cuda.init(P.gpu)
            model.to_gpu()
    else:
        if P.gpu >= 0:
            cuda.init(P.gpu)
        model = pickle.load(open(os.path.join(P.model_dir, P.model_name),
                                 'rb'))

    optimizer = optimizers.MomentumSGD(lr=P.lr, momentum=P.momentum)
    optimizer.setup(model.collect_parameters())

    train(model, optimizer)
    return
    def define_model(self):
        # Model1
        self.model = chainer.FunctionSet(conv1=F.Convolution2D(1, 20, 5),
                                         conv2=F.Convolution2D(20, 50, 5),
                                         l1=F.Linear(200, 1000),
                                         l2=F.Linear(1000, 1000))

        # Model2
        self.model2 = chainer.FunctionSet(l1=F.Linear(1000, 10000),
                                          l2=F.Linear(10000, 10))

        # Assign models to GPU
        self.model.to_gpu(GPU1)
        self.model2.to_gpu(GPU2)
Example #30
0
 def __init__(self):
     super(MLP, self).__init__(
         conv1=F.Convolution2D(1, 30, 5,
                               stride=1),  # 入力3 枚、出力30枚、フィルタサイズ5ピクセル
         conv2=F.Convolution2D(30, 30, 6,
                               stride=1),  # 入力30>枚、出力30枚、フィルタサイズ5ピクセル
         conv3=F.Convolution2D(30, 30, 5,
                               stride=1),  # 入力30>枚、出力30枚、フィルタサイズ6ピクセル
         conv4=F.Convolution2D(30, 30, 5,
                               stride=1),  # 入力30>枚、出力30枚、フィルタサイズ5ピクセル
         conv5=F.Convolution2D(30, 30, 6,
                               stride=1),  # 入力30>枚、出力30枚、フィルタサイズ6ピクセル
         l1=F.Linear(None, 500),  # 入力960ユニット、出力500ユニット
         l2=F.Linear(500, 20),  # 入力500ユニット、出力3ユニット
         l3=F.Linear(20, 3))