Update models
This commit is contained in:
@@ -107,22 +107,22 @@ def predict_resnet50_20241024_270():
|
||||
return response
|
||||
|
||||
# This version expects the image to be of the form (x,x,3).
|
||||
@app.route('/predict_resnet50B', methods=['GET','POST'])
|
||||
def predict_resnet50B():
|
||||
print('/predict_resnet50B')
|
||||
test_image=request.get_data()
|
||||
save_image(test_image)
|
||||
test_image = PIL.Image.open(io.BytesIO(test_image))
|
||||
test_array=keras.preprocessing.image.img_to_array(test_image)
|
||||
batch_test_array=np.array([test_array])
|
||||
predictions=resnet50b_model.predict(batch_test_array)
|
||||
if type(predictions) == list:
|
||||
average_prediction = sum(predictions)/len(predictions)
|
||||
threshold_output = np.where(average_prediction > 0.5, 1, 0)
|
||||
else :
|
||||
threshold_output = np.where(predictions > 0.5, 1, 0)
|
||||
response=str(predictions)+'-->'+str(threshold_output)
|
||||
return response
|
||||
# @app.route('/predict_resnet50B', methods=['GET','POST'])
|
||||
# def predict_resnet50B():
|
||||
# print('/predict_resnet50B')
|
||||
# test_image=request.get_data()
|
||||
# save_image(test_image)
|
||||
# test_image = PIL.Image.open(io.BytesIO(test_image))
|
||||
# test_array=keras.preprocessing.image.img_to_array(test_image)
|
||||
# batch_test_array=np.array([test_array])
|
||||
# predictions=resnet50b_model.predict(batch_test_array)
|
||||
# if type(predictions) == list:
|
||||
# average_prediction = sum(predictions)/len(predictions)
|
||||
# threshold_output = np.where(average_prediction > 0.5, 1, 0)
|
||||
# else :
|
||||
# threshold_output = np.where(predictions > 0.5, 1, 0)
|
||||
# response=str(predictions)+'-->'+str(threshold_output)
|
||||
# return response
|
||||
|
||||
@app.route('/predict_lenet5', methods=['GET','POST'])
|
||||
def predict_lenet5():
|
||||
@@ -156,23 +156,28 @@ def process_image():
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
resnet50_model_name='../Weights/resnet50.h5'
|
||||
path = os.getcwd()
|
||||
resnet50_model_name='Weights/resnet50.h5.keras'
|
||||
resnet50_model_name = os.path.realpath(path + '/' +resnet50_model_name)
|
||||
print('Loading {model_name}'.format(model_name=resnet50_model_name))
|
||||
resnet50_model = keras.models.load_model(resnet50_model_name)
|
||||
|
||||
resnet50_20241024_270_model_name='../Weights/resnet50_20241024_270.h5.keras'
|
||||
resnet50_20241024_270_model_name='Weights/resnet50_20241024_270.h5.keras'
|
||||
resnet50_20241024_270_model_name = os.path.realpath(path + '/' + resnet50_20241024_270_model_name)
|
||||
print('Loading {model_name}'.format(model_name=resnet50_20241024_270_model_name))
|
||||
resnet50_20241024_270_model = keras.models.load_model(resnet50_20241024_270_model_name)
|
||||
|
||||
resnet50b_model_name='../Weights/resnet50B.h5'
|
||||
print('Loading {model_name}'.format(model_name=resnet50b_model_name))
|
||||
resnet50b_model = keras.models.load_model(resnet50b_model_name)
|
||||
# resnet50b_model_name='../Weights/resnet50B.h5'
|
||||
# print('Loading {model_name}'.format(model_name=resnet50b_model_name))
|
||||
# resnet50b_model = keras.models.load_model(resnet50b_model_name)
|
||||
|
||||
vgg16_model_name='../Weights/vggnet16.h5'
|
||||
vgg16_model_name='Weights/vggnet16.h5.keras'
|
||||
vgg16_model_name = os.path.realpath(path + '/' + vgg16_model_name)
|
||||
print('Loading {model_name}'.format(model_name=vgg16_model_name))
|
||||
vgg16_model=keras.models.load_model(vgg16_model_name)
|
||||
|
||||
lenet_model_name='../Weights/lenet5.h5'
|
||||
lenet_model_name='Weights/lenet5.h5.keras'
|
||||
lenet_model_name = os.path.realpath(path + '/' +lenet_model_name)
|
||||
print('Loading {model_name}'.format(model_name=lenet_model_name))
|
||||
lenet_model=keras.models.load_model(lenet_model_name)
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ tensorboard = TensorBoard(log_dir='logs/{}'.format(time()))
|
||||
image_size = (128, 128)
|
||||
|
||||
#model_weights_file='model_resnet50.hdf5'
|
||||
model_name='resnet50_20241022.h5.keras'
|
||||
model_name='resnet50.h5.keras'
|
||||
|
||||
train_ds = tensorflow.keras.preprocessing.image_dataset_from_directory(
|
||||
'C:\\boneyard\\DeepLearning\\data',
|
||||
|
||||
@@ -25,8 +25,7 @@ from time import time
|
||||
|
||||
image_size = (128, 128)
|
||||
|
||||
#model_name='vgg16'
|
||||
model_weights_file='model_vgg16.h5.keras'
|
||||
model_weights_file='vggnet16.h5.keras'
|
||||
|
||||
train_ds = tensorflow.keras.preprocessing.image_dataset_from_directory(
|
||||
'C:\\boneyard\\DeepLearning\\data',
|
||||
@@ -171,7 +170,7 @@ model.compile(loss='binary_crossentropy', optimizer=optimizer,metrics=['accuracy
|
||||
# The callback to checkpointer saves the model wights. Other callback can be added...like a stopping function
|
||||
# history=model.fit_generator(dataGen.flow(x_train,y_train,batch_size=batch_size),callbacks=[checkpointer],steps_per_epoch=x_train.shape[0] //
|
||||
# batch_size,epochs=epochs,verbose=2,validation_data=(x_valid,y_valid))
|
||||
history=model.fit(train_ds, epochs=epochs, validation_data=val_ds,batch_size=batch_size,verbose=2,callbacks=[earlystopping,tensorboard,checkpointer])
|
||||
history=model.fit(train_ds, epochs=epochs, validation_data=val_ds,batch_size=batch_size,verbose=2,callbacks=[early_stopping,tensorboard,checkpointer])
|
||||
|
||||
# Here is the evaluation part
|
||||
# score=model.evaluate(x=train_ds,verbose=1)
|
||||
|
||||
Reference in New Issue
Block a user