如何正确启动FRT-PAD项目?Jupyter运行train_main.py遇SystemExit:2
解决Jupyter运行FRT-PAD项目报错SystemExit:2的方法
错误原因
SystemExit: 2 是Python的argparse模块解析命令行参数失败的典型报错,根源在于:
- 原文档中的
[om/ci]这类方括号是可选值提示,不是要输入的参数内容,必须替换为实际选项(比如om或ci) - Jupyter中直接运行脚本的方式和终端不同,若不正确传递参数,脚本会无法获取必填参数,或错误解析Jupyter自身的命令行参数
前置准备
- 确保已将项目克隆到本地,进入项目目录
- 安装项目依赖:
pip install -r requirements.txt - 在Jupyter中切换到项目所在工作目录:
%cd /path/to/your/FRT-PAD
正确运行方式
方式一:用Jupyter魔法命令传递参数
使用%run命令,将占位符替换为实际需要的参数值,示例:
%run train_main.py --train_data om --test_data ci --downstream FE --graph_type direct
参数说明:
--train_data:选om或ci--test_data:选ci或om--downstream:选FE/FR/FA--graph_type:选direct/dense
方式二:修改脚本直接指定参数
如果不想每次输入命令行参数,可以修改train_main.py中的参数解析部分,直接设置默认值并跳过命令行解析:
找到脚本中argparse相关代码段,修改为:
import argparse parser = argparse.ArgumentParser() parser.add_argument('--train_data', choices=['om', 'ci'], default='om') # 设置默认值 parser.add_argument('--test_data', choices=['ci', 'om'], default='ci') parser.add_argument('--downstream', choices=['FE', 'FR', 'FA'], default='FE') parser.add_argument('--graph_type', choices=['direct', 'dense'], default='direct') args = parser.parse_args(args=[]) # 避免解析Jupyter的命令行参数
修改后直接在Jupyter中运行train_main.py的代码即可。
内容的提问来源于stack exchange,提问作者programsprojects1
相关产品推荐
相关产品推荐

