TensorFlow 从入门到精通(11)—— DeepDream(上)
这节课,我翘了两天,原因是最近压力比较大。
大家可能对卷积云里雾里,这节课我们就可视化一下卷积层。通过噪声图像起点单层网络单通道/单层网络多通道/多层网络全通道 来生成几幅图像,让大家看一下卷积神经网络中某一个层的输出,通过与原图像的对比,可以看到卷积层对图像的影响。
另外,这是上,下一个我们将这个有趣的项目应用到图片中,生成一些比较魔性的图片。
选择了远方,就走下去吧!!
下一个是本项目的下一篇
必看:
本项目并不训练模型,而是“训练”图像的像素值
Deep Dream项目是Google在2015年公布的一个十分有趣的项目,在训练好的神经网络中,只需要修改几个参数就可以通过这项技术生成一张奇幻的图像。
在固定的模型上,通过不断修改图像的像素值不断改变输入,激活某一层(让其损失最大)
import tensorflow as tf
tf.__version__
'2.6.0'
# 检测是否支持GPU
tf.test.is_gpu_available()
True
- 安装pillow库
pip install pillow
import numpy as np
import IPython.display as display
import PIL.Image
from tensorflow.keras.preprocessing import image
一、定义相关函数
# 图像标准化
def normalize_image(img):img = 255 * (img + 1.0) / 2.0return tf.cast(img,tf.uint8)
# 图像可视化
import matplotlib.pyplot as pltdef show_image(img):display.display(PIL.Image.fromarray(np.array(img)))# plt.imshow(np.array(img))
# 保存图像文件
def save_image(img,file_name):PIL.Image.fromarray(np.array(img)).save(file_name)
二、产生噪音起点图像文件(相当于数据集)
img_noise = np.random.uniform(size=(300,300,3)) + 100.0 # 这里加100的作用是为了提高图像的亮度
img_noise = img_noise.astype(np.float32) # dtypy转换成float32
show_image(normalize_image(img_noise))
三、构建模型
- 导入imagenet数据集的图像识别预训练InceptionV3模型
- 去掉顶层,这样能接受新的训练数据shape
1.加载预训练模型
base_model = tf.keras.applications.InceptionV3(include_top=False,weights='imagenet')
base_model.summary()
Model: "inception_v3"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_7 (InputLayer) [(None, None, None, 0
__________________________________________________________________________________________________
conv2d_564 (Conv2D) (None, None, None, 3 864 input_7[0][0]
__________________________________________________________________________________________________
batch_normalization_564 (BatchN (None, None, None, 3 96 conv2d_564[0][0]
__________________________________________________________________________________________________
activation_564 (Activation) (None, None, None, 3 0 batch_normalization_564[0][0]
__________________________________________________________________________________________________
conv2d_565 (Conv2D) (None, None, None, 3 9216 activation_564[0][0]
__________________________________________________________________________________________________
batch_normalization_565 (BatchN (None, None, None, 3 96 conv2d_565[0][0]
__________________________________________________________________________________________________
activation_565 (Activation) (None, None, None, 3 0 batch_normalization_565[0][0]
__________________________________________________________________________________________________
conv2d_566 (Conv2D) (None, None, None, 6 18432 activation_565[0][0]
__________________________________________________________________________________________________
batch_normalization_566 (BatchN (None, None, None, 6 192 conv2d_566[0][0]
__________________________________________________________________________________________________
activation_566 (Activation) (None, None, None, 6 0 batch_normalization_566[0][0]
__________________________________________________________________________________________________
max_pooling2d_24 (MaxPooling2D) (None, None, None, 6 0 activation_566[0][0]
__________________________________________________________________________________________________
conv2d_567 (Conv2D) (None, None, None, 8 5120 max_pooling2d_24[0][0]
__________________________________________________________________________________________________
batch_normalization_567 (BatchN (None, None, None, 8 240 conv2d_567[0][0]
__________________________________________________________________________________________________
activation_567 (Activation) (None, None, None, 8 0 batch_normalization_567[0][0]
__________________________________________________________________________________________________
conv2d_568 (Conv2D) (None, None, None, 1 138240 activation_567[0][0]
__________________________________________________________________________________________________
batch_normalization_568 (BatchN (None, None, None, 1 576 conv2d_568[0][0]
__________________________________________________________________________________________________
activation_568 (Activation) (None, None, None, 1 0 batch_normalization_568[0][0]
__________________________________________________________________________________________________
max_pooling2d_25 (MaxPooling2D) (None, None, None, 1 0 activation_568[0][0]
__________________________________________________________________________________________________
conv2d_572 (Conv2D) (None, None, None, 6 12288 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
batch_normalization_572 (BatchN (None, None, None, 6 192 conv2d_572[0][0]
__________________________________________________________________________________________________
activation_572 (Activation) (None, None, None, 6 0 batch_normalization_572[0][0]
__________________________________________________________________________________________________
conv2d_570 (Conv2D) (None, None, None, 4 9216 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
conv2d_573 (Conv2D) (None, None, None, 9 55296 activation_572[0][0]
__________________________________________________________________________________________________
batch_normalization_570 (BatchN (None, None, None, 4 144 conv2d_570[0][0]
__________________________________________________________________________________________________
batch_normalization_573 (BatchN (None, None, None, 9 288 conv2d_573[0][0]
__________________________________________________________________________________________________
activation_570 (Activation) (None, None, None, 4 0 batch_normalization_570[0][0]
__________________________________________________________________________________________________
activation_573 (Activation) (None, None, None, 9 0 batch_normalization_573[0][0]
__________________________________________________________________________________________________
average_pooling2d_54 (AveragePo (None, None, None, 1 0 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
conv2d_569 (Conv2D) (None, None, None, 6 12288 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
conv2d_571 (Conv2D) (None, None, None, 6 76800 activation_570[0][0]
__________________________________________________________________________________________________
conv2d_574 (Conv2D) (None, None, None, 9 82944 activation_573[0][0]
__________________________________________________________________________________________________
conv2d_575 (Conv2D) (None, None, None, 3 6144 average_pooling2d_54[0][0]
__________________________________________________________________________________________________
batch_normalization_569 (BatchN (None, None, None, 6 192 conv2d_569[0][0]
__________________________________________________________________________________________________
batch_normalization_571 (BatchN (None, None, None, 6 192 conv2d_571[0][0]
__________________________________________________________________________________________________
batch_normalization_574 (BatchN (None, None, None, 9 288 conv2d_574[0][0]
__________________________________________________________________________________________________
batch_normalization_575 (BatchN (None, None, None, 3 96 conv2d_575[0][0]
__________________________________________________________________________________________________
activation_569 (Activation) (None, None, None, 6 0 batch_normalization_569[0][0]
__________________________________________________________________________________________________
activation_571 (Activation) (None, None, None, 6 0 batch_normalization_571[0][0]
__________________________________________________________________________________________________
activation_574 (Activation) (None, None, None, 9 0 batch_normalization_574[0][0]
__________________________________________________________________________________________________
activation_575 (Activation) (None, None, None, 3 0 batch_normalization_575[0][0]
__________________________________________________________________________________________________
mixed0 (Concatenate) (None, None, None, 2 0 activation_569[0][0] activation_571[0][0] activation_574[0][0] activation_575[0][0]
__________________________________________________________________________________________________
conv2d_579 (Conv2D) (None, None, None, 6 16384 mixed0[0][0]
__________________________________________________________________________________________________
batch_normalization_579 (BatchN (None, None, None, 6 192 conv2d_579[0][0]
__________________________________________________________________________________________________
activation_579 (Activation) (None, None, None, 6 0 batch_normalization_579[0][0]
__________________________________________________________________________________________________
conv2d_577 (Conv2D) (None, None, None, 4 12288 mixed0[0][0]
__________________________________________________________________________________________________
conv2d_580 (Conv2D) (None, None, None, 9 55296 activation_579[0][0]
__________________________________________________________________________________________________
batch_normalization_577 (BatchN (None, None, None, 4 144 conv2d_577[0][0]
__________________________________________________________________________________________________
batch_normalization_580 (BatchN (None, None, None, 9 288 conv2d_580[0][0]
__________________________________________________________________________________________________
activation_577 (Activation) (None, None, None, 4 0 batch_normalization_577[0][0]
__________________________________________________________________________________________________
activation_580 (Activation) (None, None, None, 9 0 batch_normalization_580[0][0]
__________________________________________________________________________________________________
average_pooling2d_55 (AveragePo (None, None, None, 2 0 mixed0[0][0]
__________________________________________________________________________________________________
conv2d_576 (Conv2D) (None, None, None, 6 16384 mixed0[0][0]
__________________________________________________________________________________________________
conv2d_578 (Conv2D) (None, None, None, 6 76800 activation_577[0][0]
__________________________________________________________________________________________________
conv2d_581 (Conv2D) (None, None, None, 9 82944 activation_580[0][0]
__________________________________________________________________________________________________
conv2d_582 (Conv2D) (None, None, None, 6 16384 average_pooling2d_55[0][0]
__________________________________________________________________________________________________
batch_normalization_576 (BatchN (None, None, None, 6 192 conv2d_576[0][0]
__________________________________________________________________________________________________
batch_normalization_578 (BatchN (None, None, None, 6 192 conv2d_578[0][0]
__________________________________________________________________________________________________
batch_normalization_581 (BatchN (None, None, None, 9 288 conv2d_581[0][0]
__________________________________________________________________________________________________
batch_normalization_582 (BatchN (None, None, None, 6 192 conv2d_582[0][0]
__________________________________________________________________________________________________
activation_576 (Activation) (None, None, None, 6 0 batch_normalization_576[0][0]
__________________________________________________________________________________________________
activation_578 (Activation) (None, None, None, 6 0 batch_normalization_578[0][0]
__________________________________________________________________________________________________
activation_581 (Activation) (None, None, None, 9 0 batch_normalization_581[0][0]
__________________________________________________________________________________________________
activation_582 (Activation) (None, None, None, 6 0 batch_normalization_582[0][0]
__________________________________________________________________________________________________
mixed1 (Concatenate) (None, None, None, 2 0 activation_576[0][0] activation_578[0][0] activation_581[0][0] activation_582[0][0]
__________________________________________________________________________________________________
conv2d_586 (Conv2D) (None, None, None, 6 18432 mixed1[0][0]
__________________________________________________________________________________________________
batch_normalization_586 (BatchN (None, None, None, 6 192 conv2d_586[0][0]
__________________________________________________________________________________________________
activation_586 (Activation) (None, None, None, 6 0 batch_normalization_586[0][0]
__________________________________________________________________________________________________
conv2d_584 (Conv2D) (None, None, None, 4 13824 mixed1[0][0]
__________________________________________________________________________________________________
conv2d_587 (Conv2D) (None, None, None, 9 55296 activation_586[0][0]
__________________________________________________________________________________________________
batch_normalization_584 (BatchN (None, None, None, 4 144 conv2d_584[0][0]
__________________________________________________________________________________________________
batch_normalization_587 (BatchN (None, None, None, 9 288 conv2d_587[0][0]
__________________________________________________________________________________________________
activation_584 (Activation) (None, None, None, 4 0 batch_normalization_584[0][0]
__________________________________________________________________________________________________
activation_587 (Activation) (None, None, None, 9 0 batch_normalization_587[0][0]
__________________________________________________________________________________________________
average_pooling2d_56 (AveragePo (None, None, None, 2 0 mixed1[0][0]
__________________________________________________________________________________________________
conv2d_583 (Conv2D) (None, None, None, 6 18432 mixed1[0][0]
__________________________________________________________________________________________________
conv2d_585 (Conv2D) (None, None, None, 6 76800 activation_584[0][0]
__________________________________________________________________________________________________
conv2d_588 (Conv2D) (None, None, None, 9 82944 activation_587[0][0]
__________________________________________________________________________________________________
conv2d_589 (Conv2D) (None, None, None, 6 18432 average_pooling2d_56[0][0]
__________________________________________________________________________________________________
batch_normalization_583 (BatchN (None, None, None, 6 192 conv2d_583[0][0]
__________________________________________________________________________________________________
batch_normalization_585 (BatchN (None, None, None, 6 192 conv2d_585[0][0]
__________________________________________________________________________________________________
batch_normalization_588 (BatchN (None, None, None, 9 288 conv2d_588[0][0]
__________________________________________________________________________________________________
batch_normalization_589 (BatchN (None, None, None, 6 192 conv2d_589[0][0]
__________________________________________________________________________________________________
activation_583 (Activation) (None, None, None, 6 0 batch_normalization_583[0][0]
__________________________________________________________________________________________________
activation_585 (Activation) (None, None, None, 6 0 batch_normalization_585[0][0]
__________________________________________________________________________________________________
activation_588 (Activation) (None, None, None, 9 0 batch_normalization_588[0][0]
__________________________________________________________________________________________________
activation_589 (Activation) (None, None, None, 6 0 batch_normalization_589[0][0]
__________________________________________________________________________________________________
mixed2 (Concatenate) (None, None, None, 2 0 activation_583[0][0] activation_585[0][0] activation_588[0][0] activation_589[0][0]
__________________________________________________________________________________________________
conv2d_591 (Conv2D) (None, None, None, 6 18432 mixed2[0][0]
__________________________________________________________________________________________________
batch_normalization_591 (BatchN (None, None, None, 6 192 conv2d_591[0][0]
__________________________________________________________________________________________________
activation_591 (Activation) (None, None, None, 6 0 batch_normalization_591[0][0]
__________________________________________________________________________________________________
conv2d_592 (Conv2D) (None, None, None, 9 55296 activation_591[0][0]
__________________________________________________________________________________________________
batch_normalization_592 (BatchN (None, None, None, 9 288 conv2d_592[0][0]
__________________________________________________________________________________________________
activation_592 (Activation) (None, None, None, 9 0 batch_normalization_592[0][0]
__________________________________________________________________________________________________
conv2d_590 (Conv2D) (None, None, None, 3 995328 mixed2[0][0]
__________________________________________________________________________________________________
conv2d_593 (Conv2D) (None, None, None, 9 82944 activation_592[0][0]
__________________________________________________________________________________________________
batch_normalization_590 (BatchN (None, None, None, 3 1152 conv2d_590[0][0]
__________________________________________________________________________________________________
batch_normalization_593 (BatchN (None, None, None, 9 288 conv2d_593[0][0]
__________________________________________________________________________________________________
activation_590 (Activation) (None, None, None, 3 0 batch_normalization_590[0][0]
__________________________________________________________________________________________________
activation_593 (Activation) (None, None, None, 9 0 batch_normalization_593[0][0]
__________________________________________________________________________________________________
max_pooling2d_26 (MaxPooling2D) (None, None, None, 2 0 mixed2[0][0]
__________________________________________________________________________________________________
mixed3 (Concatenate) (None, None, None, 7 0 activation_590[0][0] activation_593[0][0] max_pooling2d_26[0][0]
__________________________________________________________________________________________________
conv2d_598 (Conv2D) (None, None, None, 1 98304 mixed3[0][0]
__________________________________________________________________________________________________
batch_normalization_598 (BatchN (None, None, None, 1 384 conv2d_598[0][0]
__________________________________________________________________________________________________
activation_598 (Activation) (None, None, None, 1 0 batch_normalization_598[0][0]
__________________________________________________________________________________________________
conv2d_599 (Conv2D) (None, None, None, 1 114688 activation_598[0][0]
__________________________________________________________________________________________________
batch_normalization_599 (BatchN (None, None, None, 1 384 conv2d_599[0][0]
__________________________________________________________________________________________________
activation_599 (Activation) (None, None, None, 1 0 batch_normalization_599[0][0]
__________________________________________________________________________________________________
conv2d_595 (Conv2D) (None, None, None, 1 98304 mixed3[0][0]
__________________________________________________________________________________________________
conv2d_600 (Conv2D) (None, None, None, 1 114688 activation_599[0][0]
__________________________________________________________________________________________________
batch_normalization_595 (BatchN (None, None, None, 1 384 conv2d_595[0][0]
__________________________________________________________________________________________________
batch_normalization_600 (BatchN (None, None, None, 1 384 conv2d_600[0][0]
__________________________________________________________________________________________________
activation_595 (Activation) (None, None, None, 1 0 batch_normalization_595[0][0]
__________________________________________________________________________________________________
activation_600 (Activation) (None, None, None, 1 0 batch_normalization_600[0][0]
__________________________________________________________________________________________________
conv2d_596 (Conv2D) (None, None, None, 1 114688 activation_595[0][0]
__________________________________________________________________________________________________
conv2d_601 (Conv2D) (None, None, None, 1 114688 activation_600[0][0]
__________________________________________________________________________________________________
batch_normalization_596 (BatchN (None, None, None, 1 384 conv2d_596[0][0]
__________________________________________________________________________________________________
batch_normalization_601 (BatchN (None, None, None, 1 384 conv2d_601[0][0]
__________________________________________________________________________________________________
activation_596 (Activation) (None, None, None, 1 0 batch_normalization_596[0][0]
__________________________________________________________________________________________________
activation_601 (Activation) (None, None, None, 1 0 batch_normalization_601[0][0]
__________________________________________________________________________________________________
average_pooling2d_57 (AveragePo (None, None, None, 7 0 mixed3[0][0]
__________________________________________________________________________________________________
conv2d_594 (Conv2D) (None, None, None, 1 147456 mixed3[0][0]
__________________________________________________________________________________________________
conv2d_597 (Conv2D) (None, None, None, 1 172032 activation_596[0][0]
__________________________________________________________________________________________________
conv2d_602 (Conv2D) (None, None, None, 1 172032 activation_601[0][0]
__________________________________________________________________________________________________
conv2d_603 (Conv2D) (None, None, None, 1 147456 average_pooling2d_57[0][0]
__________________________________________________________________________________________________
batch_normalization_594 (BatchN (None, None, None, 1 576 conv2d_594[0][0]
__________________________________________________________________________________________________
batch_normalization_597 (BatchN (None, None, None, 1 576 conv2d_597[0][0]
__________________________________________________________________________________________________
batch_normalization_602 (BatchN (None, None, None, 1 576 conv2d_602[0][0]
__________________________________________________________________________________________________
batch_normalization_603 (BatchN (None, None, None, 1 576 conv2d_603[0][0]
__________________________________________________________________________________________________
activation_594 (Activation) (None, None, None, 1 0 batch_normalization_594[0][0]
__________________________________________________________________________________________________
activation_597 (Activation) (None, None, None, 1 0 batch_normalization_597[0][0]
__________________________________________________________________________________________________
activation_602 (Activation) (None, None, None, 1 0 batch_normalization_602[0][0]
__________________________________________________________________________________________________
activation_603 (Activation) (None, None, None, 1 0 batch_normalization_603[0][0]
__________________________________________________________________________________________________
mixed4 (Concatenate) (None, None, None, 7 0 activation_594[0][0] activation_597[0][0] activation_602[0][0] activation_603[0][0]
__________________________________________________________________________________________________
conv2d_608 (Conv2D) (None, None, None, 1 122880 mixed4[0][0]
__________________________________________________________________________________________________
batch_normalization_608 (BatchN (None, None, None, 1 480 conv2d_608[0][0]
__________________________________________________________________________________________________
activation_608 (Activation) (None, None, None, 1 0 batch_normalization_608[0][0]
__________________________________________________________________________________________________
conv2d_609 (Conv2D) (None, None, None, 1 179200 activation_608[0][0]
__________________________________________________________________________________________________
batch_normalization_609 (BatchN (None, None, None, 1 480 conv2d_609[0][0]
__________________________________________________________________________________________________
activation_609 (Activation) (None, None, None, 1 0 batch_normalization_609[0][0]
__________________________________________________________________________________________________
conv2d_605 (Conv2D) (None, None, None, 1 122880 mixed4[0][0]
__________________________________________________________________________________________________
conv2d_610 (Conv2D) (None, None, None, 1 179200 activation_609[0][0]
__________________________________________________________________________________________________
batch_normalization_605 (BatchN (None, None, None, 1 480 conv2d_605[0][0]
__________________________________________________________________________________________________
batch_normalization_610 (BatchN (None, None, None, 1 480 conv2d_610[0][0]
__________________________________________________________________________________________________
activation_605 (Activation) (None, None, None, 1 0 batch_normalization_605[0][0]
__________________________________________________________________________________________________
activation_610 (Activation) (None, None, None, 1 0 batch_normalization_610[0][0]
__________________________________________________________________________________________________
conv2d_606 (Conv2D) (None, None, None, 1 179200 activation_605[0][0]
__________________________________________________________________________________________________
conv2d_611 (Conv2D) (None, None, None, 1 179200 activation_610[0][0]
__________________________________________________________________________________________________
batch_normalization_606 (BatchN (None, None, None, 1 480 conv2d_606[0][0]
__________________________________________________________________________________________________
batch_normalization_611 (BatchN (None, None, None, 1 480 conv2d_611[0][0]
__________________________________________________________________________________________________
activation_606 (Activation) (None, None, None, 1 0 batch_normalization_606[0][0]
__________________________________________________________________________________________________
activation_611 (Activation) (None, None, None, 1 0 batch_normalization_611[0][0]
__________________________________________________________________________________________________
average_pooling2d_58 (AveragePo (None, None, None, 7 0 mixed4[0][0]
__________________________________________________________________________________________________
conv2d_604 (Conv2D) (None, None, None, 1 147456 mixed4[0][0]
__________________________________________________________________________________________________
conv2d_607 (Conv2D) (None, None, None, 1 215040 activation_606[0][0]
__________________________________________________________________________________________________
conv2d_612 (Conv2D) (None, None, None, 1 215040 activation_611[0][0]
__________________________________________________________________________________________________
conv2d_613 (Conv2D) (None, None, None, 1 147456 average_pooling2d_58[0][0]
__________________________________________________________________________________________________
batch_normalization_604 (BatchN (None, None, None, 1 576 conv2d_604[0][0]
__________________________________________________________________________________________________
batch_normalization_607 (BatchN (None, None, None, 1 576 conv2d_607[0][0]
__________________________________________________________________________________________________
batch_normalization_612 (BatchN (None, None, None, 1 576 conv2d_612[0][0]
__________________________________________________________________________________________________
batch_normalization_613 (BatchN (None, None, None, 1 576 conv2d_613[0][0]
__________________________________________________________________________________________________
activation_604 (Activation) (None, None, None, 1 0 batch_normalization_604[0][0]
__________________________________________________________________________________________________
activation_607 (Activation) (None, None, None, 1 0 batch_normalization_607[0][0]
__________________________________________________________________________________________________
activation_612 (Activation) (None, None, None, 1 0 batch_normalization_612[0][0]
__________________________________________________________________________________________________
activation_613 (Activation) (None, None, None, 1 0 batch_normalization_613[0][0]
__________________________________________________________________________________________________
mixed5 (Concatenate) (None, None, None, 7 0 activation_604[0][0] activation_607[0][0] activation_612[0][0] activation_613[0][0]
__________________________________________________________________________________________________
conv2d_618 (Conv2D) (None, None, None, 1 122880 mixed5[0][0]
__________________________________________________________________________________________________
batch_normalization_618 (BatchN (None, None, None, 1 480 conv2d_618[0][0]
__________________________________________________________________________________________________
activation_618 (Activation) (None, None, None, 1 0 batch_normalization_618[0][0]
__________________________________________________________________________________________________
conv2d_619 (Conv2D) (None, None, None, 1 179200 activation_618[0][0]
__________________________________________________________________________________________________
batch_normalization_619 (BatchN (None, None, None, 1 480 conv2d_619[0][0]
__________________________________________________________________________________________________
activation_619 (Activation) (None, None, None, 1 0 batch_normalization_619[0][0]
__________________________________________________________________________________________________
conv2d_615 (Conv2D) (None, None, None, 1 122880 mixed5[0][0]
__________________________________________________________________________________________________
conv2d_620 (Conv2D) (None, None, None, 1 179200 activation_619[0][0]
__________________________________________________________________________________________________
batch_normalization_615 (BatchN (None, None, None, 1 480 conv2d_615[0][0]
__________________________________________________________________________________________________
batch_normalization_620 (BatchN (None, None, None, 1 480 conv2d_620[0][0]
__________________________________________________________________________________________________
activation_615 (Activation) (None, None, None, 1 0 batch_normalization_615[0][0]
__________________________________________________________________________________________________
activation_620 (Activation) (None, None, None, 1 0 batch_normalization_620[0][0]
__________________________________________________________________________________________________
conv2d_616 (Conv2D) (None, None, None, 1 179200 activation_615[0][0]
__________________________________________________________________________________________________
conv2d_621 (Conv2D) (None, None, None, 1 179200 activation_620[0][0]
__________________________________________________________________________________________________
batch_normalization_616 (BatchN (None, None, None, 1 480 conv2d_616[0][0]
__________________________________________________________________________________________________
batch_normalization_621 (BatchN (None, None, None, 1 480 conv2d_621[0][0]
__________________________________________________________________________________________________
activation_616 (Activation) (None, None, None, 1 0 batch_normalization_616[0][0]
__________________________________________________________________________________________________
activation_621 (Activation) (None, None, None, 1 0 batch_normalization_621[0][0]
__________________________________________________________________________________________________
average_pooling2d_59 (AveragePo (None, None, None, 7 0 mixed5[0][0]
__________________________________________________________________________________________________
conv2d_614 (Conv2D) (None, None, None, 1 147456 mixed5[0][0]
__________________________________________________________________________________________________
conv2d_617 (Conv2D) (None, None, None, 1 215040 activation_616[0][0]
__________________________________________________________________________________________________
conv2d_622 (Conv2D) (None, None, None, 1 215040 activation_621[0][0]
__________________________________________________________________________________________________
conv2d_623 (Conv2D) (None, None, None, 1 147456 average_pooling2d_59[0][0]
__________________________________________________________________________________________________
batch_normalization_614 (BatchN (None, None, None, 1 576 conv2d_614[0][0]
__________________________________________________________________________________________________
batch_normalization_617 (BatchN (None, None, None, 1 576 conv2d_617[0][0]
__________________________________________________________________________________________________
batch_normalization_622 (BatchN (None, None, None, 1 576 conv2d_622[0][0]
__________________________________________________________________________________________________
batch_normalization_623 (BatchN (None, None, None, 1 576 conv2d_623[0][0]
__________________________________________________________________________________________________
activation_614 (Activation) (None, None, None, 1 0 batch_normalization_614[0][0]
__________________________________________________________________________________________________
activation_617 (Activation) (None, None, None, 1 0 batch_normalization_617[0][0]
__________________________________________________________________________________________________
activation_622 (Activation) (None, None, None, 1 0 batch_normalization_622[0][0]
__________________________________________________________________________________________________
activation_623 (Activation) (None, None, None, 1 0 batch_normalization_623[0][0]
__________________________________________________________________________________________________
mixed6 (Concatenate) (None, None, None, 7 0 activation_614[0][0] activation_617[0][0] activation_622[0][0] activation_623[0][0]
__________________________________________________________________________________________________
conv2d_628 (Conv2D) (None, None, None, 1 147456 mixed6[0][0]
__________________________________________________________________________________________________
batch_normalization_628 (BatchN (None, None, None, 1 576 conv2d_628[0][0]
__________________________________________________________________________________________________
activation_628 (Activation) (None, None, None, 1 0 batch_normalization_628[0][0]
__________________________________________________________________________________________________
conv2d_629 (Conv2D) (None, None, None, 1 258048 activation_628[0][0]
__________________________________________________________________________________________________
batch_normalization_629 (BatchN (None, None, None, 1 576 conv2d_629[0][0]
__________________________________________________________________________________________________
activation_629 (Activation) (None, None, None, 1 0 batch_normalization_629[0][0]
__________________________________________________________________________________________________
conv2d_625 (Conv2D) (None, None, None, 1 147456 mixed6[0][0]
__________________________________________________________________________________________________
conv2d_630 (Conv2D) (None, None, None, 1 258048 activation_629[0][0]
__________________________________________________________________________________________________
batch_normalization_625 (BatchN (None, None, None, 1 576 conv2d_625[0][0]
__________________________________________________________________________________________________
batch_normalization_630 (BatchN (None, None, None, 1 576 conv2d_630[0][0]
__________________________________________________________________________________________________
activation_625 (Activation) (None, None, None, 1 0 batch_normalization_625[0][0]
__________________________________________________________________________________________________
activation_630 (Activation) (None, None, None, 1 0 batch_normalization_630[0][0]
__________________________________________________________________________________________________
conv2d_626 (Conv2D) (None, None, None, 1 258048 activation_625[0][0]
__________________________________________________________________________________________________
conv2d_631 (Conv2D) (None, None, None, 1 258048 activation_630[0][0]
__________________________________________________________________________________________________
batch_normalization_626 (BatchN (None, None, None, 1 576 conv2d_626[0][0]
__________________________________________________________________________________________________
batch_normalization_631 (BatchN (None, None, None, 1 576 conv2d_631[0][0]
__________________________________________________________________________________________________
activation_626 (Activation) (None, None, None, 1 0 batch_normalization_626[0][0]
__________________________________________________________________________________________________
activation_631 (Activation) (None, None, None, 1 0 batch_normalization_631[0][0]
__________________________________________________________________________________________________
average_pooling2d_60 (AveragePo (None, None, None, 7 0 mixed6[0][0]
__________________________________________________________________________________________________
conv2d_624 (Conv2D) (None, None, None, 1 147456 mixed6[0][0]
__________________________________________________________________________________________________
conv2d_627 (Conv2D) (None, None, None, 1 258048 activation_626[0][0]
__________________________________________________________________________________________________
conv2d_632 (Conv2D) (None, None, None, 1 258048 activation_631[0][0]
__________________________________________________________________________________________________
conv2d_633 (Conv2D) (None, None, None, 1 147456 average_pooling2d_60[0][0]
__________________________________________________________________________________________________
batch_normalization_624 (BatchN (None, None, None, 1 576 conv2d_624[0][0]
__________________________________________________________________________________________________
batch_normalization_627 (BatchN (None, None, None, 1 576 conv2d_627[0][0]
__________________________________________________________________________________________________
batch_normalization_632 (BatchN (None, None, None, 1 576 conv2d_632[0][0]
__________________________________________________________________________________________________
batch_normalization_633 (BatchN (None, None, None, 1 576 conv2d_633[0][0]
__________________________________________________________________________________________________
activation_624 (Activation) (None, None, None, 1 0 batch_normalization_624[0][0]
__________________________________________________________________________________________________
activation_627 (Activation) (None, None, None, 1 0 batch_normalization_627[0][0]
__________________________________________________________________________________________________
activation_632 (Activation) (None, None, None, 1 0 batch_normalization_632[0][0]
__________________________________________________________________________________________________
activation_633 (Activation) (None, None, None, 1 0 batch_normalization_633[0][0]
__________________________________________________________________________________________________
mixed7 (Concatenate) (None, None, None, 7 0 activation_624[0][0] activation_627[0][0] activation_632[0][0] activation_633[0][0]
__________________________________________________________________________________________________
conv2d_636 (Conv2D) (None, None, None, 1 147456 mixed7[0][0]
__________________________________________________________________________________________________
batch_normalization_636 (BatchN (None, None, None, 1 576 conv2d_636[0][0]
__________________________________________________________________________________________________
activation_636 (Activation) (None, None, None, 1 0 batch_normalization_636[0][0]
__________________________________________________________________________________________________
conv2d_637 (Conv2D) (None, None, None, 1 258048 activation_636[0][0]
__________________________________________________________________________________________________
batch_normalization_637 (BatchN (None, None, None, 1 576 conv2d_637[0][0]
__________________________________________________________________________________________________
activation_637 (Activation) (None, None, None, 1 0 batch_normalization_637[0][0]
__________________________________________________________________________________________________
conv2d_634 (Conv2D) (None, None, None, 1 147456 mixed7[0][0]
__________________________________________________________________________________________________
conv2d_638 (Conv2D) (None, None, None, 1 258048 activation_637[0][0]
__________________________________________________________________________________________________
batch_normalization_634 (BatchN (None, None, None, 1 576 conv2d_634[0][0]
__________________________________________________________________________________________________
batch_normalization_638 (BatchN (None, None, None, 1 576 conv2d_638[0][0]
__________________________________________________________________________________________________
activation_634 (Activation) (None, None, None, 1 0 batch_normalization_634[0][0]
__________________________________________________________________________________________________
activation_638 (Activation) (None, None, None, 1 0 batch_normalization_638[0][0]
__________________________________________________________________________________________________
conv2d_635 (Conv2D) (None, None, None, 3 552960 activation_634[0][0]
__________________________________________________________________________________________________
conv2d_639 (Conv2D) (None, None, None, 1 331776 activation_638[0][0]
__________________________________________________________________________________________________
batch_normalization_635 (BatchN (None, None, None, 3 960 conv2d_635[0][0]
__________________________________________________________________________________________________
batch_normalization_639 (BatchN (None, None, None, 1 576 conv2d_639[0][0]
__________________________________________________________________________________________________
activation_635 (Activation) (None, None, None, 3 0 batch_normalization_635[0][0]
__________________________________________________________________________________________________
activation_639 (Activation) (None, None, None, 1 0 batch_normalization_639[0][0]
__________________________________________________________________________________________________
max_pooling2d_27 (MaxPooling2D) (None, None, None, 7 0 mixed7[0][0]
__________________________________________________________________________________________________
mixed8 (Concatenate) (None, None, None, 1 0 activation_635[0][0] activation_639[0][0] max_pooling2d_27[0][0]
__________________________________________________________________________________________________
conv2d_644 (Conv2D) (None, None, None, 4 573440 mixed8[0][0]
__________________________________________________________________________________________________
batch_normalization_644 (BatchN (None, None, None, 4 1344 conv2d_644[0][0]
__________________________________________________________________________________________________
activation_644 (Activation) (None, None, None, 4 0 batch_normalization_644[0][0]
__________________________________________________________________________________________________
conv2d_641 (Conv2D) (None, None, None, 3 491520 mixed8[0][0]
__________________________________________________________________________________________________
conv2d_645 (Conv2D) (None, None, None, 3 1548288 activation_644[0][0]
__________________________________________________________________________________________________
batch_normalization_641 (BatchN (None, None, None, 3 1152 conv2d_641[0][0]
__________________________________________________________________________________________________
batch_normalization_645 (BatchN (None, None, None, 3 1152 conv2d_645[0][0]
__________________________________________________________________________________________________
activation_641 (Activation) (None, None, None, 3 0 batch_normalization_641[0][0]
__________________________________________________________________________________________________
activation_645 (Activation) (None, None, None, 3 0 batch_normalization_645[0][0]
__________________________________________________________________________________________________
conv2d_642 (Conv2D) (None, None, None, 3 442368 activation_641[0][0]
__________________________________________________________________________________________________
conv2d_643 (Conv2D) (None, None, None, 3 442368 activation_641[0][0]
__________________________________________________________________________________________________
conv2d_646 (Conv2D) (None, None, None, 3 442368 activation_645[0][0]
__________________________________________________________________________________________________
conv2d_647 (Conv2D) (None, None, None, 3 442368 activation_645[0][0]
__________________________________________________________________________________________________
average_pooling2d_61 (AveragePo (None, None, None, 1 0 mixed8[0][0]
__________________________________________________________________________________________________
conv2d_640 (Conv2D) (None, None, None, 3 409600 mixed8[0][0]
__________________________________________________________________________________________________
batch_normalization_642 (BatchN (None, None, None, 3 1152 conv2d_642[0][0]
__________________________________________________________________________________________________
batch_normalization_643 (BatchN (None, None, None, 3 1152 conv2d_643[0][0]
__________________________________________________________________________________________________
batch_normalization_646 (BatchN (None, None, None, 3 1152 conv2d_646[0][0]
__________________________________________________________________________________________________
batch_normalization_647 (BatchN (None, None, None, 3 1152 conv2d_647[0][0]
__________________________________________________________________________________________________
conv2d_648 (Conv2D) (None, None, None, 1 245760 average_pooling2d_61[0][0]
__________________________________________________________________________________________________
batch_normalization_640 (BatchN (None, None, None, 3 960 conv2d_640[0][0]
__________________________________________________________________________________________________
activation_642 (Activation) (None, None, None, 3 0 batch_normalization_642[0][0]
__________________________________________________________________________________________________
activation_643 (Activation) (None, None, None, 3 0 batch_normalization_643[0][0]
__________________________________________________________________________________________________
activation_646 (Activation) (None, None, None, 3 0 batch_normalization_646[0][0]
__________________________________________________________________________________________________
activation_647 (Activation) (None, None, None, 3 0 batch_normalization_647[0][0]
__________________________________________________________________________________________________
batch_normalization_648 (BatchN (None, None, None, 1 576 conv2d_648[0][0]
__________________________________________________________________________________________________
activation_640 (Activation) (None, None, None, 3 0 batch_normalization_640[0][0]
__________________________________________________________________________________________________
mixed9_0 (Concatenate) (None, None, None, 7 0 activation_642[0][0] activation_643[0][0]
__________________________________________________________________________________________________
concatenate_12 (Concatenate) (None, None, None, 7 0 activation_646[0][0] activation_647[0][0]
__________________________________________________________________________________________________
activation_648 (Activation) (None, None, None, 1 0 batch_normalization_648[0][0]
__________________________________________________________________________________________________
mixed9 (Concatenate) (None, None, None, 2 0 activation_640[0][0] mixed9_0[0][0] concatenate_12[0][0] activation_648[0][0]
__________________________________________________________________________________________________
conv2d_653 (Conv2D) (None, None, None, 4 917504 mixed9[0][0]
__________________________________________________________________________________________________
batch_normalization_653 (BatchN (None, None, None, 4 1344 conv2d_653[0][0]
__________________________________________________________________________________________________
activation_653 (Activation) (None, None, None, 4 0 batch_normalization_653[0][0]
__________________________________________________________________________________________________
conv2d_650 (Conv2D) (None, None, None, 3 786432 mixed9[0][0]
__________________________________________________________________________________________________
conv2d_654 (Conv2D) (None, None, None, 3 1548288 activation_653[0][0]
__________________________________________________________________________________________________
batch_normalization_650 (BatchN (None, None, None, 3 1152 conv2d_650[0][0]
__________________________________________________________________________________________________
batch_normalization_654 (BatchN (None, None, None, 3 1152 conv2d_654[0][0]
__________________________________________________________________________________________________
activation_650 (Activation) (None, None, None, 3 0 batch_normalization_650[0][0]
__________________________________________________________________________________________________
activation_654 (Activation) (None, None, None, 3 0 batch_normalization_654[0][0]
__________________________________________________________________________________________________
conv2d_651 (Conv2D) (None, None, None, 3 442368 activation_650[0][0]
__________________________________________________________________________________________________
conv2d_652 (Conv2D) (None, None, None, 3 442368 activation_650[0][0]
__________________________________________________________________________________________________
conv2d_655 (Conv2D) (None, None, None, 3 442368 activation_654[0][0]
__________________________________________________________________________________________________
conv2d_656 (Conv2D) (None, None, None, 3 442368 activation_654[0][0]
__________________________________________________________________________________________________
average_pooling2d_62 (AveragePo (None, None, None, 2 0 mixed9[0][0]
__________________________________________________________________________________________________
conv2d_649 (Conv2D) (None, None, None, 3 655360 mixed9[0][0]
__________________________________________________________________________________________________
batch_normalization_651 (BatchN (None, None, None, 3 1152 conv2d_651[0][0]
__________________________________________________________________________________________________
batch_normalization_652 (BatchN (None, None, None, 3 1152 conv2d_652[0][0]
__________________________________________________________________________________________________
batch_normalization_655 (BatchN (None, None, None, 3 1152 conv2d_655[0][0]
__________________________________________________________________________________________________
batch_normalization_656 (BatchN (None, None, None, 3 1152 conv2d_656[0][0]
__________________________________________________________________________________________________
conv2d_657 (Conv2D) (None, None, None, 1 393216 average_pooling2d_62[0][0]
__________________________________________________________________________________________________
batch_normalization_649 (BatchN (None, None, None, 3 960 conv2d_649[0][0]
__________________________________________________________________________________________________
activation_651 (Activation) (None, None, None, 3 0 batch_normalization_651[0][0]
__________________________________________________________________________________________________
activation_652 (Activation) (None, None, None, 3 0 batch_normalization_652[0][0]
__________________________________________________________________________________________________
activation_655 (Activation) (None, None, None, 3 0 batch_normalization_655[0][0]
__________________________________________________________________________________________________
activation_656 (Activation) (None, None, None, 3 0 batch_normalization_656[0][0]
__________________________________________________________________________________________________
batch_normalization_657 (BatchN (None, None, None, 1 576 conv2d_657[0][0]
__________________________________________________________________________________________________
activation_649 (Activation) (None, None, None, 3 0 batch_normalization_649[0][0]
__________________________________________________________________________________________________
mixed9_1 (Concatenate) (None, None, None, 7 0 activation_651[0][0] activation_652[0][0]
__________________________________________________________________________________________________
concatenate_13 (Concatenate) (None, None, None, 7 0 activation_655[0][0] activation_656[0][0]
__________________________________________________________________________________________________
activation_657 (Activation) (None, None, None, 1 0 batch_normalization_657[0][0]
__________________________________________________________________________________________________
mixed10 (Concatenate) (None, None, None, 2 0 activation_649[0][0] mixed9_1[0][0] concatenate_13[0][0] activation_657[0][0]
==================================================================================================
Total params: 21,802,784
Trainable params: 21,768,352
Non-trainable params: 34,432
__________________________________________________________________________________________________
2.选择卷积层和通道
# 最大限度的激活这些层的指定的层
# layer_names = 'activation_468'
layer_names = ['activation_657','mixed10']layers = [base_model.get_layer(name).output for name in layer_names]
layers
[<KerasTensor: shape=(None, None, None, 192) dtype=float32 (created by layer 'activation_657')>,<KerasTensor: shape=(None, None, None, 2048) dtype=float32 (created by layer 'mixed10')>]
3.创建特征提取模型
dream_model = tf.keras.Model(inputs=base_model.input,outputs=layers)
dream_model.summary()
Model: "model_3"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_7 (InputLayer) [(None, None, None, 0
__________________________________________________________________________________________________
conv2d_564 (Conv2D) (None, None, None, 3 864 input_7[0][0]
__________________________________________________________________________________________________
batch_normalization_564 (BatchN (None, None, None, 3 96 conv2d_564[0][0]
__________________________________________________________________________________________________
activation_564 (Activation) (None, None, None, 3 0 batch_normalization_564[0][0]
__________________________________________________________________________________________________
conv2d_565 (Conv2D) (None, None, None, 3 9216 activation_564[0][0]
__________________________________________________________________________________________________
batch_normalization_565 (BatchN (None, None, None, 3 96 conv2d_565[0][0]
__________________________________________________________________________________________________
activation_565 (Activation) (None, None, None, 3 0 batch_normalization_565[0][0]
__________________________________________________________________________________________________
conv2d_566 (Conv2D) (None, None, None, 6 18432 activation_565[0][0]
__________________________________________________________________________________________________
batch_normalization_566 (BatchN (None, None, None, 6 192 conv2d_566[0][0]
__________________________________________________________________________________________________
activation_566 (Activation) (None, None, None, 6 0 batch_normalization_566[0][0]
__________________________________________________________________________________________________
max_pooling2d_24 (MaxPooling2D) (None, None, None, 6 0 activation_566[0][0]
__________________________________________________________________________________________________
conv2d_567 (Conv2D) (None, None, None, 8 5120 max_pooling2d_24[0][0]
__________________________________________________________________________________________________
batch_normalization_567 (BatchN (None, None, None, 8 240 conv2d_567[0][0]
__________________________________________________________________________________________________
activation_567 (Activation) (None, None, None, 8 0 batch_normalization_567[0][0]
__________________________________________________________________________________________________
conv2d_568 (Conv2D) (None, None, None, 1 138240 activation_567[0][0]
__________________________________________________________________________________________________
batch_normalization_568 (BatchN (None, None, None, 1 576 conv2d_568[0][0]
__________________________________________________________________________________________________
activation_568 (Activation) (None, None, None, 1 0 batch_normalization_568[0][0]
__________________________________________________________________________________________________
max_pooling2d_25 (MaxPooling2D) (None, None, None, 1 0 activation_568[0][0]
__________________________________________________________________________________________________
conv2d_572 (Conv2D) (None, None, None, 6 12288 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
batch_normalization_572 (BatchN (None, None, None, 6 192 conv2d_572[0][0]
__________________________________________________________________________________________________
activation_572 (Activation) (None, None, None, 6 0 batch_normalization_572[0][0]
__________________________________________________________________________________________________
conv2d_570 (Conv2D) (None, None, None, 4 9216 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
conv2d_573 (Conv2D) (None, None, None, 9 55296 activation_572[0][0]
__________________________________________________________________________________________________
batch_normalization_570 (BatchN (None, None, None, 4 144 conv2d_570[0][0]
__________________________________________________________________________________________________
batch_normalization_573 (BatchN (None, None, None, 9 288 conv2d_573[0][0]
__________________________________________________________________________________________________
activation_570 (Activation) (None, None, None, 4 0 batch_normalization_570[0][0]
__________________________________________________________________________________________________
activation_573 (Activation) (None, None, None, 9 0 batch_normalization_573[0][0]
__________________________________________________________________________________________________
average_pooling2d_54 (AveragePo (None, None, None, 1 0 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
conv2d_569 (Conv2D) (None, None, None, 6 12288 max_pooling2d_25[0][0]
__________________________________________________________________________________________________
conv2d_571 (Conv2D) (None, None, None, 6 76800 activation_570[0][0]
__________________________________________________________________________________________________
conv2d_574 (Conv2D) (None, None, None, 9 82944 activation_573[0][0]
__________________________________________________________________________________________________
conv2d_575 (Conv2D) (None, None, None, 3 6144 average_pooling2d_54[0][0]
__________________________________________________________________________________________________
batch_normalization_569 (BatchN (None, None, None, 6 192 conv2d_569[0][0]
__________________________________________________________________________________________________
batch_normalization_571 (BatchN (None, None, None, 6 192 conv2d_571[0][0]
__________________________________________________________________________________________________
batch_normalization_574 (BatchN (None, None, None, 9 288 conv2d_574[0][0]
__________________________________________________________________________________________________
batch_normalization_575 (BatchN (None, None, None, 3 96 conv2d_575[0][0]
__________________________________________________________________________________________________
activation_569 (Activation) (None, None, None, 6 0 batch_normalization_569[0][0]
__________________________________________________________________________________________________
activation_571 (Activation) (None, None, None, 6 0 batch_normalization_571[0][0]
__________________________________________________________________________________________________
activation_574 (Activation) (None, None, None, 9 0 batch_normalization_574[0][0]
__________________________________________________________________________________________________
activation_575 (Activation) (None, None, None, 3 0 batch_normalization_575[0][0]
__________________________________________________________________________________________________
mixed0 (Concatenate) (None, None, None, 2 0 activation_569[0][0] activation_571[0][0] activation_574[0][0] activation_575[0][0]
__________________________________________________________________________________________________
conv2d_579 (Conv2D) (None, None, None, 6 16384 mixed0[0][0]
__________________________________________________________________________________________________
batch_normalization_579 (BatchN (None, None, None, 6 192 conv2d_579[0][0]
__________________________________________________________________________________________________
activation_579 (Activation) (None, None, None, 6 0 batch_normalization_579[0][0]
__________________________________________________________________________________________________
conv2d_577 (Conv2D) (None, None, None, 4 12288 mixed0[0][0]
__________________________________________________________________________________________________
conv2d_580 (Conv2D) (None, None, None, 9 55296 activation_579[0][0]
__________________________________________________________________________________________________
batch_normalization_577 (BatchN (None, None, None, 4 144 conv2d_577[0][0]
__________________________________________________________________________________________________
batch_normalization_580 (BatchN (None, None, None, 9 288 conv2d_580[0][0]
__________________________________________________________________________________________________
activation_577 (Activation) (None, None, None, 4 0 batch_normalization_577[0][0]
__________________________________________________________________________________________________
activation_580 (Activation) (None, None, None, 9 0 batch_normalization_580[0][0]
__________________________________________________________________________________________________
average_pooling2d_55 (AveragePo (None, None, None, 2 0 mixed0[0][0]
__________________________________________________________________________________________________
conv2d_576 (Conv2D) (None, None, None, 6 16384 mixed0[0][0]
__________________________________________________________________________________________________
conv2d_578 (Conv2D) (None, None, None, 6 76800 activation_577[0][0]
__________________________________________________________________________________________________
conv2d_581 (Conv2D) (None, None, None, 9 82944 activation_580[0][0]
__________________________________________________________________________________________________
conv2d_582 (Conv2D) (None, None, None, 6 16384 average_pooling2d_55[0][0]
__________________________________________________________________________________________________
batch_normalization_576 (BatchN (None, None, None, 6 192 conv2d_576[0][0]
__________________________________________________________________________________________________
batch_normalization_578 (BatchN (None, None, None, 6 192 conv2d_578[0][0]
__________________________________________________________________________________________________
batch_normalization_581 (BatchN (None, None, None, 9 288 conv2d_581[0][0]
__________________________________________________________________________________________________
batch_normalization_582 (BatchN (None, None, None, 6 192 conv2d_582[0][0]
__________________________________________________________________________________________________
activation_576 (Activation) (None, None, None, 6 0 batch_normalization_576[0][0]
__________________________________________________________________________________________________
activation_578 (Activation) (None, None, None, 6 0 batch_normalization_578[0][0]
__________________________________________________________________________________________________
activation_581 (Activation) (None, None, None, 9 0 batch_normalization_581[0][0]
__________________________________________________________________________________________________
activation_582 (Activation) (None, None, None, 6 0 batch_normalization_582[0][0]
__________________________________________________________________________________________________
mixed1 (Concatenate) (None, None, None, 2 0 activation_576[0][0] activation_578[0][0] activation_581[0][0] activation_582[0][0]
__________________________________________________________________________________________________
conv2d_586 (Conv2D) (None, None, None, 6 18432 mixed1[0][0]
__________________________________________________________________________________________________
batch_normalization_586 (BatchN (None, None, None, 6 192 conv2d_586[0][0]
__________________________________________________________________________________________________
activation_586 (Activation) (None, None, None, 6 0 batch_normalization_586[0][0]
__________________________________________________________________________________________________
conv2d_584 (Conv2D) (None, None, None, 4 13824 mixed1[0][0]
__________________________________________________________________________________________________
conv2d_587 (Conv2D) (None, None, None, 9 55296 activation_586[0][0]
__________________________________________________________________________________________________
batch_normalization_584 (BatchN (None, None, None, 4 144 conv2d_584[0][0]
__________________________________________________________________________________________________
batch_normalization_587 (BatchN (None, None, None, 9 288 conv2d_587[0][0]
__________________________________________________________________________________________________
activation_584 (Activation) (None, None, None, 4 0 batch_normalization_584[0][0]
__________________________________________________________________________________________________
activation_587 (Activation) (None, None, None, 9 0 batch_normalization_587[0][0]
__________________________________________________________________________________________________
average_pooling2d_56 (AveragePo (None, None, None, 2 0 mixed1[0][0]
__________________________________________________________________________________________________
conv2d_583 (Conv2D) (None, None, None, 6 18432 mixed1[0][0]
__________________________________________________________________________________________________
conv2d_585 (Conv2D) (None, None, None, 6 76800 activation_584[0][0]
__________________________________________________________________________________________________
conv2d_588 (Conv2D) (None, None, None, 9 82944 activation_587[0][0]
__________________________________________________________________________________________________
conv2d_589 (Conv2D) (None, None, None, 6 18432 average_pooling2d_56[0][0]
__________________________________________________________________________________________________
batch_normalization_583 (BatchN (None, None, None, 6 192 conv2d_583[0][0]
__________________________________________________________________________________________________
batch_normalization_585 (BatchN (None, None, None, 6 192 conv2d_585[0][0]
__________________________________________________________________________________________________
batch_normalization_588 (BatchN (None, None, None, 9 288 conv2d_588[0][0]
__________________________________________________________________________________________________
batch_normalization_589 (BatchN (None, None, None, 6 192 conv2d_589[0][0]
__________________________________________________________________________________________________
activation_583 (Activation) (None, None, None, 6 0 batch_normalization_583[0][0]
__________________________________________________________________________________________________
activation_585 (Activation) (None, None, None, 6 0 batch_normalization_585[0][0]
__________________________________________________________________________________________________
activation_588 (Activation) (None, None, None, 9 0 batch_normalization_588[0][0]
__________________________________________________________________________________________________
activation_589 (Activation) (None, None, None, 6 0 batch_normalization_589[0][0]
__________________________________________________________________________________________________
mixed2 (Concatenate) (None, None, None, 2 0 activation_583[0][0] activation_585[0][0] activation_588[0][0] activation_589[0][0]
__________________________________________________________________________________________________
conv2d_591 (Conv2D) (None, None, None, 6 18432 mixed2[0][0]
__________________________________________________________________________________________________
batch_normalization_591 (BatchN (None, None, None, 6 192 conv2d_591[0][0]
__________________________________________________________________________________________________
activation_591 (Activation) (None, None, None, 6 0 batch_normalization_591[0][0]
__________________________________________________________________________________________________
conv2d_592 (Conv2D) (None, None, None, 9 55296 activation_591[0][0]
__________________________________________________________________________________________________
batch_normalization_592 (BatchN (None, None, None, 9 288 conv2d_592[0][0]
__________________________________________________________________________________________________
activation_592 (Activation) (None, None, None, 9 0 batch_normalization_592[0][0]
__________________________________________________________________________________________________
conv2d_590 (Conv2D) (None, None, None, 3 995328 mixed2[0][0]
__________________________________________________________________________________________________
conv2d_593 (Conv2D) (None, None, None, 9 82944 activation_592[0][0]
__________________________________________________________________________________________________
batch_normalization_590 (BatchN (None, None, None, 3 1152 conv2d_590[0][0]
__________________________________________________________________________________________________
batch_normalization_593 (BatchN (None, None, None, 9 288 conv2d_593[0][0]
__________________________________________________________________________________________________
activation_590 (Activation) (None, None, None, 3 0 batch_normalization_590[0][0]
__________________________________________________________________________________________________
activation_593 (Activation) (None, None, None, 9 0 batch_normalization_593[0][0]
__________________________________________________________________________________________________
max_pooling2d_26 (MaxPooling2D) (None, None, None, 2 0 mixed2[0][0]
__________________________________________________________________________________________________
mixed3 (Concatenate) (None, None, None, 7 0 activation_590[0][0] activation_593[0][0] max_pooling2d_26[0][0]
__________________________________________________________________________________________________
conv2d_598 (Conv2D) (None, None, None, 1 98304 mixed3[0][0]
__________________________________________________________________________________________________
batch_normalization_598 (BatchN (None, None, None, 1 384 conv2d_598[0][0]
__________________________________________________________________________________________________
activation_598 (Activation) (None, None, None, 1 0 batch_normalization_598[0][0]
__________________________________________________________________________________________________
conv2d_599 (Conv2D) (None, None, None, 1 114688 activation_598[0][0]
__________________________________________________________________________________________________
batch_normalization_599 (BatchN (None, None, None, 1 384 conv2d_599[0][0]
__________________________________________________________________________________________________
activation_599 (Activation) (None, None, None, 1 0 batch_normalization_599[0][0]
__________________________________________________________________________________________________
conv2d_595 (Conv2D) (None, None, None, 1 98304 mixed3[0][0]
__________________________________________________________________________________________________
conv2d_600 (Conv2D) (None, None, None, 1 114688 activation_599[0][0]
__________________________________________________________________________________________________
batch_normalization_595 (BatchN (None, None, None, 1 384 conv2d_595[0][0]
__________________________________________________________________________________________________
batch_normalization_600 (BatchN (None, None, None, 1 384 conv2d_600[0][0]
__________________________________________________________________________________________________
activation_595 (Activation) (None, None, None, 1 0 batch_normalization_595[0][0]
__________________________________________________________________________________________________
activation_600 (Activation) (None, None, None, 1 0 batch_normalization_600[0][0]
__________________________________________________________________________________________________
conv2d_596 (Conv2D) (None, None, None, 1 114688 activation_595[0][0]
__________________________________________________________________________________________________
conv2d_601 (Conv2D) (None, None, None, 1 114688 activation_600[0][0]
__________________________________________________________________________________________________
batch_normalization_596 (BatchN (None, None, None, 1 384 conv2d_596[0][0]
__________________________________________________________________________________________________
batch_normalization_601 (BatchN (None, None, None, 1 384 conv2d_601[0][0]
__________________________________________________________________________________________________
activation_596 (Activation) (None, None, None, 1 0 batch_normalization_596[0][0]
__________________________________________________________________________________________________
activation_601 (Activation) (None, None, None, 1 0 batch_normalization_601[0][0]
__________________________________________________________________________________________________
average_pooling2d_57 (AveragePo (None, None, None, 7 0 mixed3[0][0]
__________________________________________________________________________________________________
conv2d_594 (Conv2D) (None, None, None, 1 147456 mixed3[0][0]
__________________________________________________________________________________________________
conv2d_597 (Conv2D) (None, None, None, 1 172032 activation_596[0][0]
__________________________________________________________________________________________________
conv2d_602 (Conv2D) (None, None, None, 1 172032 activation_601[0][0]
__________________________________________________________________________________________________
conv2d_603 (Conv2D) (None, None, None, 1 147456 average_pooling2d_57[0][0]
__________________________________________________________________________________________________
batch_normalization_594 (BatchN (None, None, None, 1 576 conv2d_594[0][0]
__________________________________________________________________________________________________
batch_normalization_597 (BatchN (None, None, None, 1 576 conv2d_597[0][0]
__________________________________________________________________________________________________
batch_normalization_602 (BatchN (None, None, None, 1 576 conv2d_602[0][0]
__________________________________________________________________________________________________
batch_normalization_603 (BatchN (None, None, None, 1 576 conv2d_603[0][0]
__________________________________________________________________________________________________
activation_594 (Activation) (None, None, None, 1 0 batch_normalization_594[0][0]
__________________________________________________________________________________________________
activation_597 (Activation) (None, None, None, 1 0 batch_normalization_597[0][0]
__________________________________________________________________________________________________
activation_602 (Activation) (None, None, None, 1 0 batch_normalization_602[0][0]
__________________________________________________________________________________________________
activation_603 (Activation) (None, None, None, 1 0 batch_normalization_603[0][0]
__________________________________________________________________________________________________
mixed4 (Concatenate) (None, None, None, 7 0 activation_594[0][0] activation_597[0][0] activation_602[0][0] activation_603[0][0]
__________________________________________________________________________________________________
conv2d_608 (Conv2D) (None, None, None, 1 122880 mixed4[0][0]
__________________________________________________________________________________________________
batch_normalization_608 (BatchN (None, None, None, 1 480 conv2d_608[0][0]
__________________________________________________________________________________________________
activation_608 (Activation) (None, None, None, 1 0 batch_normalization_608[0][0]
__________________________________________________________________________________________________
conv2d_609 (Conv2D) (None, None, None, 1 179200 activation_608[0][0]
__________________________________________________________________________________________________
batch_normalization_609 (BatchN (None, None, None, 1 480 conv2d_609[0][0]
__________________________________________________________________________________________________
activation_609 (Activation) (None, None, None, 1 0 batch_normalization_609[0][0]
__________________________________________________________________________________________________
conv2d_605 (Conv2D) (None, None, None, 1 122880 mixed4[0][0]
__________________________________________________________________________________________________
conv2d_610 (Conv2D) (None, None, None, 1 179200 activation_609[0][0]
__________________________________________________________________________________________________
batch_normalization_605 (BatchN (None, None, None, 1 480 conv2d_605[0][0]
__________________________________________________________________________________________________
batch_normalization_610 (BatchN (None, None, None, 1 480 conv2d_610[0][0]
__________________________________________________________________________________________________
activation_605 (Activation) (None, None, None, 1 0 batch_normalization_605[0][0]
__________________________________________________________________________________________________
activation_610 (Activation) (None, None, None, 1 0 batch_normalization_610[0][0]
__________________________________________________________________________________________________
conv2d_606 (Conv2D) (None, None, None, 1 179200 activation_605[0][0]
__________________________________________________________________________________________________
conv2d_611 (Conv2D) (None, None, None, 1 179200 activation_610[0][0]
__________________________________________________________________________________________________
batch_normalization_606 (BatchN (None, None, None, 1 480 conv2d_606[0][0]
__________________________________________________________________________________________________
batch_normalization_611 (BatchN (None, None, None, 1 480 conv2d_611[0][0]
__________________________________________________________________________________________________
activation_606 (Activation) (None, None, None, 1 0 batch_normalization_606[0][0]
__________________________________________________________________________________________________
activation_611 (Activation) (None, None, None, 1 0 batch_normalization_611[0][0]
__________________________________________________________________________________________________
average_pooling2d_58 (AveragePo (None, None, None, 7 0 mixed4[0][0]
__________________________________________________________________________________________________
conv2d_604 (Conv2D) (None, None, None, 1 147456 mixed4[0][0]
__________________________________________________________________________________________________
conv2d_607 (Conv2D) (None, None, None, 1 215040 activation_606[0][0]
__________________________________________________________________________________________________
conv2d_612 (Conv2D) (None, None, None, 1 215040 activation_611[0][0]
__________________________________________________________________________________________________
conv2d_613 (Conv2D) (None, None, None, 1 147456 average_pooling2d_58[0][0]
__________________________________________________________________________________________________
batch_normalization_604 (BatchN (None, None, None, 1 576 conv2d_604[0][0]
__________________________________________________________________________________________________
batch_normalization_607 (BatchN (None, None, None, 1 576 conv2d_607[0][0]
__________________________________________________________________________________________________
batch_normalization_612 (BatchN (None, None, None, 1 576 conv2d_612[0][0]
__________________________________________________________________________________________________
batch_normalization_613 (BatchN (None, None, None, 1 576 conv2d_613[0][0]
__________________________________________________________________________________________________
activation_604 (Activation) (None, None, None, 1 0 batch_normalization_604[0][0]
__________________________________________________________________________________________________
activation_607 (Activation) (None, None, None, 1 0 batch_normalization_607[0][0]
__________________________________________________________________________________________________
activation_612 (Activation) (None, None, None, 1 0 batch_normalization_612[0][0]
__________________________________________________________________________________________________
activation_613 (Activation) (None, None, None, 1 0 batch_normalization_613[0][0]
__________________________________________________________________________________________________
mixed5 (Concatenate) (None, None, None, 7 0 activation_604[0][0] activation_607[0][0] activation_612[0][0] activation_613[0][0]
__________________________________________________________________________________________________
conv2d_618 (Conv2D) (None, None, None, 1 122880 mixed5[0][0]
__________________________________________________________________________________________________
batch_normalization_618 (BatchN (None, None, None, 1 480 conv2d_618[0][0]
__________________________________________________________________________________________________
activation_618 (Activation) (None, None, None, 1 0 batch_normalization_618[0][0]
__________________________________________________________________________________________________
conv2d_619 (Conv2D) (None, None, None, 1 179200 activation_618[0][0]
__________________________________________________________________________________________________
batch_normalization_619 (BatchN (None, None, None, 1 480 conv2d_619[0][0]
__________________________________________________________________________________________________
activation_619 (Activation) (None, None, None, 1 0 batch_normalization_619[0][0]
__________________________________________________________________________________________________
conv2d_615 (Conv2D) (None, None, None, 1 122880 mixed5[0][0]
__________________________________________________________________________________________________
conv2d_620 (Conv2D) (None, None, None, 1 179200 activation_619[0][0]
__________________________________________________________________________________________________
batch_normalization_615 (BatchN (None, None, None, 1 480 conv2d_615[0][0]
__________________________________________________________________________________________________
batch_normalization_620 (BatchN (None, None, None, 1 480 conv2d_620[0][0]
__________________________________________________________________________________________________
activation_615 (Activation) (None, None, None, 1 0 batch_normalization_615[0][0]
__________________________________________________________________________________________________
activation_620 (Activation) (None, None, None, 1 0 batch_normalization_620[0][0]
__________________________________________________________________________________________________
conv2d_616 (Conv2D) (None, None, None, 1 179200 activation_615[0][0]
__________________________________________________________________________________________________
conv2d_621 (Conv2D) (None, None, None, 1 179200 activation_620[0][0]
__________________________________________________________________________________________________
batch_normalization_616 (BatchN (None, None, None, 1 480 conv2d_616[0][0]
__________________________________________________________________________________________________
batch_normalization_621 (BatchN (None, None, None, 1 480 conv2d_621[0][0]
__________________________________________________________________________________________________
activation_616 (Activation) (None, None, None, 1 0 batch_normalization_616[0][0]
__________________________________________________________________________________________________
activation_621 (Activation) (None, None, None, 1 0 batch_normalization_621[0][0]
__________________________________________________________________________________________________
average_pooling2d_59 (AveragePo (None, None, None, 7 0 mixed5[0][0]
__________________________________________________________________________________________________
conv2d_614 (Conv2D) (None, None, None, 1 147456 mixed5[0][0]
__________________________________________________________________________________________________
conv2d_617 (Conv2D) (None, None, None, 1 215040 activation_616[0][0]
__________________________________________________________________________________________________
conv2d_622 (Conv2D) (None, None, None, 1 215040 activation_621[0][0]
__________________________________________________________________________________________________
conv2d_623 (Conv2D) (None, None, None, 1 147456 average_pooling2d_59[0][0]
__________________________________________________________________________________________________
batch_normalization_614 (BatchN (None, None, None, 1 576 conv2d_614[0][0]
__________________________________________________________________________________________________
batch_normalization_617 (BatchN (None, None, None, 1 576 conv2d_617[0][0]
__________________________________________________________________________________________________
batch_normalization_622 (BatchN (None, None, None, 1 576 conv2d_622[0][0]
__________________________________________________________________________________________________
batch_normalization_623 (BatchN (None, None, None, 1 576 conv2d_623[0][0]
__________________________________________________________________________________________________
activation_614 (Activation) (None, None, None, 1 0 batch_normalization_614[0][0]
__________________________________________________________________________________________________
activation_617 (Activation) (None, None, None, 1 0 batch_normalization_617[0][0]
__________________________________________________________________________________________________
activation_622 (Activation) (None, None, None, 1 0 batch_normalization_622[0][0]
__________________________________________________________________________________________________
activation_623 (Activation) (None, None, None, 1 0 batch_normalization_623[0][0]
__________________________________________________________________________________________________
mixed6 (Concatenate) (None, None, None, 7 0 activation_614[0][0] activation_617[0][0] activation_622[0][0] activation_623[0][0]
__________________________________________________________________________________________________
conv2d_628 (Conv2D) (None, None, None, 1 147456 mixed6[0][0]
__________________________________________________________________________________________________
batch_normalization_628 (BatchN (None, None, None, 1 576 conv2d_628[0][0]
__________________________________________________________________________________________________
activation_628 (Activation) (None, None, None, 1 0 batch_normalization_628[0][0]
__________________________________________________________________________________________________
conv2d_629 (Conv2D) (None, None, None, 1 258048 activation_628[0][0]
__________________________________________________________________________________________________
batch_normalization_629 (BatchN (None, None, None, 1 576 conv2d_629[0][0]
__________________________________________________________________________________________________
activation_629 (Activation) (None, None, None, 1 0 batch_normalization_629[0][0]
__________________________________________________________________________________________________
conv2d_625 (Conv2D) (None, None, None, 1 147456 mixed6[0][0]
__________________________________________________________________________________________________
conv2d_630 (Conv2D) (None, None, None, 1 258048 activation_629[0][0]
__________________________________________________________________________________________________
batch_normalization_625 (BatchN (None, None, None, 1 576 conv2d_625[0][0]
__________________________________________________________________________________________________
batch_normalization_630 (BatchN (None, None, None, 1 576 conv2d_630[0][0]
__________________________________________________________________________________________________
activation_625 (Activation) (None, None, None, 1 0 batch_normalization_625[0][0]
__________________________________________________________________________________________________
activation_630 (Activation) (None, None, None, 1 0 batch_normalization_630[0][0]
__________________________________________________________________________________________________
conv2d_626 (Conv2D) (None, None, None, 1 258048 activation_625[0][0]
__________________________________________________________________________________________________
conv2d_631 (Conv2D) (None, None, None, 1 258048 activation_630[0][0]
__________________________________________________________________________________________________
batch_normalization_626 (BatchN (None, None, None, 1 576 conv2d_626[0][0]
__________________________________________________________________________________________________
batch_normalization_631 (BatchN (None, None, None, 1 576 conv2d_631[0][0]
__________________________________________________________________________________________________
activation_626 (Activation) (None, None, None, 1 0 batch_normalization_626[0][0]
__________________________________________________________________________________________________
activation_631 (Activation) (None, None, None, 1 0 batch_normalization_631[0][0]
__________________________________________________________________________________________________
average_pooling2d_60 (AveragePo (None, None, None, 7 0 mixed6[0][0]
__________________________________________________________________________________________________
conv2d_624 (Conv2D) (None, None, None, 1 147456 mixed6[0][0]
__________________________________________________________________________________________________
conv2d_627 (Conv2D) (None, None, None, 1 258048 activation_626[0][0]
__________________________________________________________________________________________________
conv2d_632 (Conv2D) (None, None, None, 1 258048 activation_631[0][0]
__________________________________________________________________________________________________
conv2d_633 (Conv2D) (None, None, None, 1 147456 average_pooling2d_60[0][0]
__________________________________________________________________________________________________
batch_normalization_624 (BatchN (None, None, None, 1 576 conv2d_624[0][0]
__________________________________________________________________________________________________
batch_normalization_627 (BatchN (None, None, None, 1 576 conv2d_627[0][0]
__________________________________________________________________________________________________
batch_normalization_632 (BatchN (None, None, None, 1 576 conv2d_632[0][0]
__________________________________________________________________________________________________
batch_normalization_633 (BatchN (None, None, None, 1 576 conv2d_633[0][0]
__________________________________________________________________________________________________
activation_624 (Activation) (None, None, None, 1 0 batch_normalization_624[0][0]
__________________________________________________________________________________________________
activation_627 (Activation) (None, None, None, 1 0 batch_normalization_627[0][0]
__________________________________________________________________________________________________
activation_632 (Activation) (None, None, None, 1 0 batch_normalization_632[0][0]
__________________________________________________________________________________________________
activation_633 (Activation) (None, None, None, 1 0 batch_normalization_633[0][0]
__________________________________________________________________________________________________
mixed7 (Concatenate) (None, None, None, 7 0 activation_624[0][0] activation_627[0][0] activation_632[0][0] activation_633[0][0]
__________________________________________________________________________________________________
conv2d_636 (Conv2D) (None, None, None, 1 147456 mixed7[0][0]
__________________________________________________________________________________________________
batch_normalization_636 (BatchN (None, None, None, 1 576 conv2d_636[0][0]
__________________________________________________________________________________________________
activation_636 (Activation) (None, None, None, 1 0 batch_normalization_636[0][0]
__________________________________________________________________________________________________
conv2d_637 (Conv2D) (None, None, None, 1 258048 activation_636[0][0]
__________________________________________________________________________________________________
batch_normalization_637 (BatchN (None, None, None, 1 576 conv2d_637[0][0]
__________________________________________________________________________________________________
activation_637 (Activation) (None, None, None, 1 0 batch_normalization_637[0][0]
__________________________________________________________________________________________________
conv2d_634 (Conv2D) (None, None, None, 1 147456 mixed7[0][0]
__________________________________________________________________________________________________
conv2d_638 (Conv2D) (None, None, None, 1 258048 activation_637[0][0]
__________________________________________________________________________________________________
batch_normalization_634 (BatchN (None, None, None, 1 576 conv2d_634[0][0]
__________________________________________________________________________________________________
batch_normalization_638 (BatchN (None, None, None, 1 576 conv2d_638[0][0]
__________________________________________________________________________________________________
activation_634 (Activation) (None, None, None, 1 0 batch_normalization_634[0][0]
__________________________________________________________________________________________________
activation_638 (Activation) (None, None, None, 1 0 batch_normalization_638[0][0]
__________________________________________________________________________________________________
conv2d_635 (Conv2D) (None, None, None, 3 552960 activation_634[0][0]
__________________________________________________________________________________________________
conv2d_639 (Conv2D) (None, None, None, 1 331776 activation_638[0][0]
__________________________________________________________________________________________________
batch_normalization_635 (BatchN (None, None, None, 3 960 conv2d_635[0][0]
__________________________________________________________________________________________________
batch_normalization_639 (BatchN (None, None, None, 1 576 conv2d_639[0][0]
__________________________________________________________________________________________________
activation_635 (Activation) (None, None, None, 3 0 batch_normalization_635[0][0]
__________________________________________________________________________________________________
activation_639 (Activation) (None, None, None, 1 0 batch_normalization_639[0][0]
__________________________________________________________________________________________________
max_pooling2d_27 (MaxPooling2D) (None, None, None, 7 0 mixed7[0][0]
__________________________________________________________________________________________________
mixed8 (Concatenate) (None, None, None, 1 0 activation_635[0][0] activation_639[0][0] max_pooling2d_27[0][0]
__________________________________________________________________________________________________
conv2d_644 (Conv2D) (None, None, None, 4 573440 mixed8[0][0]
__________________________________________________________________________________________________
batch_normalization_644 (BatchN (None, None, None, 4 1344 conv2d_644[0][0]
__________________________________________________________________________________________________
activation_644 (Activation) (None, None, None, 4 0 batch_normalization_644[0][0]
__________________________________________________________________________________________________
conv2d_641 (Conv2D) (None, None, None, 3 491520 mixed8[0][0]
__________________________________________________________________________________________________
conv2d_645 (Conv2D) (None, None, None, 3 1548288 activation_644[0][0]
__________________________________________________________________________________________________
batch_normalization_641 (BatchN (None, None, None, 3 1152 conv2d_641[0][0]
__________________________________________________________________________________________________
batch_normalization_645 (BatchN (None, None, None, 3 1152 conv2d_645[0][0]
__________________________________________________________________________________________________
activation_641 (Activation) (None, None, None, 3 0 batch_normalization_641[0][0]
__________________________________________________________________________________________________
activation_645 (Activation) (None, None, None, 3 0 batch_normalization_645[0][0]
__________________________________________________________________________________________________
conv2d_642 (Conv2D) (None, None, None, 3 442368 activation_641[0][0]
__________________________________________________________________________________________________
conv2d_643 (Conv2D) (None, None, None, 3 442368 activation_641[0][0]
__________________________________________________________________________________________________
conv2d_646 (Conv2D) (None, None, None, 3 442368 activation_645[0][0]
__________________________________________________________________________________________________
conv2d_647 (Conv2D) (None, None, None, 3 442368 activation_645[0][0]
__________________________________________________________________________________________________
average_pooling2d_61 (AveragePo (None, None, None, 1 0 mixed8[0][0]
__________________________________________________________________________________________________
conv2d_640 (Conv2D) (None, None, None, 3 409600 mixed8[0][0]
__________________________________________________________________________________________________
batch_normalization_642 (BatchN (None, None, None, 3 1152 conv2d_642[0][0]
__________________________________________________________________________________________________
batch_normalization_643 (BatchN (None, None, None, 3 1152 conv2d_643[0][0]
__________________________________________________________________________________________________
batch_normalization_646 (BatchN (None, None, None, 3 1152 conv2d_646[0][0]
__________________________________________________________________________________________________
batch_normalization_647 (BatchN (None, None, None, 3 1152 conv2d_647[0][0]
__________________________________________________________________________________________________
conv2d_648 (Conv2D) (None, None, None, 1 245760 average_pooling2d_61[0][0]
__________________________________________________________________________________________________
batch_normalization_640 (BatchN (None, None, None, 3 960 conv2d_640[0][0]
__________________________________________________________________________________________________
activation_642 (Activation) (None, None, None, 3 0 batch_normalization_642[0][0]
__________________________________________________________________________________________________
activation_643 (Activation) (None, None, None, 3 0 batch_normalization_643[0][0]
__________________________________________________________________________________________________
activation_646 (Activation) (None, None, None, 3 0 batch_normalization_646[0][0]
__________________________________________________________________________________________________
activation_647 (Activation) (None, None, None, 3 0 batch_normalization_647[0][0]
__________________________________________________________________________________________________
batch_normalization_648 (BatchN (None, None, None, 1 576 conv2d_648[0][0]
__________________________________________________________________________________________________
activation_640 (Activation) (None, None, None, 3 0 batch_normalization_640[0][0]
__________________________________________________________________________________________________
mixed9_0 (Concatenate) (None, None, None, 7 0 activation_642[0][0] activation_643[0][0]
__________________________________________________________________________________________________
concatenate_12 (Concatenate) (None, None, None, 7 0 activation_646[0][0] activation_647[0][0]
__________________________________________________________________________________________________
activation_648 (Activation) (None, None, None, 1 0 batch_normalization_648[0][0]
__________________________________________________________________________________________________
mixed9 (Concatenate) (None, None, None, 2 0 activation_640[0][0] mixed9_0[0][0] concatenate_12[0][0] activation_648[0][0]
__________________________________________________________________________________________________
conv2d_653 (Conv2D) (None, None, None, 4 917504 mixed9[0][0]
__________________________________________________________________________________________________
batch_normalization_653 (BatchN (None, None, None, 4 1344 conv2d_653[0][0]
__________________________________________________________________________________________________
activation_653 (Activation) (None, None, None, 4 0 batch_normalization_653[0][0]
__________________________________________________________________________________________________
conv2d_650 (Conv2D) (None, None, None, 3 786432 mixed9[0][0]
__________________________________________________________________________________________________
conv2d_654 (Conv2D) (None, None, None, 3 1548288 activation_653[0][0]
__________________________________________________________________________________________________
batch_normalization_650 (BatchN (None, None, None, 3 1152 conv2d_650[0][0]
__________________________________________________________________________________________________
batch_normalization_654 (BatchN (None, None, None, 3 1152 conv2d_654[0][0]
__________________________________________________________________________________________________
activation_650 (Activation) (None, None, None, 3 0 batch_normalization_650[0][0]
__________________________________________________________________________________________________
activation_654 (Activation) (None, None, None, 3 0 batch_normalization_654[0][0]
__________________________________________________________________________________________________
average_pooling2d_62 (AveragePo (None, None, None, 2 0 mixed9[0][0]
__________________________________________________________________________________________________
conv2d_651 (Conv2D) (None, None, None, 3 442368 activation_650[0][0]
__________________________________________________________________________________________________
conv2d_652 (Conv2D) (None, None, None, 3 442368 activation_650[0][0]
__________________________________________________________________________________________________
conv2d_655 (Conv2D) (None, None, None, 3 442368 activation_654[0][0]
__________________________________________________________________________________________________
conv2d_656 (Conv2D) (None, None, None, 3 442368 activation_654[0][0]
__________________________________________________________________________________________________
conv2d_657 (Conv2D) (None, None, None, 1 393216 average_pooling2d_62[0][0]
__________________________________________________________________________________________________
conv2d_649 (Conv2D) (None, None, None, 3 655360 mixed9[0][0]
__________________________________________________________________________________________________
batch_normalization_651 (BatchN (None, None, None, 3 1152 conv2d_651[0][0]
__________________________________________________________________________________________________
batch_normalization_652 (BatchN (None, None, None, 3 1152 conv2d_652[0][0]
__________________________________________________________________________________________________
batch_normalization_655 (BatchN (None, None, None, 3 1152 conv2d_655[0][0]
__________________________________________________________________________________________________
batch_normalization_656 (BatchN (None, None, None, 3 1152 conv2d_656[0][0]
__________________________________________________________________________________________________
batch_normalization_657 (BatchN (None, None, None, 1 576 conv2d_657[0][0]
__________________________________________________________________________________________________
batch_normalization_649 (BatchN (None, None, None, 3 960 conv2d_649[0][0]
__________________________________________________________________________________________________
activation_651 (Activation) (None, None, None, 3 0 batch_normalization_651[0][0]
__________________________________________________________________________________________________
activation_652 (Activation) (None, None, None, 3 0 batch_normalization_652[0][0]
__________________________________________________________________________________________________
activation_655 (Activation) (None, None, None, 3 0 batch_normalization_655[0][0]
__________________________________________________________________________________________________
activation_656 (Activation) (None, None, None, 3 0 batch_normalization_656[0][0]
__________________________________________________________________________________________________
activation_657 (Activation) (None, None, None, 1 0 batch_normalization_657[0][0]
__________________________________________________________________________________________________
activation_649 (Activation) (None, None, None, 3 0 batch_normalization_649[0][0]
__________________________________________________________________________________________________
mixed9_1 (Concatenate) (None, None, None, 7 0 activation_651[0][0] activation_652[0][0]
__________________________________________________________________________________________________
concatenate_13 (Concatenate) (None, None, None, 7 0 activation_655[0][0] activation_656[0][0]
__________________________________________________________________________________________________
mixed10 (Concatenate) (None, None, None, 2 0 activation_649[0][0] mixed9_1[0][0] concatenate_13[0][0] activation_657[0][0]
==================================================================================================
Total params: 21,802,784
Trainable params: 21,768,352
Non-trainable params: 34,432
__________________________________________________________________________________________________
补充:防止过拟合,和本项目无关,上课记录
- 数据集充分
- 验证集
- dropout层
- 降采样(池化)
三、训练
1.计算损失
# 损失是选中层的通道输出
def loss(img,model):# channel = 16 # 选定第16通道,这个数不能大于48,上面的所截取的层的通道数channels = [16,24] # 对图像进行变形,由(300,300,3)扩展为(1,300,300,3)符合InceptionV3网络的输入特点img = tf.expand_dims(img,axis=0)# print(f'img.shape{img.shape}')res = model(img)# print(f'res.shape{res.shape}')# 取选中通道的值# act_res = res[:,:,:,channel]losses = []# for c in channels:# act = res[:,:,:,c]# loss = tf.reduce_mean(act)# losses.append(act)for re in res:loss_ = tf.reduce_mean(re)losses.append(loss_)# 选中通道的输出结果求均值# loss = tf.reduce_mean(act_res)# return lossreturn tf.reduce_sum(losses)
2.定义图像优化过程(梯度上升)
# 计算梯度
def grad(img,model):with tf.GradientTape() as tape:tape.watch(img)loss_ = loss(img,model)return tape.gradient(loss_,img),loss_
def deep_dream(model,img,epochs=100,step_size=0.01,verbose=1):'''model:模型img:输入的图像numpy数组epochs:训练的轮数step_size:类似于学习率verbose:显示过程信息,这里是自定义的'''for step in range(epochs):# 计算图像的梯度grads,loss_ = grad(img,model)# 归一化梯度值grads /= tf.math.reduce_std(grads) + 1e-8# 梯度上升img += grads*step_size# 功能:可以将一个张量中的数值限制在一个范围之内。(可以避免一些运算错误:可以保证在进行log运算时,不会出现log0这样的错误或者大于1的概率)img = tf.clip_by_value(img,-1,1) # 输出过程提示信息if (verbose==1):if((step+1)%10 ==1):print(f'Step{step+1}/{epochs},loss{loss_}')return img
四、应用
1.数据预处理
# 定义图像噪声 (输入)
img_noise = np.random.uniform(size=(300,300,3))+100.0
img_noise = img_noise.astype(np.float32)
show_image(normalize_image(img_noise))
# Inception_v3对输入的图像进行预处理,输出float32的array或者tensor,值域在-1-1之间
img = tf.keras.applications.inception_v3.preprocess_input(img_noise)
print(type(img))
img = tf.convert_to_tensor(img) # 将给定值转换为张量。
# img = tf.constant(img)
print(type(img))
<class 'numpy.ndarray'>
<class 'tensorflow.python.framework.ops.EagerTensor'>
2.应用模型
# 开始做梦
import time
start = time.time()
print('开始做梦…')# 调用优化过程
dream_img = deep_dream(dream_model,img)end = time.time()
print('梦醒了…')# 标准化图像
dream_img = normalize_image(dream_img)
# 显示结果图像
show_image(dream_img)
# 保存结果图像
file_name = f'deepdream_{layer_names}.jpg'
save_image(dream_img,file_name)
print(f'梦境保存为{file_name}')
开始做梦…
Step1/100,loss0.252236932516098
Step11/100,loss1.2656019926071167
Step21/100,loss1.9856173992156982
Step31/100,loss2.584019184112549
Step41/100,loss3.2143173217773438
Step51/100,loss3.638009548187256
Step61/100,loss4.511740684509277
Step71/100,loss4.6764373779296875
Step81/100,loss5.041273593902588
Step91/100,loss5.55682373046875
梦醒了…
梦境保存为deepdream_['activation_657', 'mixed10'].jpg
继续加油,努力到问心无愧即可
TensorFlow 从入门到精通(11)—— DeepDream(上)相关推荐
- Tensorflow系列 | Tensorflow从入门到精通(二):附代码实战
作者 | AI小昕 编辑 | 安可 [导读]:本文讲了Tensorflow从入门到精通.欢迎大家点击上方蓝字关注我们的公众号:深度学习与计算机视觉. Tensor介绍 Tensor(张量)是Tenso ...
- tensorflow从入门到精通100讲(七)-TensorFlow房价预估使用Keras快速构建模型
前言 这篇文章承接上一篇tensorflow从入门到精通100讲(二)-IRIS数据集应用实战 https://wenyusuran.blog.csdn.net/article/details/107 ...
- 3分钟入门python_3分钟学完Python,直接从入门到精通「史上最强干货库」
作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键 ...
- TensorFlow 从入门到精通(14)—— 初识循环神经网络
hello,大家好,我又回来了,如约,更新循环神经网络. 最近好像事情变少了,但是状态还是很差.新生班级要展示了,希望51班大哥们能拿个好名次.这篇博客,是用LSTM/RNN来对影评进行分析,这个网络 ...
- springtboot 引用子工程的文件_xmake从入门到精通11:如何组织构建大型工程
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验. 本文主要详细讲解下,如何通过配置子工程模块,来组织 ...
- TensorFlow 从入门到精通(5)—— 多层神经网络与应用
一.数据集 import tensorflow as tf tf.__version__ '2.6.0' # 导入数据集 mnist = tf.keras.datasets.mnist (train_ ...
- ElasticSearch从入门到精通,史上最全(持续更新,未完待续,每天一点点)
目录 1.ElasticSearch的简介 2.用数据库实现搜素的功能 3.ES的核心概念 3.1 NRT(Near Realtime)近实时 3.2 cluster集群,ES是一个分布式的系统 3. ...
- tensorflow从入门到精通100讲(三)-谈谈Estimator在Tensorflow中的应用
前言 正如Tensorflow的官网所示:TensorFlow 提供一个包含多个 API 层的编程堆栈其架构图如下.用户可以任意选择不同级别的API进行自己模型的构建.而本篇文章就最高级别的API-- ...
- tensorflow从入门到精通100讲(五)-知识图谱( Knowledge Graph)关系抽取之PCNN
前言 知识图谱( Knowledge Graph)以结构化的形式描述客观世界中概念.实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织.管理和理解互联网海量信息的能力.上 ...
最新文章
- 从清华退学,他赴美读博又两次退学!离开谷歌后,如今他怎样了?
- 文件系统和磁盘挂载、卸载
- mysql和mongodb对比互补
- 关于扫描仪——你不知道的秘密
- 《微服务:从设计到部署》中文版
- 4.2.1 OS之磁盘的结构(磁盘、磁道、扇区、盘面、柱面、磁头)
- mongodb之索引学习
- python爬虫库教程_Python爬虫Selenium库详细教程
- Kubernetes学习总结(17)—— Kubernetes 快速入门需要掌握的知识点总结
- android统计库,android jacoco 统计多模块
- Flink笔记--深度全面总结
- python读取图片转cvs_python将图片转换为csv
- Java并发编程之ThreadLocal详解
- 艾科思移动BI系统与钉钉集成
- PS常用案例步骤详解,自学 Photoshop 2022 Mac版,多个PS后期修图小案例笔记
- matlab命令行运行,命令行运行matlab
- Java学习笔记——判断一个数是否是质数
- 计算机粘贴复制知识,不能复制粘贴怎么办?Win7电脑不能复制粘贴是什么原因及解决方法...
- AlphaGo论文的译文,用深度神经网络和树搜索征服围棋:Mastering the game of Go with deep neural networks and tree search
- VIM 参考手册 For Vim version 7.3
热门文章
- 傅里叶变换回顾与总结
- ppt模板怎样用到html中,PPT如何使用在线模板制作精美页面
- Acrobat Reader
- Netty 学习之 Socket
- 基于RNN(循环神经网络)的北京雾霾天气指数的预测(keras实现RNN,LSTM神经网络算法)
- 给 nanopi m2 Android系统安装busybox
- drbd+keepalive+nfs
- 全面了解C++后端开发技能树,C++后端开发面试技术点丨C/C++linux服务器开发丨linux后台开发
- for 、foreach 、iterator 三种遍历方式的比较
- 基于微信小程序的线上图书馆图书借阅管理系统#毕业设计