in pytorch_translate/options.py [0:0]
def validate_preprocessing_args(args):
if (
not (
(
getattr(args, "train_source_text_file", None)
or getattr(args, "train_source_binary_path", None)
or getattr(args, "multiling_train_source_text_file", None)
or getattr(args, "multilingual_train_text_file", None)
or getattr(args, "multilingual_train_binary_path", None)
)
and (
getattr(args, "train_target_text_file", None)
or getattr(args, "train_target_binary_path", None)
or getattr(args, "multiling_train_target_text_file", None)
or getattr(args, "multilingual_train_text_file", None)
or getattr(args, "multilingual_train_binary_path", None)
)
and (
getattr(args, "eval_source_text_file", None)
or getattr(args, "eval_source_binary_path", None)
or getattr(args, "multiling_eval_source_text_file", None)
or getattr(args, "multilingual_eval_text_file", None)
or getattr(args, "multilingual_eval_binary_path", None)
)
and (
getattr(args, "eval_target_text_file", None)
or getattr(args, "eval_target_binary_path", None)
or getattr(args, "multiling_eval_target_text_file", None)
or getattr(args, "multilingual_eval_text_file", None)
or getattr(args, "multilingual_eval_binary_path", None)
)
)
and args.task != "dual_learning_task"
):
raise ValueError(
"At least one of --*_text_file or --*_binary_path flags must be "
"specified for each of --{train, eval}_{source, target}_*"
)
for file_type in (
"train_source_text_file",
"train_target_text_file",
"eval_source_text_file",
"eval_target_text_file",
):
text_file = getattr(args, file_type)
if text_file and not os.path.isfile(text_file):
raise ValueError(
f"Please specify an existing text file for "
f"--{file_type}={text_file}"
)
for file_type in ("source_vocab_file", "target_vocab_file"):
vocab_file = getattr(args, file_type)
if not vocab_file:
raise ValueError(
f"--{file_type} must be specified - even if you don't have "
f"a vocab file, you must still specify a location "
f"for it to be written to."
)
if args.task == constants.SEMI_SUPERVISED_TASK and not (
getattr(args, "train_mono_source_binary_path", None)
or getattr(args, "train_mono_target_binary_path", None)
or getattr(args, "train_mono_source_text_file", None)
):
raise ValueError(
"For semisupervised training, at least one of --*_text_file or "
"--*_binary_path flags must be specified for at least one of "
"--train_mono_{source, target}_*"
)
for file_type in ("train_mono_source_text_file", "train_mono_target_text_file"):
file_path = getattr(args, file_type)
if file_path and not os.path.isfile(file_path):
raise ValueError(
f"Please specify an existing text file for --{file_type}="
f"{file_path}"
)