一文带你用可视化理解卷积神经网络(15)

import numpy as np

from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense Dropout Flatten Activation Conv2D MaxPooling2D
from keras.optimizers import Adam
from keras.callbacks import EarlyStopping ModelCheckpoint
from keras.preprocessing.image import ImageDataGenerator
from keras.activations import relu

%matplotlib inline
import matplotlib.pyplot as plt
def iter_occlusion(image size=8):

occlusion = np.full((size * 5 size * 5 1) [0.5
np.float32)
occlusion_center = np.full((size size 1) [0.5
np.float32)
occlusion_padding = size * 2

# print('padding...')
image_padded = np.pad(image ( 
(occlusion_padding occlusion_padding) (occlusion_padding occlusion_padding) (0 0) ) 'constant' constant_values = 0.0)

for y in range(occlusion_padding image.shape[0
+ occlusion_padding size):

for x in range(occlusion_padding image.shape[1
+ occlusion_padding size):

推荐阅读