parser.add_argument('-t',
                    '--test_acc',
                    type=bool,
                    help='Only show test accuarcy')
parser.add_argument(
    '-c',
    '--cam',
    type=bool,
    help='Test the model in real time with webcam connect via usb')
args = parser.parse_args()

transformation = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize((0.5, ), (0.5, ))])
dataset = Plain_Dataset(csv_file=args.data + '/finaltest.csv',
                        img_dir=args.data + '/' + 'finaltest/',
                        datatype='finaltest',
                        transform=transformation)
test_loader = DataLoader(dataset, batch_size=64, num_workers=0)

net = Deep_Emotion()
print("Deep Emotion:-", net)
net.load_state_dict(torch.load(args.model))
net.to(device)
net.eval()
#Model Evaluation on test data
classes = ('Angry', 'Disgust', 'Fear', 'Happy', 'Sad', 'Surprise', 'Neutral')
total = []
if args.test_acc:
    with torch.no_grad():
        for data, labels in test_loader:
            data, labels = data.to(device), labels.to(device)
Example #2
0
        batchsize = 128

    if args.train:
        net = Deep_Emotion()
        net.to(device)
        print("Model archticture: ", net)
        traincsv_file = args.data + '/' + 'train.csv'
        validationcsv_file = args.data + '/' + 'val.csv'
        train_img_dir = args.data + '/' + 'train/'
        validation_img_dir = args.data + '/' + 'val/'

        transformation = transforms.Compose(
            [transforms.ToTensor(),
             transforms.Normalize((0.5, ), (0.5, ))])
        train_dataset = Plain_Dataset(csv_file=traincsv_file,
                                      img_dir=train_img_dir,
                                      datatype='train',
                                      transform=transformation)
        validation_dataset = Plain_Dataset(csv_file=validationcsv_file,
                                           img_dir=validation_img_dir,
                                           datatype='val',
                                           transform=transformation)
        train_loader = DataLoader(train_dataset,
                                  batch_size=batchsize,
                                  shuffle=True,
                                  num_workers=0)
        val_loader = DataLoader(validation_dataset,
                                batch_size=batchsize,
                                shuffle=True,
                                num_workers=0)

        criterion = nn.CrossEntropyLoss()
Example #3
0
                    type=bool,
                    help='if you do not want to use stn, type False')
parser.add_argument('--jaffe',
                    action='store_true',
                    help='set if you are using the jaffe dataset')

args = parser.parse_args()

device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')

transformation = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize((0.5), (0.5))])

dataset = Plain_Dataset(csv_file=args.file,
                        img_dir=args.data,
                        datatype='finaltest',
                        transform=transformation)

if args.channel50:
    num_channel = 50
else:
    num_channel = 10

if args.stn:
    stn = args.stn
else:
    stn = True

net = Deep_Emotion(num_channel, stn)
net.load_state_dict(torch.load(args.model))
net.to(device)