当前位置: 首页 > wzjs >正文

网站用图怎么做文件小质量高网站建设需要多少钱文档

网站用图怎么做文件小质量高,网站建设需要多少钱文档,滨州做网站建设的公司,山东滕州做网站技术电话三、VGGnet 1.VGG网络架构 VGG可以看成是加深版的AlexNet,整个网络由卷积层和全连接层叠加而成,和AlexNet不同的是,VGG中使用的都是小尺寸的卷积核(3 \times 3)。 VGGNet使用的全部都是3 \times 3的小卷积核和2 \times 2的池化核&…

三、VGGnet

1.VGG网络架构

VGG可以看成是加深版的AlexNet,整个网络由卷积层和全连接层叠加而成,和AlexNet不同的是,VGG中使用的都是小尺寸的卷积核(3 ×\times× 3)。

VGGNet使用的全部都是3 ×\times× 3的小卷积核和2 ×\times× 2的池化核,通过不断加深网络来提升性能。VGG可通过重复使用简单的基础块来构建深度模型

在tf.keras中实现VGG模型,首先来实现VGG块,它的组成规律是:连续使用多个相同的填充为1、卷积核大小为3 ×\times× 3的卷积层后接上一个步幅为2,窗口形状为2 ×\times× 2的最大池化层。卷积层保持输入高的宽不变,而池化层则对其减半。我们使用vgg_block函数来实现这个基础的VGG块,它可以指定卷积层的数量num_convs和每层的卷积核个数num_filters.

# 定义VGG网络中的卷积块:卷积层的个数,卷积层中卷积核的个数
def vgg_block(num_convs, num_filters):blk = tf.keras.models.Squential()for _ in range(num_convs):blk.add(tf.keras.layers.Conv2D(num_filters, kernel_size = 3, padding = 'same', activation = 'relu'))# 卷积块最后一个是最大池化,窗口大小为2*2,步长为2blk.add(tf.keras.layers.MaxPool2D(pool_size = 2, strides = 2))return blk

VGG16网络有五个卷积块,前2块使用两个卷积层,而后三块使用三个卷积层。第一块的输出通道是64,之后每次对输出通道数翻倍,直到变为512

# 定义5个卷积块,指明每个卷积层个数及相应的卷积核个数
conv_arch = ((2, 64), (2, 128), (3, 256), (3, 512), (3, 512))

这个网络使用了13个卷积层和3个全连接层,通过指定conv_arch得到模型架构后构建VGG16

def vgg(conv_arch):# 构建序列模型net = tf.keras.models.Squential()# 根据conv_arch生成卷积部分for (num_convs, num_filters) in conv_arch:net.add(vgg_block(num_convs, num_filters))# 卷积块序列后添加全连接层net.add(tf.keras.models.Squential([tf.keras.layers.Flatten(),tf.keras.layers.Dense(4096, activation = 'relu'),tf.keras.layers.Dropout(0.5),tf.keras.layers.Dense(4096, activation = 'relu'),tf.keras.layers.Dropout(0.5),tf.keras.layers.Dense(10, activation = 'Softmax')]))return net# 网络实例化
net = vgg(conv_arch)

构造一个高宽均为224的单通道数据样本来看一下模型架构

X = tf.random.uniform((1, 224, 224, 1))
y = net(X)net.summary() # 查看网络形状

2.手写数字识别

读取数据时需将图像高和宽扩大到VggNet使用的图像高和宽224,这个通过tf.image.resize_with_pad来实现

(1)数据读取

获取数据并进行维度调整

import numpy as np
(train_images,  train_labels), (test_images, test_labels) = mnist.load_data()train_images = np.reshape(train_images, (train_images.shape[0], train_images.shape[1], train_images.shape[2], 1))
test_images = np.reshape(test_images, (test_images.shape[0], test_images.shape[1], test_images.shape[2], 1))

定义两个方法获取部分数据,并将图像调整为224*224大小,进行模型训练

# 定义两个样本随机抽取部分样本演示
# 获取训练集数据
def get_train(size):index = np.random.randint(0, np.shape(train_images)[0], size)resize_images = tf.image.resize_with_pad(train_images[index], 224, 224, )return resize_images.numpy() ,train_labels[index]# 获取测试集数据
def get_test(size):index = np.random.randint(0, np.shape(test_images)[0], size)resize_images = tf.image.resize_witn_pad(test_images[index], 224, 224, )return resize_images.numpy(), test_labels[index]

调用上述两个方法,获取参与模型训练及测试的数据集

train_images, train_labels = get_train(256)
test_images, test_labels = get_test(128)

(2)模型编译

# 指定优化器,损失函数和评价指标
optimizer = tf.keras.optimizers.SGD(learning_rate = 0.01, momentum = 0.0)net.compile(optimizer = optimizer,loss = 'sparse_categorical_crossentropy',metrics = ['accuracy']
)

(3)模型训练

net.fit(train_images, traim_labels, batch_size = 128, epoch = 3, verbose = 1, validation_split = 0.1)

(4)模型评估

net.evaluate(test_images, test_labels, verbose = 1)
http://www.dtcms.com/wzjs/554418.html

相关文章:

  • 专做电器的网站网站响应是什么问题吗
  • 网站不备案可以上线吗网站建设需要哪些证
  • 天津网站建设方案外包避免视觉效果混淆。
  • 企业网站程序新手学做网站电子版
  • 织梦网站每天被挂马wordpress 颜色选择器
  • 新乡企业网站排名优化网站新建设请示
  • 外贸建站上海设计师网址大全
  • 一个女装店网站建设的策划模板百度指数搜索榜
  • 网站规划小结智慧团建网站密码
  • 做网站哪家好哪家好电商平台系统分销系统
  • 没网站做cpa广告联盟网站链接 动态图怎么做
  • 水务局政务网站建设工作总结能做网站的网站
  • 武穴建设网站做基础网站主机要
  • 福建网站备案微信小程序怎么制作网页
  • 品牌网站建设报价单wordpress 添加图片
  • 网站建设公司发展理念网络系统建设与运维职业技能等级证书
  • 公众号 微网站开发网络营销与推广方案
  • 长沙网站开网站建设方案推广
  • 自己的电脑做网站当服务器使用医疗号网站开发
  • 怎么看别人网站是什么语言做的wordpress怎么改模板
  • 手机上做网站php江西省赣州市定南县
  • 网站内容策划方案香奈儿网站建设的目标
  • 国外网站设计版式欣赏那个网站可以做微课
  • 广州网页模板建站什么软件做电影短视频网站
  • 2016网站设计欣赏怎样自己免费建设一个网站
  • 一般做企业网站需要什么google关键词指数
  • 网站怎么维护更新单位网站建设情况说明书
  • 泗阳网站定制网站建设的具体流程图
  • 做影视后期应该关注哪些网站wordpress网站网速慢
  • 网站建设sem怎么做南充市住房和城乡建设厅官方网站