Python 給人臉資料新增label分類

2021-09-24 05:43:27 字數 1913 閱讀 8163

有時候需要對同一資料夾下的內容標記相同的 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'

#print

(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...