石家庄网站运营公司,网站如何做反链,做直播网站需要什么资质,横琴网站建设一、ResNet
1.导入包
import tensorflow as tf
from tensorflow.keras import layers, models, datasets, optimizersoptimizers是用于更新模型参数以最小化损失函数的算法
2.加载数据集、归一化、转为独热编码的内容一致
3.增加颜色通道
train_images train_images[...,…一、ResNet
1.导入包
import tensorflow as tf
from tensorflow.keras import layers, models, datasets, optimizersoptimizers是用于更新模型参数以最小化损失函数的算法
2.加载数据集、归一化、转为独热编码的内容一致
3.增加颜色通道
train_images train_images[..., tf.newaxis].astype(float32)
test_images test_images[..., tf.newaxis].astype(float32)在train_images和test_images最后一个维度增加一个新的维度 这两行代码还将图像数据转换为浮点数类型
4.定义一个用于图像预处理的模型
4.1创造模型
preprocessing models.Sequential([4.2添加一个卷积层该层有3个1x1的卷积核激活函数为relu并且指定了输入形状为28x28像素的单通道图像
layers.Conv2D(3, (1, 1), activationrelu, input_shape(28, 28, 1)),4.3 将图像尺寸增加到56x56 layers.UpSampling2D((2, 2)),
])5.应用预处理模型到训练和测试图像上
train_images preprocessing(train_images)
test_images preprocessing(test_images)6.加载ResNet50模型并冻结所有层
base_modeltf.keras.applications.ResNet50(weightsimagenet,include_topFalse,input_shape(56, 56, 3))ResNet50是一个预训练的卷积神经网络模型 参数1加载模型的权重 参数2是否包括模型顶部的全连接层设置False意味着不包括这些层由此可以得到模型的特征提取部分 参数3输入图像的尺寸 base_model.trainable False 使ResNet50模型的所有层都不可训练
7.创建模型
model models.Sequential([7.1放在模型的第一层添加到序列中用于提取图像特征
base_model,7.2在Keras中添加的一个全局平均池化层
layers.GlobalAveragePooling2D(),7.3在Keras中添加的一个全连接层使用softmax为激活函数 layers.Dense(10, activationsoftmax)
])8.编译模型
model.compile(optimizeroptimizers.Adam(),losscategorical_crossentropy,metrics[accuracy])和上一个博客的模型的内容一样此处省略 9.训练模型
model.fit(train_images, train_labels, epochs10, batch_size64, validation_data(test_images, test_labels))结果
10.保存文件
model.save(ResNet.h5)结果