#Load the model model = VGG16() # Summary of the model model.summary() -- for layer in model.layers: if 'conv' not in layer.name: continue filters , bias = layer.get_weights() print(layer.name , filters.shape) -- # retrieve weights from the second hidden layer filters , bias = model.layers[1].get_weights() -- # normalize filter values to 0-1 so we can visualize them f_min, f_max = filters.min(), filters.max() filters = (filters - f_min) / (f_max - f_min) -- from matplotlib import pyplot n_filters =6 ix=1 fig = pyplot.figure(figsize=(20,15)) for i in range(n_filters): # get the filters f = filters[:,:,:,i] for j in range(3): # subplot for 6 filters and 3 channels pyplot.subplot(n_filters,3,ix) pyplot.imshow(f[:,:,j] ,cmap='gray') ix+=1 #plot the filters pyplot.show() -- for i in range(len(model.layers)): layer = model.layers[i] if 'conv' not in layer.name: continue print(i , layer.name , layer.output.shape) -- model = Model(inputs=model.inputs , outputs=model.layers[1].output) -- image = load_img("C:/Users/mnis9/Seal Eng Image/CV-gpu/All images/Image508.jpg" , target_size=(224,224)) # convert the image to an array image = img_to_array(image) # expand dimensions so that it represents a single 'sample' image = expand_dims(image, axis=0) -- image = preprocess_input(image) -- #calculating features_map features = model.predict(image) fig = pyplot.figure(figsize=(20,15)) for i in range(1,features.shape[3]+1): pyplot.subplot(8,8,i) pyplot.imshow(features[0,:,:,i-1] , cmap='gray') pyplot.show() -- model2 = VGG16() -- blocks = [ 2, 5 , 9 , 13 , 17] outputs = [model2.layers[i].output for i in blocks] model2 = Model( inputs= model2.inputs, outputs = outputs) -- feature_map = model2.predict(image) for i,fmap in zip(blocks,feature_map): fig = pyplot.figure(figsize=(20,15)) #https://stackoverflow.com/a/12444777 fig.suptitle("BLOCK_{}".format(i) , fontsize=20) for i in range(1,features.shape[3]+1): pyplot.subplot(8,8,i) pyplot.imshow(fmap[0,:,:,i-1] , cmap='gray') pyplot.show()