深度學習實驗 伺服器上批量nohup執行程式

2021-10-10 05:21:41 字數 2576 閱讀 3222

在執行python程式時,需要對多個版本或者多個方法的**進行執行,它們往往需要設定乙個系列的引數,然後使用python ***.py執行該py檔案。這種情況往往要做大量重複的沒有意義的工作,所以我想通過批量生成執行命令,然後批量跑實驗。

首先我們需要乙個批量生成命令的指令碼,如下:

from copy import deepcopy

defgenerate

(param_dict)

: count=

0 final=

1for k,v in param_dict.items():

count=count+

1 final=final*

len(v)

res=

[none

]*count

for i in

range

(count)

: res[i]

=final*

[none

] res_count=

0 res_final=

1for k,v in param_dict.items():

command_num=

0for i in

range

(res_final)

:for j in

range

(len

(v))

:if res_count==0:

res[0]

[j]=

else

: tmp=deepcopy(res[res_count-1]

[i])

tmp[

str(k)]=

str(v[j]

) res[res_count]

[command_num]

=tmp

command_num+=

1 res_count=res_count+

1 res_final=res_final*

len(v)

return res[-1

]def

command

(resdict,num=

1,path=

" ../../output/"):

run_sh=

open

('./run.sh'

,'w'

)for i in

range

(len

(resdict)):

filename=

'' command=

''for k,v in resdict[i]

.items():

ifnot k.startswith(

"python"):

filename+=

"_"+k.split(

"-")[-

1]+v else

: filename+=v.split(

'.')[0

].split(

' ')[1

] command+=

(str

(k)+

' '+

str(v)

+' '

) command+=

' >'

+path+filename

for i in

range

(num)

: run_sh.write(command+

"_"+

str(i)

+" 2>&1 &\n"

)if __name__ ==

'__main__'

: param=

res=generate(param)

command(res,num=

5,path=

" ../../output/20201103/equal/"

)

生成的命令樣式見下圖:

這個**的使用方式很簡單,在紅框傳入你需要的預先設定的引數,生成的命令會是這些引數的全組合。需要注意的是,第一對鍵值對必須是"python"="-u ***.py",這是執行python檔案必須的命令。在黃框設定輸出日誌檔案要儲存的位置,最前面的空格不可少

然後將s**件傳入到伺服器,注意相對路徑

然後執行該s**件,即可nohup批量執行程式:

Linux同時在多個伺服器上批量建立多個使用者

需求 批量建立5個使用者,設定密碼123456,同時在多個伺服器上執行該操作。思路 在管理伺服器m01上操作,在m01寫好建立5個使用者並設定密碼的指令碼,使用ansible的script模組或者先用copy拷貝到目的主機上再使用shell模組執行,注意先用ssh keygen生成秘鑰對並用ssh ...

LVS伺服器實驗

一 lvs簡介 lvs linux virtual server 是乙個伺服器集群系統專案。隨著網際網路的飛速發展,人們對於伺服器的要求越來越高。很多網路服務因為訪問次數 式地增 長而不堪重負,不能及時處理使用者的請求,導致使用者進行長時間的等待,大大降低了服務質量。如何建立可伸縮的網路服務來滿足不...

實驗 NFS伺服器

nfs作業 架設一台nfs伺服器,並按照以下要求配置 1 開放 nfs shared目錄,供所有使用者查詢資料 2 開放 nfs upload目錄,該目錄為172.24.8.0 24網段的主機的資料上傳目錄,並將所有該網段主機上傳檔案的所屬者和所屬組對映為nfs upload,其uid和gid為20...