网络介绍请参看:博文
keras搭建深度学习模型的若干方法:博文
直接上网络结构
迁移学习
依旧看看标准答案
import tensorflow as tf
from tensorflow import keras
base_model = keras.applications.MobileNet(weights='imagenet')
base_model.summary()
自编程序
Block
一个是标准的3x3卷积block,另一个就是Depthwise Separable block
import tensorflow as tf
from tensorflow import keras
import tensorflow.keras.backend as K
from tensorflow.keras import layers, models, Sequential, backend
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Dropout, BatchNormalization, Activation, GlobalAveragePooling2D
from tensorflow.keras.layers import Concatenate, Lambda, Input, ZeroPadding2D, AveragePooling2D, DepthwiseConv2D, Reshape
def depthwise_separable_block(x, nb_filter, stride=(1, 1), name=None):
x = DepthwiseConv2D((3,3), padding='same', strides=stride, depth_multiplier=1, use_bias=False, name=name+'_dpconv')(x)
x = BatchNormaliza