keras 入門整理 如何shuffle,如何使用fit_generator 整理合集


keras入門參考網址:

中文文檔教你快速建立model

keras不同的模塊-基本結構的簡介-類似xmind整理

Keras的基本使用(1)--創建,編譯,訓練模型

Keras學習筆記(完結)

keras分類應用里的人臉預測kaggle:

根據人臉預測年齡性別和情緒

人臉表情分類與識別:opencv人臉檢測+Keras情緒分類(四)

數據量大無法載入時,節約內存model.fit_generator:

keras 大數據的訓練,迭代載入內存

 1 def generate_arrays_from_file(path):  
 2     while 1:  
 3     f = open(path)  
 4     for line in f:  
 5         # create Numpy arrays of input data  
 6         # and labels, from each line in the file  
 7         x, y = process_line(line)  
 8         yield (x, y)  
 9     f.close()  
10   
11 model.fit_generator(generate_arrays_from_file('/my_file.txt'),  
12         samples_per_epoch=10000, nb_epoch=10)
13 --------------------- 
14 作者:ShellCollector 
15 來源:CSDN 
16 原文:https://blog.csdn.net/jacke121/article/details/78877352 

簡書的fit_generator

1 def generate_batch_data_random(x, y, batch_size):
2     """逐步提取batch數據到顯存,降低對顯存的占用"""
3     ylen = len(y)
4     loopcount = ylen // batch_size
5     while (True):
6         i = randint(0,loopcount)
7         yield x[i * batch_size:(i + 1) * batch_size], y[i * batch_size:(i + 1) * batch_size]

keras 兩種訓練模型方式fit和fit_generator(節省內存)   提供了對比,fit 和 fit_generator 兩種代碼

國外一個大佬Adrian Rosebrock寫的博客:實現自定義Keras fit_generator函數(中文) How to use Keras fit and fit_generator (a hands-on tutorial) (英文)

利用fit_generator最小化顯存占用比率/數據Batch化

 1 #從節省內存的角度,通過生成器的方式來訓練
 2 def data_generator(data, targets, batch_size): 
 3     idx = np.arange(len(data))
 4     np.random.shuffle(idx)
 5     batches = [idx[range(batch_size*i, min(len(data), batch_size*(i+1)))] for i in range(len(data)/batch_size+1)]
 6     while True:
 7         for i in batches:
 8             xx, yy = np.array(map(gen_matrix, data[i])), np.array(map(gen_target, targets[i]))
 9             yield (xx, yy)
10 
11 
12 batch_size = 1024
13 history = model.fit_generator(data_generator(d['words'], d['label'], batch_size), samples_per_epoch=len(d), nb_epoch=200)
14 model.save_weights('words_seq2seq_final_1.model')

keras數據自動生成器,繼承keras.utils.Sequence,結合fit_generator實現節約內存訓練

提前shuffle數據:

shuffle數據並且設置callback:存儲最佳weight

1 np.random.seed(1024)
2 random.shuffle(index)
3 data = data[index]
4 label = label[index]
5 splitpoint = int(round(num * 0.8))
6 (X_train, X_val) = (data[0:splitpoint], data[splitpoint:])
7 (Y_train, Y_val) = (label[0:splitpoint], label[splitpoint:])
8 X_train=X_train/255
9 X_val=X_val/255

基於sklearn和keras的數據切分與交叉驗證

提供了三種方法,非常詳細

keras model 里的參數batchsize, epoch, SGD優化 :

神經網絡中Epoch、Iteration、Batchsize相關理解和說明


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM