我之前向你解释过运行一个文件,但大多数时候我们不可能只运行一个文件。如果我们需要运行多个文件,我们应该怎么做?今天,针对这个问题,我就重点给大家讲一下。
~一起来看下哈~
Bash for Loop:使用不同的参数运行
多
个文件
如果我们想运行具有不同参数的文件怎么办?例如,我们可能希望使用相同的脚本来预测使用不同模型的数据。
import joblib
# df = ...
model_path = 'model/model1/XGBoost/version_1'
model = joblib.load(model_path)
model.predict(df)
如果一个脚本需要很长时间运行并且我们有多个模型要运行,那么等待脚本完成运行然后运行下一个将非常耗时。有没有办法告诉计算机使用命令行运行
1,2,3,10,然后去做其他的事情。
是的,我们可以用
for bash for loop。首先,我们使用系统argv使我们能够解析命令行参数。如果要覆盖命令行上的配置文件,也可以使用hydra等工具。
import sys
import joblib
# df = ...
model_type = sys.argv[1]
model_version = sys.argv[2]
model_path = f'''model/model1/{model_type}/version_{model_version}'''
print('Loading model from', model_path, 'for training')
model = joblib.load(model_path)
mode.predict(df)
>>> python train.py XGBoost 1
Loading model from model/model1/XGBoost/version_1 for training
太好了!我们刚刚告诉我们的脚本使用模型
XGBoost,version 1来预测命令行上的数据。现在我们可以使用bash循环遍历模型的不同版本。
如果你可以使用
Python执行for循环,那么也可以在下面这样的终端上执行
。
$ for version in 2 3 4
> do
> python train.py XGBoost $version
> done
键入
Enter分隔行
输出:
Loading model from model/model1/XGBoost/version_1 for training
Loading model from model/model1/XGBoost/version_2 for training
Loading model from model/model1/XGBoost/version_3 for training
Loading model from model/model1/XGBoost/version_4 for training
现在你可以在运行具有不同模型的脚本时做其他事情!
是不是非常方便呢
~
如果还想知道更多的
python知识,可以到
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何重新安装python09/28
- ♥ python 中的 Protobuf 创建服务器代码01/04
- ♥ python shutil模块如何操作文件11/30
- ♥ python线程阻塞解决方案10/17
- ♥ 常用python过滤器的排列11/10
- ♥ 如何在mac上卸载python309/19
内容反馈