开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情
最近在看神经网络模型的代码,用到了argparse库和virtualenvwrapper库,用这篇文章来做个记录
argparse库-命令行参数解析库
argparse模块使编写用户友好的命令行界面变得容易。该程序定义了它需要的参数,argparse 并将弄清楚如何解析来自sys.argv的参数。argparse 模块还会自动生成帮助和使用信息。当用户为程序提供无效参数时,该模块也会发出错误。
常见使用操作如下:
创建ArgumentParser对象ArgumentParser()
添加参数add_argument()
- 第一个参数:命令行参数名称
- 后面的参数:该命令行参数属性
参数属性
- nargs:参数可以使用的次数。int,?,*,+或
argparse.REMAINDER - type:自动将参数转换为给定类型。
int,float,argparse.FileType('w'), 或可调用函数 - default:未提供参数值时使用的默认值
- choices:将参数值限制在特定选择范围内。
['cpu', 'gpu'],range(1, 10)或Container实例 - dest:指定结果命名空间中的属性名称
- metavar:参数的备用显示名称
- const:存储一个常量值
- action:指定如何处理参数。
'store','store_const','store_true','append','append_const','count','help','version' - required:指示参数是必选还是可选。True或False
- help:参数的帮助信息
parser.add_argument("--weigths_my", nargs='+',type=str, default=True, help="direction information")
parser.add_argument("--do_train", action='store_true', default=True, help="do train")
parser.add_argument("--do_predict", action='store_true', default=False, help="do predict")
parser.add_argument("--model_name", default="Model", type=str, required=False, help="The name of model.")
parser.add_argument("--batch_size", default=24, type=int, help="Batch size per GPU/CPU for training.", )
parser.add_argument('--device', choices=['cpu', 'gpu'], default="gpu", help="Select which device to train model, defaults to gpu.")
- 添加位置参数和可选参数
- 位置参数:指定了位置参数,如果执行程序时没有携带参数,则会报错。
- 可选参数:在参数前加上前缀--,即意味着这个参数是可选参数。可选参数可以不指定,则参数值为None。使用可选参数是需要先声明该参数,再指定该参数的值
解析参数parse_args()
利用args变量获取参数值
virtualenvwrapper库-管理虚拟环境
- virtualenvwrapper库可以更加便利的管理虚拟环境
安装virtualenvwrapper
修改虚拟环境存放的默认路径
- 通过添加系统变量
WORKON_HOME对默认路径 - 设置路径为:我的电脑->右键->属性->高级系统设置->环境变量->系统变量
创建虚拟环境的时候指定Python版本
- 可以通过指定--python的参数来指定具体的python路径:
virtualenvwrapper基本使用
- 创建虚拟环境
mkvirtualenv my_env - 切换到某个虚拟环境
workon my_env - 退出当前虚拟环境
deactivate - 删除某个虚拟环境
rmvirtualenv my_env - 列出所有虚拟环境
lsvirtualenv - 创建虚拟环境
lsvirtualenv