Exemplo n.º 1
0
 def get_pytorch_train_loader(self):
     print("in get_pytorch_train_loader fucntion")
     pipe_train = trainPipeline(self.data_path, self.batch_size,
                                self.num_thread, self.crop, self.rali_cpu)
     pipe_train.build()
     train_loader = RALIClassificationIterator(pipe_train)
     return train_loader
Exemplo n.º 2
0
def main():
    if len(sys.argv) < 4:
        print('Please pass image_folder cpu/gpu batch_size ')
        exit(0)
    if (sys.argv[2] == "cpu"):
        _rali_cpu = True
    else:
        _rali_cpu = False
    bs = int(sys.argv[3])
    nt = 1
    di = 0
    crop_size = 224
    image_path = sys.argv[1]
    pipe = HybridTrainPipe(batch_size=bs,
                           num_threads=nt,
                           device_id=di,
                           data_dir=image_path,
                           crop=crop_size,
                           rali_cpu=_rali_cpu)
    pipe.build()
    imageIterator = RALIClassificationIterator(pipe)
    num_classes = len(next(os.walk(image_path))[1])
    print("num_classes:: ", num_classes)
    net = ToyNet(num_classes)

    criterion = nn.CrossEntropyLoss()
    optimizer = optim.SGD(net.parameters(), lr=0.0005, momentum=0.9)

    # Training loop
    for epoch in range(10):  # loop over the dataset multiple times
        print("epoch:: ", epoch)
        running_loss = 0.0

        for i, (image_batch, labels) in enumerate(imageIterator, 0):

            sys.stdout.write("\r Mini-batch " + str(i))
            # print("Images",image_batch)
            # print("Labels",labels)

            optimizer.zero_grad()

            outputs = net(image_batch)

            loss = criterion(outputs, labels)
            loss.backward()
            optimizer.step()

            # print statistics
            running_loss += loss.item()
            print_interval = 10
            if i % print_interval == (print_interval - 1):
                print('[%d, %5d] loss: %.3f' %
                      (epoch + 1, i + 1, running_loss / print_interval))
                running_loss = 0.0

    print('Finished Training')
Exemplo n.º 3
0
def main():
    if len(sys.argv) < 4:
        print(
            'Please pass image_folder cpu/gpu batch_size classification/detection'
        )
        exit(0)
    if (sys.argv[2] == "cpu"):
        _rali_cpu = True
    else:
        _rali_cpu = False
    bs = int(sys.argv[3])
    if (sys.argv[4] == "classification"):
        _rali_type = True
    else:
        _rali_type = False

    nt = 1
    di = 0
    crop_size = 224
    image_path = sys.argv[1]
    pipe = HybridTrainPipe(batch_size=bs,
                           num_threads=nt,
                           device_id=di,
                           data_dir=image_path,
                           crop=crop_size,
                           rali_cpu=_rali_cpu,
                           rali_type=_rali_type)
    pipe.build()
    imageIterator = RALIClassificationIterator(pipe)
    num_classes = len(next(os.walk(image_path))[1])
    print("num_classes:: ", num_classes)

    # Training loop
    for epoch in range(1):  # loop over the dataset multiple times
        print("epoch:: ", epoch)
        if _rali_type:
            for i, (image_batch, labels) in enumerate(imageIterator,
                                                      0):  # Classification
                sys.stdout.write("\r Mini-batch " + str(i))
                print("Images", image_batch)
                print("Labels", labels)
        else:
            for i, (image_batch, bboxes,
                    labels) in enumerate(imageIterator, 0):  # Detection
                sys.stdout.write("\r Mini-batch " + str(i))
                print("Images", image_batch)
                print("Bboxes", bboxes)
                print("Labels", labels)

    print('Finished Training')
Exemplo n.º 4
0
 def get_pytorch_val_loader(self):
     pipe_val = valPipeline(self.data_path, self.batch_size,
                            self.num_thread, self.crop, self.rali_cpu)
     pipe_val.build()
     val_loader = RALIClassificationIterator(pipe_val)
     return val_loader