In [ ]:
%load_ext autoreload
%autoreload 2
import torch
from models.multimodal import load_data
import torch.utils.data as data
import torchvision.transforms as transforms
torch.multiprocessing.set_sharing_strategy('file_system')
import pickle

In [ ]:
reader_malo = load_data.MultimodalReader(
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/annotation_training.pkl', 
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/transcripts/ctms', 
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/audios/fbank', 
#     '/disks/sdb1-3T/exportNFS/csp/jobScreening_cvpr17/train/faces2/'
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/faces/vgg_features'
)

In [ ]:
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
reader = load_data.MultimodalReader(
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/annotation_training.pkl', 
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/transcripts/ctms', 
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/audios/fbank', 
#     '/disks/sdb1-3T/exportNFS/csp/jobScreening_cvpr17/train/faces2/',
    '/disks/sdb1-3T/exportNFS/Databases/jobScreening_cvpr17/train/faces/vgg_features',
    transform=transforms.Compose([
                             transforms.Scale(240),
                             transforms.RandomSizedCrop(224),
                             transforms.RandomHorizontalFlip(),
                             transforms.ToTensor(),
                             normalize,
                         ]))

In [ ]:
train_loader_bad = data.DataLoader(
        reader, 
        batch_size=1, shuffle=True, num_workers=1)

In [ ]:
def my_collate2(batch):
    return batch

In [ ]:
print("Loading serialized_reader")
with open('serialized_reader.pickle','rb') as stream:
    reader = pickle.load(stream)    
print("Loaded serialized_reader")

In [ ]:
%reset_selective train_loader
train_loader = data.DataLoader(
    reader,
    batch_size=4,
    shuffle=True,
    num_workers=1,
    pin_memory=False, collate_fn=my_collate2)

In [ ]:
for mydata in train_loader:
    break

In [ ]:
print(len(mydata))

# with open('serialized_loaded_data.pickle','wb') as stream:
#     pickle.dump(mydata,stream)

In [ ]:
video=mydata[0][0][2]
video[0][0].shape[0]

In [ ]:
my_collate = load_data.my_collate
what = my_collate(mydata)

In [ ]:
mydata[3][0].size()

In [ ]:
load_data.my_collate

In [ ]:
from models.multimodal import seq_model

In [ ]: