ResNet50 CNN Model Architecture | Transfer Learning
ResNet-50 is a Cnn That Is 50 layers deep. the network trained on more than a million images from the ImageNet database. The pretrained network can classify images into 1000 object categories, such as keyboard, computer, pen, and many hourse.

ResNet50 CNN Model
# ResNet50 from tensorflow.keras.applications.resnet50 import ResNet50 from tensorflow.keras.applications.resnet50 import decode_predictions from keras.applications.resnet50 import preprocess_input from keras.preprocessing import image import numpy as np import matplotlib.pyplot as plt import os from os import listdir from PIL import Image as PImage img_width, img_height = 224, 224 model_pretrained = ResNet50(weights='imagenet', include_top=True, input_shape=(img_height, img_width, 3)) # Insert correct path of your image below img_path = '/content/drive/My Drive/My ML Project /DL Project/Transfer Learning/images/lemon.png' img = image.load_img(img_path, target_size=(img_width, img_height)) img_data = image.img_to_array(img) img_data = np.expand_dims(img_data, axis=0) img_data = preprocess_input(img_data) #predict the result cnn_feature = model_pretrained.predict(img_data,verbose=0) # decode the results into a list of tuples (class, description, probability) label = decode_predictions(cnn_feature) label = label[0][0] plt.imshow(img) stringprint ="%.1f" % round(label[2]*100,1) plt.title(label[1] + " " + str(stringprint) + "%", fontsize=20) plt.axis('off') plt.show() # decode the results into a list of tuples (class, description, probability) # (one such list for each sample in the batch) print('Predicted:', decode_predictions(cnn_feature, top=3)[0]) label # Insert correct path of your image below img_path = '/content/drive/My Drive/My ML Project /DL Project/Transfer Learning/images/flowers-5463475_640.jpg' img = image.load_img(img_path, target_size=(img_width, img_height)) img_data = image.img_to_array(img) img_data = np.expand_dims(img_data, axis=0) img_data = preprocess_input(img_data) #predict the result cnn_feature = model_pretrained.predict(img_data,verbose=0) # decode the results into a list of tuples (class, description, probability) label = decode_predictions(cnn_feature) label = label[0][0] plt.imshow(img) stringprint ="%.1f" % round(label[2]*100,1) plt.title(label[1] + " " + str(stringprint) + "%", fontsize=20) plt.axis('off') plt.show() # decode the results into a list of tuples (class, description, probability) # (one such list for each sample in the batch) print('Predicted:', decode_predictions(cnn_feature, top=3)[0]) # Insert correct path of your image folder below folder_path = '/content/drive/My Drive/My ML Project /DL Project/Transfer Learning/images/' images = os.listdir(folder_path) fig = plt.figure(figsize=(16,20)) i=0 rows=4 columns=3 for image1 in images: i+=1 img = image.load_img(folder_path+image1, target_size=(img_width, img_height)) img_data = image.img_to_array(img) img_data = np.expand_dims(img_data, axis=0) img_data = preprocess_input(img_data) cnn_feature = model_pretrained.predict(img_data,verbose=0) label = decode_predictions(cnn_feature) label = label[0][0] fig.add_subplot(rows,columns,i) fig.subplots_adjust(hspace=.5) plt.imshow(img) stringprint ="%.1f" % round(label[2]*100,1) plt.title(label[1] + " " + str(stringprint) + "%", fontsize=20) plt.axis('off') plt.show()
Paper Link >> https://arxiv.org/pdf/1512.03385.pdf
Keras Applications >> https://keras.io/api/applications/