Windows+VS2013 caffe使用LeNet模型訓練過程
阿新 • • 發佈:2018-12-05
前提:caffe 的原始碼已在Windows上成功編譯通過
1、準備自己的資料集。如資料夾0和檔案1,其中0和1是影象的類別標籤,我這裡用的是0_S,1_I,並將影象儲存在F:\caffe-master\data\image中;
2、製作影象標籤檔案。利用Python或其他程式碼將影象和標籤,寫入相應的訓練標籤、驗證標籤檔案中;
# -*- coding: utf-8 -*- """ Created on Fri Apr 6 00:40:04 2018 @author: Administrator """ import os def dirlist(path, allfile): filelist = os.listdir(path) for filename in filelist: filepath = os.path.join(path, filename) if os.path.isdir(filepath): dirlist(filepath, allfile) else: allfile.append(filepath) return allfile imgnames = dirlist('F:\\caffe-master\\data\\image', []) #print(imgnames) num_all = [0, 0] dirs = ['0_S', '1_I'] for name in imgnames: if '.jpg' not in name: continue split_name = name.split('\\')#字串分割 #print(split_name[-2])#倒數第二個字串 if split_name[-2] in dirs: id = dirs.index(split_name[-2])#獲取類別資料夾號 #print(id) num_all[id] += 1#統計各資料夾張數 #print(num_all[id]) print(num_all[0]) print(num_all[1]) #隨機打亂函式 import random imgnames_s = imgnames random.shuffle(imgnames) dir = dirs # dir = os.listdir('D:\\stomach_raw_data\\data') # dir =['0','1','2','3','4'] f = open('F:\\caffe-master\\data\\image\\train_8.txt', 'w') f1 = open('F:\\caffe-master\\data\\image\\test_8.txt', 'w') fal = open('F:\\caffe-master\\data\\image\\train_all_8.txt', 'w') numframe = 0 numid6 = -1 for name in imgnames: if '.jpg' not in name: continue b = name.replace('\\', '/') print(b) c = b.replace('F:/caffe-master/data/image/', '') print(c) d = c.split("/")[1] print(d) #print(dir) if c.split('/')[0] in dir: id = str(dir.index(c.split('/')[0])) #id = str(id.split('/')) print(id) if id == '6': numid6 += 1 if numid6 % 10 != 0: continue #line = d + ' ' + id + '\n' line = c + ' ' + id + '\n' print(line) #line = 'D:/stomach_raw_data/data/' + c + ' ' + id + '\n' fal.writelines(line) if numframe % 10 < 2: f1.writelines(line) else: f.writelines(line) numframe += 1#統計圖片總數 print(numframe) f.close() f1.close() fal.close()
3、製作訓練LMDB和驗證LMDB。
//訓練LMDB指令碼,可儲存在create_train_lmdb.bat檔案中 E:/caffe-master/Build/x64/Debug convert_imageset.exe --shuffle --resize_heiht=128 --resize width =128 F:/caffe-master/data/image/ F:/caffe-master/data/image/train_8.txt F:/caffe-master/data/image/train_lmdb //製作測試LMDB同上 //綜述:convert_imageset.exe執行檔案 影象寬高 影象路徑 標籤檔案 LMBD生成路徑
4、配置超引數檔案 lenet_slover.prototxt,檔案在example下的minist檔案下。
1)、修改網路描述檔案的路徑
2)、修改CPU/GPU模式
5、修改網路描述檔案lenet_train.prototxt, 檔案在example下的minist檔案下。
1)、修改LMDB的訓練路徑和驗證路徑
2)、修改num_output為你自己想要的輸出標籤個數
注意:LMDB路徑千萬不能錯,仔細檢查
6、最後執行
E:/caffe-master/Build/x64/Debug caffe.exe --slove=F:/caffe-master/data/lenet_slover.prototxt(超引數配置檔案路徑)
7、OK,完成。