有時候需要對同一資料夾下的內容標記相同的 label 作為其類別。下面以人臉資料為例說明。不同資料夾包含著不同人的多張人臉影象,每個資料夾都是不同的類別。為了訓練模型做分類,需要為不同的人新增不同的 label (相當於分類問題中響應變數 y)。
olivetti research laboratory人臉資料庫,誕生於英國劍橋at&t實驗室。該人臉庫包含40個人,共400張面部影象。每個人包含10幅經過歸一化處理的灰度影象,影象尺寸均為92×112。
'f:\orl人臉資料庫'
f =open
('f:\orl人臉資料庫\label.txt'
,'w'
) root, dirs, files =
next
(os.
walk
(path)
)for i in
range
(len
(dirs)):
fs = os.
listdir
(path +
'/'+ dirs[i]
)for file in fs:
line = os.path.
join
(root,dirs[i]
,file)
+' '
+str
(i)+
'\n'
(line)
f.write
(line)
if __name__ ==
'__main__'
:main
()輸出的 txt 檔案截圖:
至此完成了新增 label 任務。
import os
def main()
: label_file =
'f:/orl人臉資料庫/label.txt'
f =open
(label_file,
'r')
lines = f.
readlines()
num =
int(
input
('請輸入起始數:'))
f =open
(label_file,
'w')
lines2 =
for i in
range
(len
(lines)):
line = lines[i]
.rstrip()
parts = line.
split()
label2 =
str(
int(parts[1]
)+ num)
line2 = parts[0]
+' '
+ label2 +
'\n'
lines2.
(line2)
f.writelines
(lines2)
if __name__ ==
'__main__'
:main
()
執行結果截圖:
python列表新增資料
迴圈 def aa arr for a in range 1000 print 列表追加 str timeit.timeit aa setup from main import aa number 10000 加法 def bb arr for a in range 1000 arr arr a p...
python 資料迭代新增小技巧
1 list中extend方法有趣現象 1.1 list str 與 list.extend str 1 list1 11,2,45 2 str1 michael 3 list1.extend str1 4 print list1 list結果是 11,2,45,m i c h a e l 5 6 ...
給函式新增元資料(python)
你寫好了乙個函式,然後想為這個函式的引數增加一些額外的資訊,這樣的話其他使用者就能清楚的知道這個函式應該怎麼使用。使用函式引數註解是乙個很好的辦法,它能提示程式設計師應該怎樣正確使用這個函式。例如,下面有乙個被註解了的函式 def add x int,y int int return x y pyt...