我想逐行讀取檔案,并使用該檔案中寫入的一些元素作為我的神經網路中的學習率、時期和批量大小來配置它。我的代碼是這樣的:
file_config = open("myfile", "r")
lines = myfile.readlines()
for line in lines:
print(line)
結果是這樣的:
--learning_rate 0.1 --epochs 300
--learning_rate 0.01 --epochs 300
--learning_rate 0.1 --epochs 500
--learning_rate 0.01 --epochs 500
您知道如何將每行中寫入的值分配給我的學習率和模型的時期嗎?實際上,如何從檔案的行中檢索值?
- 我試過 data = line.split('--') 但結果不是我想要的。
uj5u.com熱心網友回復:
也許你可以這樣使用:
import re
file_config = open("myfile", "r")
lines = myfile.readlines()
for line in lines:
nums = re.findall(r'\d \.\d |\d ', line)
print(f"learning_rate:{nums[0]} and epochs:{nums[1]}")
這是結果:
learning_rate:0.1 and epochs:300
learning_rate:0.01 and epochs:300
learning_rate:0.1 and epochs:500
learning_rate:0.01 and epochs:500
uj5u.com熱心網友回復:
如果檔案格式是固定的,您可以通過索引獲取學習率和時期的值。
data.txt:
--learning_rate 0.1 --epochs 300
--learning_rate 0.01 --epochs 300
--learning_rate 0.1 --epochs 500
--learning_rate 0.01 --epochs 500
代碼:
def read_lr_epochs(file_path):
data = []
with open(file_path) as data_file:
lines = data_file.readlines()
for line in lines:
line = line.strip()
if line:
line = line.split(" ")
data.append([float(line[1]), int(line[3])])
return data
if __name__ == "__main__":
print(read_lr_epochs("data.txt"))
輸出:
[[0.1, 300], [0.01, 300], [0.1, 500], [0.01, 500]]
然后您可以根據需要訪問串列的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/476879.html
