Example #1
0
if args.cuda:
    print('Using CUDA with {0} GPUs'.format(torch.cuda.device_count()))
    speech_net = torch.nn.DataParallel(speech_net).cuda()
    # model = speech_net.cuda()

# define optimizer
if args.opt.lower() == 'adam':
    optimizer = optim.Adam(speech_net.parameters(), lr=args.lr)
elif args.opt.lower() == 'sgd':
    optimizer = optim.SGD(speech_net.parameters(), lr=args.lr, momentum=args.momentum)
else:
    optimizer = optim.SGD(speech_net.parameters(), lr=args.lr, momentum=args.momentum)

f_train = np.loadtxt(args.train_data, dtype='str', delimiter='\t')
f_train = f_train.tolist()
train_dataset = Datasets.PSCDataset(classes_file = args.classes_file, data_list = f_train, max_audio_len = args.audio_len,
                                    noise_type = args.noise_type, noise_amp = args.noise_amp)

f_val = np.loadtxt(args.val_data, dtype='str', delimiter='\t')
f_val = f_val.tolist()
val_dataset = Datasets.PSCDataset(classes_file = args.classes_file, data_list = f_val, max_audio_len = args.audio_len,
                                  noise_type = args.noise_type, noise_amp = args.noise_amp)

train_loader = torch.utils.data.DataLoader(
    train_dataset, batch_size=args.batch_size, shuffle=True, 
    num_workers=10, pin_memory=args.cuda, sampler = None)

val_loader = torch.utils.data.DataLoader(
    val_dataset, batch_size=args.batch_size, shuffle=True,
    num_workers=10, pin_memory=args.cuda, sampler=None)

best_valid_loss = np.inf
Example #2
0
args = parser.parse_args()

args.cuda = args.cuda and torch.cuda.is_available()
torch.manual_seed(args.seed)
if args.cuda:
    torch.cuda.manual_seed(args.seed)


model = psc_model.load_model(args.model)
if args.cuda:
    print('Using CUDA with {0} GPUs'.format(torch.cuda.device_count()))
    model = torch.nn.DataParallel(model).cuda()

f_test = np.loadtxt(args.test_data, dtype='str', delimiter='\t')
f_test = f_test.tolist()
test_dataset = Datasets.PSCDataset(classes_file=args.classes_file, data_list=f_test, max_audio_len = args.wav_len,
                                    noise_type = args.noise_type, noise_amp = args.noise_amp)

test_loader = torch.utils.data.DataLoader(
    test_dataset, batch_size=args.batch_size, shuffle=True, num_workers=20, pin_memory=args.cuda, sampler=None)

range_split = args.theta_range.split('_')
start_theta = float(range_split[0])
end_theta = float(range_split[1])
step_theta = float(range_split[2])

atwv_dict = {} #dict: theta: atwv val
for theta in np.arange(start_theta, end_theta, step_theta):
    acc = train_psc.test_acc(test_loader, model, args.wav_len, 1.0, theta, args.cuda)
    atwv = train_psc.keyword_spotting_test_mtwv(test_loader, model, args.wav_len, 1.0, theta, args.cuda)
    atwv_dict[theta] = atwv