-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
Description
It looks like Weasel is reading commands
as a string rather than a list. This causes access to the name
field to raise the error TypeError: string indices must be integers
.
Environment
Name Version Build Channel
weasel 0.3.4 py39hca03da5_0
Error
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /opt/homebrew/Caskroom/miniconda/base/envs/spacy_dev_pt_core_chat_lg/lib/python3.9/site-packages │
│ /weasel/cli/run.py:42 in project_run_cli │
│ │
│ 39 │ │ print_run_help(project_dir, subcommand, parent_command) │
│ 40 │ else: │
│ 41 │ │ overrides = parse_config_overrides(ctx.args) │
│ ❱ 42 │ │ project_run( │
│ 43 │ │ │ project_dir, │
│ 44 │ │ │ subcommand, │
│ 45 │ │ │ overrides=overrides, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ ctx = <click.core.Context object at 0x11b83e9a0> │ │
│ │ dry = False │ │
│ │ force = False │ │
│ │ overrides = { │ │
│ │ │ 'vars.experiment': 29, │ │
│ │ │ 'vars.enabled_gazetteers': 'person,address', │ │
│ │ │ 'vars.input_data': │ │
│ │ 'experiments/028/data/oversampled_merged_dataset.json', │ │
│ │ │ 'vars.address_gazetteer': │ │
│ │ 'assets/datasets/addresses/pt_br_address-gazetter-2.jsonl' │ │
│ │ } │ │
│ │ parent_command = 'python -m weasel' │ │
│ │ project_dir = PosixPath('.') │ │
│ │ show_help = False │ │
│ │ subcommand = 'experiment' │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /opt/homebrew/Caskroom/miniconda/base/envs/spacy_dev_pt_core_chat_lg/lib/python3.9/site-packages │
│ /weasel/cli/run.py:81 in project_run │
│ │
│ 78 │ skip_requirements_check (bool): No longer used, deprecated. │
│ 79 │ """ │
│ 80 │ config = load_project_config(project_dir, overrides=overrides) │
│ ❱ 81 │ commands = {cmd["name"]: cmd for cmd in config.get("commands", [])} │
│ 82 │ workflows = config.get("workflows", {}) │
│ 83 │ validate_subcommand(list(commands.keys()), list(workflows.keys()), subcommand) │
│ 84 │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ capture = False │ │
│ │ config = { │ │
│ │ │ 'title': 'NER portuguese chat', │ │
│ │ │ 'description': 'Project tunning NER component in portuguese │ │
│ │ model using chat corpus', │ │
│ │ │ 'directories': [ │ │
│ │ │ │ 'assets', │ │
│ │ │ │ 'scripts', │ │
│ │ │ │ 'experiments', │ │
│ │ │ │ 'baseline', │ │
│ │ │ │ 'packages' │ │
│ │ │ ], │ │
│ │ │ 'assets': [ │ │
│ │ │ │ { │ │
│ │ │ │ │ 'dest': 'assets/train.json', │ │
│ │ │ │ │ 'description': 'Training data' │ │
│ │ │ │ }, │ │
│ │ │ │ { │ │
│ │ │ │ │ 'dest': 'assets/dev.json', │ │
│ │ │ │ │ 'description': 'Development data' │ │
│ │ │ │ } │ │
│ │ │ ], │ │
│ │ │ 'commands': '[{"name":"download","help":"Download the │ │
│ │ pretrained pipeline","script":["python '+5046, │ │
│ │ │ 'env': {}, │ │
│ │ │ 'vars': { │ │
│ │ │ │ 'name': 'core_chat_lg', │ │
│ │ │ │ 'lang': 'pt', │ │
│ │ │ │ 'pipeline': 'pt_core_news_lg', │ │
│ │ │ │ 'version': '0.0.0', │ │
│ │ │ │ 'dataset': 'raw.json', │ │
│ │ │ │ 'train': 'train.json', │ │
│ │ │ │ 'dev': 'dev.json', │ │
│ │ │ │ 'test': 'test.json', │ │
│ │ │ │ 'test_data': │ │
│ │ 'assets/datasets/chats/sample-chats-manual-labeled-test.json', │ │
│ │ │ │ 'input_data': │ │
│ │ 'assets/datasets/chats/sample-chats-manual-labeled-train.json', │ │
│ │ │ │ ... +9 │ │
│ │ │ }, │ │
│ │ │ 'workflows': { │ │
│ │ │ │ 'experiment': [ │ │
│ │ │ │ │ 'fetch-data', │ │
│ │ │ │ │ 'split-data', │ │
│ │ │ │ │ 'create-gazetteer', │ │
│ │ │ │ │ 'convert', │ │
│ │ │ │ │ 'train', │ │
│ │ │ │ │ 'evaluate' │ │
│ │ │ │ ], │ │
│ │ │ │ 'experiment_search': [ │ │
│ │ │ │ │ 'fetch-data', │ │
│ │ │ │ │ 'split-data', │ │
│ │ │ │ │ 'create-gazetteer', │ │
│ │ │ │ │ 'convert', │ │
│ │ │ │ │ 'train-search', │ │
│ │ │ │ │ 'evaluate' │ │
│ │ │ │ ], │ │
│ │ │ │ 'experiment_new': ['setup_experiment', 'create-config'] │ │
│ │ │ } │ │
│ │ } │ │
│ │ dry = False │ │
│ │ force = False │ │
│ │ overrides = { │ │
│ │ │ 'vars.experiment': 29, │ │
│ │ │ 'vars.enabled_gazetteers': 'person,address', │ │
│ │ │ 'vars.input_data': │ │
│ │ 'experiments/028/data/oversampled_merged_dataset.json', │ │
│ │ │ 'vars.address_gazetteer': │ │
│ │ 'assets/datasets/addresses/pt_br_address-gazetter-2.jsonl' │ │
│ │ } │ │
│ │ parent_command = 'python -m weasel' │ │
│ │ project_dir = PosixPath('.') │ │
│ │ skip_requirements_check = False │ │
│ │ subcommand = 'experiment' │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /opt/homebrew/Caskroom/miniconda/base/envs/spacy_dev_pt_core_chat_lg/lib/python3.9/site-packages │
│ /weasel/cli/run.py:81 in <dictcomp> │
│ │
│ 78 │ skip_requirements_check (bool): No longer used, deprecated. │
│ 79 │ """ │
│ 80 │ config = load_project_config(project_dir, overrides=overrides) │
│ ❱ 81 │ commands = {cmd["name"]: cmd for cmd in config.get("commands", [])} │
│ 82 │ workflows = config.get("workflows", {}) │
│ 83 │ validate_subcommand(list(commands.keys()), list(workflows.keys()), subcommand) │
│ 84 │
│ │
│ ╭────────────────── locals ──────────────────╮ │
│ │ .0 = <str_iterator object at 0x107dc13a0> │ │
│ │ cmd = '[' │ │
│ ╰────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
TypeError: string indices must be integers
Metadata
Metadata
Assignees
Labels
No labels