print("\n SAVED THE WEIGHTS AND MODEL !!!!") def load_model_weights(name): from keras.models import model_from_json json_file = open(name + '.json', 'r') loaded_model_json = json_file.read() json_file.close() loaded_model = model_from_json(loaded_model_json) loaded_model.load_weights(name + ".h5") loaded_model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) return loaded_model if __name__ == '__main__': from datacollect import load_train_data, shape, margin X_train, Y_train = load_train_data() model = load_model_weights('v2_nfs_ai') for i in range(100): model.fit({ 'right_input': X_train[0], 'left_input': X_train[1] }, Y_train, batch_size=2000, nb_epoch=10, verbose=1) save_model(model, "v2_nfs_ai")
""" import numpy as np import cv2 from time import time from keras.models import Sequential, Model from keras.layers import * from keras.callbacks import TensorBoard from model import load_model_weights from datacollect import load_train_data, shape, margin import matplotlib.pyplot as plt import matplotlib.image as mpimg model = load_model_weights("v4_nfs_iteration2_ai") layer_dict = dict([(layer.name, layer) for layer in model.layers]) X_train, Y_train = load_train_data('third_batch') model.summary() test = Sequential() test.add(layer_dict['right_input']) test.add(layer_dict['conv2d_1']) test.add(layer_dict['conv2d_2']) #test.add(layer_dict['conv2d_3']) #test.add(layer_dict['conv2d_4']) #test.add(layer_dict['conv2d_5']) side = 1 res = test.predict(X_train[side, :, :, :, :]) for i in range(X_train.shape[1]):
beta_2=0.999, epsilon=1e-6, decay=1e-6, amsgrad=False) loaded_model.compile(loss='categorical_crossentropy', optimizer=adam, metrics=['accuracy']) return loaded_model if __name__ == '__main__': from datacollect import load_train_data, shape, margin batches = ['first_batch', 'second_batch'] X_train, Y_train = load_train_data(batches[0]) for i in range(1, len(batches)): x, y = load_train_data(batches[i]) print(x.shape, X_train.shape) X_train = np.concatenate((X_train, x), axis=1) Y_train = np.concatenate((Y_train, y), axis=0) print("log: loaded data") print("data size :", X_train.shape) learning_rate = 0.001 #model = bifocal_nvidia(shape , margin , learning_rate) #print("log: Model created") model = load_model_weights('v3_nfs_ai', learning_rate) X = X_train Y = Y_train
@author: RAJAT """ import numpy as np from time import time from keras.models import Sequential, Model from keras.layers import * from keras.callbacks import TensorBoard from model import load_model_weights from datacollect import load_train_data, shape, margin import matplotlib.pyplot as plt import matplotlib.image as mpimg model = load_model_weights("v3_nfs_ai") layer_dict = dict([(layer.name, layer) for layer in model.layers]) X_train, Y_train = load_train_data('second_batch') model.summary() test = Sequential() test.add(layer_dict['right_input']) test.add(layer_dict['conv2d_1']) test.add(layer_dict['conv2d_2']) #test.add(layer_dict['conv2d_3']) #test.add(layer_dict['conv2d_4']) #test.add(layer_dict['conv2d_5']) img_no = 8000 side = 0 plt.imshow(X_train[side, img_no, :, :, 0], cmap='gray') res = test.predict(X_train[side, :, :, :, :])