att_filter_size=att_filter_size, att_filter_num=att_filter_num, sos_id=sos_id, att_temperature=att_temperature, enc_num_layers=enc_num_layers, dec_num_layers=dec_num_layers, enc_bidirectional=enc_bidirectional, enc_sub_sample=enc_sub_sample, enc_rnn_type=enc_rnn_type) # モデルのパラメータを読み込む model.load_state_dict(torch.load(model_file)) # 訓練/開発データのデータセットを作成する test_dataset = SequenceDataset(feat_scp_test, label_test, feat_mean, feat_std) # 評価データのDataLoaderを呼び出す test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=4) # CUDAが使える場合はモデルパラメータをGPUに, # そうでなければCPUに配置する if torch.cuda.is_available(): device = torch.device('cuda') else: device = torch.device('cpu') model = model.to(device)
enc_num_layers=enc_num_layers, dec_num_layers=dec_num_layers, enc_bidirectional=enc_bidirectional, enc_sub_sample=enc_sub_sample, enc_rnn_type=enc_rnn_type) print(model) # オプティマイザを定義 optimizer = optim.Adadelta(model.parameters(), lr=initial_learning_rate, rho=0.95, eps=1e-8, weight_decay=0.0) # 訓練/開発データのデータセットを作成する train_dataset = SequenceDataset(feat_scp_train, label_train, feat_mean, feat_std) # 開発データのデータセットを作成する dev_dataset = SequenceDataset(feat_scp_dev, label_dev, feat_mean, feat_std) # 訓練データのDataLoaderを呼び出す # 訓練データはシャッフルして用いる # (num_workerは大きい程処理が速くなりますが, # PCに負担が出ます.PCのスペックに応じて # 設定してください) train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=4) # 開発データのDataLoaderを呼び出す # 開発データはデータはシャッフルしない
dim_out=dim_out, num_layers=num_layers) print(model) # オプティマイザを定義 # ここでは momentum stochastic gradient descent # を使用 optimizer = optim.SGD(model.parameters(), lr=initial_learning_rate, momentum=0.99) # 訓練データのデータセットを作成する # padding_indexはdim_out以上の値に設定する train_dataset = SequenceDataset(train_feat_scp, train_label_file, feat_mean, feat_std, pad_index, splice) # 開発データのデータセットを作成する dev_dataset = SequenceDataset(dev_feat_scp, dev_label_file, feat_mean, feat_std, pad_index, splice) # 訓練データのDataLoaderを呼び出す # 訓練データはシャッフルして用いる # (num_workerは大きい程処理が速くなりますが, # PCに負担が出ます.PCのスペックに応じて # 設定してください)