diff --git a/Models/model_host.py b/Models/model_host.py index 6700045..9febfec 100644 --- a/Models/model_host.py +++ b/Models/model_host.py @@ -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) diff --git a/Models/model_sk_resnet.py b/Models/model_sk_resnet.py index 8100242..27bde81 100644 --- a/Models/model_sk_resnet.py +++ b/Models/model_sk_resnet.py @@ -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', diff --git a/Models/model_sk_vgg16.py b/Models/model_sk_vgg16.py index cdec16e..d03efab 100644 --- a/Models/model_sk_vgg16.py +++ b/Models/model_sk_vgg16.py @@ -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)