新聞中心
之前跟大家講解過運(yùn)行一個(gè)文件,但是大部分時(shí)候我們是不可能只運(yùn)行一個(gè)文件的,那如果遇到需要運(yùn)行多個(gè)文件的時(shí)候,我們需要怎么處理呢?今天,針對這個(gè)問題,著重給大家說下哦~一起來看下哈~

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、丁青網(wǎng)站維護(hù)、網(wǎng)站推廣。
Bash for Loop:使用不同的參數(shù)運(yùn)行多個(gè)文件
如果我們想用不同的參數(shù)運(yùn)行一個(gè)文件呢?例如,我們可能希望使用相同的腳本來使用不同的模型來預(yù)測數(shù)據(jù)。
import joblib # df = ... model_path = 'model/model1/XGBoost/version_1' model = joblib.load(model_path) model.predict(df)
如果一個(gè)腳本需要很長時(shí)間才能運(yùn)行,而我們有多個(gè)模型要運(yùn)行,那么等待腳本運(yùn)行完畢然后運(yùn)行下一個(gè)腳本將非常耗時(shí)。有沒有一種方法可以告訴計(jì)算機(jī)用一個(gè)命令行運(yùn)行1,2,3,10,然后去做其他的事情。
是的,我們可以用for bash for loop。首先,我們使用系統(tǒng)argv使我們能夠解析命令行參數(shù)。如果要覆蓋命令行上的配置文件,也可以使用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來預(yù)測命令行上的數(shù)據(jù)?,F(xiàn)在我們可以使用bash循環(huán)遍歷模型的不同版本。
如果你可以使用Python執(zhí)行for循環(huán),那么也可以在下面這樣的終端上執(zhí)行。
$ 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
現(xiàn)在,你可以在使用不同模型運(yùn)行腳本的同時(shí)執(zhí)行其他操作!是不是非常方便呢~如果還想知道更多的python知識(shí),可以到python學(xué)習(xí)網(wǎng)。
新聞名稱:創(chuàng)新互聯(lián)Python教程:怎么用python3順序執(zhí)行多個(gè)py文件?
網(wǎng)站鏈接:http://www.5511xx.com/article/cdhgpsc.html


咨詢
建站咨詢
