目錄
一、根據資料夾自動生成帶label的txt檔案:
二、根據txt檔案自動生生成filename,label列表資料:
這是用於給打標籤並生成txt檔案的程式;
creat_labeled_txt 給**目錄裡的檔案打標籤,並且標籤根據第二級級目錄自動生成,如shan:/right(wrong):/a.jpg
在下面程式裡主要用了這幾個功能:
1、os.listdir('dir'):用於看某一目錄下的檔名,返回list
2、txt檔案寫入:
f = open('dir', mode)
mode = 'w' 時,是檔案覆蓋寫入;
mode = 'a'時,檔案是在最後新增寫入;
f.write(str + '\n')
程式:
import os
#分**目錄,如a/b/a.jpg
#input_path為一級目錄;
#def creat_filelist(input_path, classes):
#建立**目錄
#index 一定是str型別,不可以為int
dir_image1 = #二級目錄
file_list = #**目錄
for index, name in enumerate(classes):
print('index', index)
index_str = str(index)
dir_image1_temp = input_path + '/' + name + '/'
for dir2 in os.listdir(dir_image1_temp):
dir_image2_temp = dir_image1_temp + '/' + dir2 + ' ' + index_str
# dir_image2_temp1 = dir_image2_temp.join(' ')
# dir_image2_temp2 = dir_image2_temp.join(index)
return dir_image1, file_list
def creat_txtfile(output_path, file_list):
with open(output_path, 'w') as f:
for list in file_list:
print(list)
f.write(str(list) + '\n')
def main():
dir_image0 = 'e:/shan'
dir_image1 = os.listdir(dir_image0)
classes = dir_image1
print(classes)
dir_list, file_list = creat_filelist(dir_image0, classes)
#print(file_list[0:3])
output_path = './creat_txt1.txt'
creat_txtfile(output_path, file_list)
if __name__ == '__main__':
main()
最後生成的creat_txt1.txt檔案內容為:
具體**:
知識點:
1、strip函式:
宣告:s為字串,rm為要刪除的字串行
s.strip(rm) 刪除s字串中開頭、結尾處,位於 rm刪除序列的字元
s.lstrip(rm) 刪除s字串中開頭處,位於 rm刪除序列的字元
s.rstrip(rm) 刪除s字串中結尾處,位於 rm刪除序列的字元
當rm為空時,預設刪除空白符(包括'\n', '\r', '\t', ' ')
2、txt檔案讀取:
python的文字檔案的內容讀取中,有三類方法:read()、readline()、readlines(),這三種方法各有利弊。 優點
q缺點f.read()
方便、簡單;
一次性讀取出檔案放在乙個大字串中;
檔案過大的時候,占用記憶體會很大
f.readline()
占用記憶體小;
逐行讀取;
由於是逐行讀取的,速度慢
f.readlines()
一次性讀取文字內容;
速度比較快;
用for 迴圈控制
隨著文字的增大,占用記憶體會越來越多;
也可用tensorflow裡的這句:
files_labels = [l.strip().split(' ') for l in tf.gfile.fastgfile(程式:list_file, 'r').readlines()]
import os
def read_label_txt(data_dir):
filenames =
labels =
with open(data_dir) as f:
dir_labels = [line.strip().split(' ') for line in f.readlines()]
#一定要用strip,因為原txt檔案每行後面會帶『\n『字元;
for filename, label in dir_labels:
return filenames, labels
def main():
data_dir = './creat_txt1.txt'
image_dir, labels = read_label_txt(data_dir)
#print('image_dir: ', image_dir[0:5])
print('labels: ', labels[0:5])
if __name__ == '__main__':
main()
sklearn 自帶資料集以及生成資料集
from sklearn import datasets toy datasets boston for regression x,y datasets.load boston return x y true print boston x.shape,y.shape iris for classif...
Python生成資料列表
跟我這樣做 定義訓練引數 定義需要用到的變數 列表等 遍歷每一類別的,並記錄每一類別的數量和總數量 將遍歷的路徑 對應的類別儲存到第二步定義的列表中 亂序後將相關資訊儲存到json檔案 let s do it import os import random train parameters 標籤資訊...
TPC DS 生成資料
其實,使用 tpc ds 生成系統效能測試的資料,說簡單也簡單,說難,確實也不好做!關鍵是在每一步的操作中,如果遇到了問題,該怎麼樣處理,這個是個問題的關鍵。下面就將生成的步驟簡單描述一下,好記性不如爛筆頭呀!通過以上六步驟,就可以將 tpc ds 資料全部 load 到對應的表中去,也就生成了相應...