python画残差图_残差网络实现

该博客介绍了如何使用TensorFlow构建VGG11网络,并结合残差学习(ResNet)来处理MNIST数据集。通过定义卷积层、池化层和全连接层,构建了VGG11网络结构,然后利用残差块来改善模型的训练效果。在训练过程中应用了dropout策略以防止过拟合,最终展示了训练过程中的准确率变化。
摘要由CSDN通过智能技术生成

# tensorflow基于mnist数据集上的VGG11网络,可以直接运行

from tensorflow.examples.tutorials.mnist import input_data

import tensorflow as tf

import numpy as np

import os

def maxPoolLayer(x, layer_name, ksize=2, strides=2):

'''池化层'''

'''池化窗口大小:ksize=[1,height,width,1]'''

'''滑动步长大小:strides=[batch滑动步长, height方向滑动步长, width方向滑动步长, channels方向滑动步长]'''

return tf.nn.max_pool(x, ksize=[1, ksize, ksize, 1], strides=[1, strides, strides, 1], padding='SAME', name=layer_name)

def con2d_layer(x, out_chs, ksize, layer_name, strides=1):

'''卷积层'''

d_in = x.get_shape()[-1].value

with tf.variable_scope(layer_name):

'''卷积核:shape=[filter_height, filter_width, in_channels, out_channels]'''

w = tf.get_variable('weights', shape=[ksize, ksize, d_in, out_chs],

initializer=tf.truncated_normal_initializer(stddev=0.1)) # 初始化权重值

# '''shape=[out_channels]'''

b = tf.get_variable('bias', shape=[out_chs],

initializer=tf.truncated_normal_initializer(stddev=0.1)) # 初始化偏执值

y = tf.nn.relu(tf.nn.bias_add(tf.nn.conv2d(x, w, strides=[1, strides, strides, 1], padding='SAME'), b)) # 卷积运算

return y

def fc_layer(x, out_kernels, layer_name):

'''全连接层'''

n_in = x.get_shape()[-1].v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值