train: add dry_run option