1
我有一個65,000文檔及其內容的文件。我已將這個文件分成兩組作爲訓練和測試數據集的數據集。我想通過行數打破小文件中的訓練數據集並訓練我的模型,但代碼只生成第一個分解並繼續生成。最有可能的是,我每次都在使用發生器。我已經發布了以下代碼供參考。任何改進或邏輯錯誤查找將廣泛讚賞。謝謝。 代碼來創建訓練和測試數據集:Python生成器:無法生成多個文件
fo = open('desc_py_output.txt','rb')
def generate_train_test(doc_iter,size):
while True:
data = [line for line in itertools.islice(doc_iter, size)]
if not data:
break
yield data
for i,line in enumerate(generate_train_test(fo,50000)):
if(i==0):
training_data = line
else:
test_data = line
現在我試圖創建使用下面的代碼5000個文檔小檔案:
def generate_in_chunks(doc_iter,size):
while True:
data = [line for line in itertools.islice(doc_iter, size)]
if not data:
break
yield data
for i,line in enumerate(generate_in_chunks(training_data,5000)):
x = [member.split('^')[2] for member in line]
y = [member.split('^')[1] for member in line]
print x[0]
這是一次重新打印相同的文件。