Update models
This commit is contained in:
@@ -107,22 +107,22 @@ def predict_resnet50_20241024_270():
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
# This version expects the image to be of the form (x,x,3).
|
# This version expects the image to be of the form (x,x,3).
|
||||||
@app.route('/predict_resnet50B', methods=['GET','POST'])
|
# @app.route('/predict_resnet50B', methods=['GET','POST'])
|
||||||
def predict_resnet50B():
|
# def predict_resnet50B():
|
||||||
print('/predict_resnet50B')
|
# print('/predict_resnet50B')
|
||||||
test_image=request.get_data()
|
# test_image=request.get_data()
|
||||||
save_image(test_image)
|
# save_image(test_image)
|
||||||
test_image = PIL.Image.open(io.BytesIO(test_image))
|
# test_image = PIL.Image.open(io.BytesIO(test_image))
|
||||||
test_array=keras.preprocessing.image.img_to_array(test_image)
|
# test_array=keras.preprocessing.image.img_to_array(test_image)
|
||||||
batch_test_array=np.array([test_array])
|
# batch_test_array=np.array([test_array])
|
||||||
predictions=resnet50b_model.predict(batch_test_array)
|
# predictions=resnet50b_model.predict(batch_test_array)
|
||||||
if type(predictions) == list:
|
# if type(predictions) == list:
|
||||||
average_prediction = sum(predictions)/len(predictions)
|
# average_prediction = sum(predictions)/len(predictions)
|
||||||
threshold_output = np.where(average_prediction > 0.5, 1, 0)
|
# threshold_output = np.where(average_prediction > 0.5, 1, 0)
|
||||||
else :
|
# else :
|
||||||
threshold_output = np.where(predictions > 0.5, 1, 0)
|
# threshold_output = np.where(predictions > 0.5, 1, 0)
|
||||||
response=str(predictions)+'-->'+str(threshold_output)
|
# response=str(predictions)+'-->'+str(threshold_output)
|
||||||
return response
|
# return response
|
||||||
|
|
||||||
@app.route('/predict_lenet5', methods=['GET','POST'])
|
@app.route('/predict_lenet5', methods=['GET','POST'])
|
||||||
def predict_lenet5():
|
def predict_lenet5():
|
||||||
@@ -156,23 +156,28 @@ def process_image():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
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))
|
print('Loading {model_name}'.format(model_name=resnet50_model_name))
|
||||||
resnet50_model = keras.models.load_model(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))
|
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)
|
resnet50_20241024_270_model = keras.models.load_model(resnet50_20241024_270_model_name)
|
||||||
|
|
||||||
resnet50b_model_name='../Weights/resnet50B.h5'
|
# resnet50b_model_name='../Weights/resnet50B.h5'
|
||||||
print('Loading {model_name}'.format(model_name=resnet50b_model_name))
|
# print('Loading {model_name}'.format(model_name=resnet50b_model_name))
|
||||||
resnet50b_model = keras.models.load_model(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))
|
print('Loading {model_name}'.format(model_name=vgg16_model_name))
|
||||||
vgg16_model=keras.models.load_model(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))
|
print('Loading {model_name}'.format(model_name=lenet_model_name))
|
||||||
lenet_model=keras.models.load_model(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)
|
image_size = (128, 128)
|
||||||
|
|
||||||
#model_weights_file='model_resnet50.hdf5'
|
#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(
|
train_ds = tensorflow.keras.preprocessing.image_dataset_from_directory(
|
||||||
'C:\\boneyard\\DeepLearning\\data',
|
'C:\\boneyard\\DeepLearning\\data',
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ from time import time
|
|||||||
|
|
||||||
image_size = (128, 128)
|
image_size = (128, 128)
|
||||||
|
|
||||||
#model_name='vgg16'
|
model_weights_file='vggnet16.h5.keras'
|
||||||
model_weights_file='model_vgg16.h5.keras'
|
|
||||||
|
|
||||||
train_ds = tensorflow.keras.preprocessing.image_dataset_from_directory(
|
train_ds = tensorflow.keras.preprocessing.image_dataset_from_directory(
|
||||||
'C:\\boneyard\\DeepLearning\\data',
|
'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
|
# 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] //
|
# 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))
|
# 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
|
# Here is the evaluation part
|
||||||
# score=model.evaluate(x=train_ds,verbose=1)
|
# score=model.evaluate(x=train_ds,verbose=1)
|
||||||
|
|||||||
Reference in New Issue
Block a user