微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“语法错误:无法分配给运算符”; “ipykernel_launcher.py:错误:无法识别的参数”

如何解决“语法错误:无法分配给运算符”; “ipykernel_launcher.py:错误:无法识别的参数”

我想在 colab 或 jupyter notebook 中执行 train.py 脚本。

在运行之前我必须设置一些变量,例如数据集类型

我按照输入终端命令的方式进行了操作,但出现语法错误

--dataset-type=voc

        --dataset-type='voc'
                            ^
    SyntaxError: can't assign to operator

从终端执行工作正常,但如何正确声明变量?

这是train.py的一些代码

parser = argparse.ArgumentParser(description='Single Shot MultiBox Detector Training With PyTorch')

# Params for datasets
parser.add_argument('--dataset-type',default="voc",type=str,help='Specify dataset type. Currently supports voc and open_images.')
parser.add_argument('--datasets','--data',nargs='+',default=["data"],help='Dataset directory path')
parser.add_argument('--balance-data',action='store_true',help="Balance training data by down-sampling more frequent labels.")

我试过了:

from sys import argv
argv.append('--dataset-type=voc')

解决SyntaxError。

但我最终得到以下错误。要设置的变量更多,但仍列出 --dataset-type。

usage: ipykernel_launcher.py [-h] [--dataset-type DATASET_TYPE]
                             [--datasets DATASETS [DATASETS ...]]
                             [--balance-data] [--net NET] [--freeze-base-net]
                             [--freeze-net] [--mb2-width-mult MB2_WIDTH_MULT]
                             [--base-net BASE_NET]
                             [--pretrained-ssd PRETRAINED_SSD]
                             [--resume RESUME] [--lr LR] [--momentum MOMENTUM]
                             [--weight-decay WEIGHT_DECAY] [--gamma GAMMA]
                             [--base-net-lr BASE_NET_LR]
                             [--extra-layers-lr EXTRA_LAYERS_LR]
                             [--scheduler SCHEDULER] [--milestones MILESTOnes]
                             [--t-max T_MAX] [--batch-size BATCH_SIZE]
                             [--num-epochs NUM_EPOCHS]
                             [--num-workers NUM_WORKERS]
                             [--validation-epochs VALIDATION_EPOCHS]
                             [--debug-steps DEBUG_STEPS] [--use-cuda USE_CUDA]
                             [--checkpoint-folder CHECKPOINT_FOLDER]
ipykernel_launcher.py: error: unrecognized arguments: -f /root/.local/share/jupyter/runtime/kernel-f89b4ea1-0c84-4617-af88-0191a91639c0.json
An exception has occurred,use %tb to see the full traceback.

SystemExit: 2
/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py:2890: UserWarning: To exit: use 'exit','quit',or Ctrl-D.
  warn("To exit: use 'exit',or Ctrl-D.",stacklevel=1)

解决方法

该模型似乎使用 sys.argv 将它们分配到笔记本中:

from sys import argv
argv.append('--dataset-type=voc')

这应该与在终端中添加 --dataset-type=voc 相同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。