DCWIR-Demo / textattack /commands /textattack_cli.py
PFEemp2024's picture
add necessary file
63775f2
raw
history blame contribute delete
No virus
1.64 kB
"""
TextAttack CLI main class
==============================
"""
# !/usr/bin/env python
import argparse
from textattack.commands.attack_command import AttackCommand
from textattack.commands.attack_resume_command import AttackResumeCommand
from textattack.commands.augment_command import AugmentCommand
from textattack.commands.benchmark_recipe_command import BenchmarkRecipeCommand
from textattack.commands.eval_model_command import EvalModelCommand
from textattack.commands.list_things_command import ListThingsCommand
from textattack.commands.peek_dataset_command import PeekDatasetCommand
from textattack.commands.train_model_command import TrainModelCommand
def main():
parser = argparse.ArgumentParser(
"TextAttack CLI",
usage="[python -m] texattack <command> [<args>]",
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
subparsers = parser.add_subparsers(help="textattack command helpers")
# Register commands
AttackCommand.register_subcommand(subparsers)
AttackResumeCommand.register_subcommand(subparsers)
AugmentCommand.register_subcommand(subparsers)
BenchmarkRecipeCommand.register_subcommand(subparsers)
EvalModelCommand.register_subcommand(subparsers)
ListThingsCommand.register_subcommand(subparsers)
TrainModelCommand.register_subcommand(subparsers)
PeekDatasetCommand.register_subcommand(subparsers)
# Let's go
args = parser.parse_args()
if not hasattr(args, "func"):
parser.print_help()
exit(1)
# Run
func = args.func
del args.func
func.run(args)
if __name__ == "__main__":
main()