TensorFlow2.0实现GoogLeNet模型

利用TensorFlow2.0实现了GoogLeNet模型,并在测试集上达到了98.36%的准确率。
摘要由CSDN通过智能技术生成
#GoogLeNet模型,参数为mnist数据集
#注意:非比赛数据集,此处仅为实现GoogLeNet模型
import tensorflow as tf
from tensorflow.keras.layers import Input,Dropout,Flatten,Conv2D,MaxPooling2D,Dense,\
    ZeroPadding2D,BatchNormalization,concatenate,AveragePooling2D
from tensorflow.keras.optimizers import RMSprop
from tensorflow.keras import regularizers

(X_train,Y_train),(X_test,Y_test) = tf.keras.datasets.mnist.load_data()
X_test1 = X_test
Y_test1 = Y_test
print(X_train.shape[0])

#1表示单色,在TensorFlow下,该通道默认channels_last即(28,28,1),在theano下默认为channels_first,即为(1,28,28)
X_train = X_train.reshape(X_train.shape[0],28,28,1).astype('float32')/255.0
X_test = X_test.reshape(X_test.shape[0],28,28,1).astype('float32')/255.0


Y_train = tf.keras.utils.to_categorical(Y_train, num_classes=10)
Y_test = tf.keras.utils.to_categorical(Y_test, num_classes=10)

#参数设置
Lrn2D_Norm = True
Weight_Decay = 0.0005
DROPOUT = 0.4
DATA_FORMAT = 'channels_last'

#定义conv2D_lrn2d()函数,方便搭建GoogLeNet时直接调用
def conv2D_lrn2d(x,filters,kernel_size,strides=(1,1),padding='same',
                 activation='relu',kernel_regularizer=None,bias_regularizer=None,
                 lrn2d_norm=Lrn2D_Norm,     #局部响应归一化
                 weight_decay=Weight_Decay  #权重衰减系数
                 ):
    #是否对权重和偏置施加正则化
    if weight_decay:
        kernel_regularizer = regularizers.l2(weight_decay)
        bias_regularizer = regularizers.l2(weight_decay)
    else:
        kernel_regularizer = None
        bias_regularizer = None
    #搭建卷积层,对输入数据x进行卷积
    x = Conv2D(filters=filters,kernel_size=kernel_size,
               strides=strides,padding=padding,
               activation=activation,
               kernel_regularizer=kernel_regular
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bgbgssh1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值