没有合适的资源?快使用搜索试试~ 我知道了~
TensorFlow keras卷积神经网络 添加L2正则化方式
20 下载量 108 浏览量
2021-01-20
00:02:38
上传
评论 1
收藏 67KB PDF 举报
温馨提示
我就废话不多说了,大家还是直接看代码吧! model = keras.models.Sequential([ #卷积层1 keras.layers.Conv2D(32,kernel_size=5,strides=1,padding=same,data_format=channels_last,activation=tf.nn.relu,kernel_regularizer=keras.regularizers.l2(0.01)), #池化层1 keras.layers.MaxPool2D(pool_size=2,strides=2,padding=same), #卷积层
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/14841994/bg1.jpg)
TensorFlow keras卷积神经网络卷积神经网络 添加添加L2正则化方式正则化方式
我就废话不多说了,大家还是直接看代码吧!
model = keras.models.Sequential([
#卷积层1
keras.layers.Conv2D(32,kernel_size=5,strides=1,padding="same",data_format="channels_last",activation=tf.nn.relu,kernel_regularizer=keras.regularizers.l2(0.01)),
#池化层1
keras.layers.MaxPool2D(pool_size=2,strides=2,padding="same"),
#卷积层2
keras.layers.Conv2D(64,kernel_size=5,strides=1,padding="same",data_format="channels_last",activation=tf.nn.relu),
#池化层2
keras.layers.MaxPool2D(pool_size=2,strides=2,padding="same"),
#数据整理
keras.layers.Flatten(),
#1024个,全连接层
keras.layers.Dense(1024,activation=tf.nn.relu),
#100个,全连接层
keras.layers.Dense(100,activation=tf.nn.softmax)
])
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
from tensorflow.python.keras.datasets import cifar100
from tensorflow.python import keras
import tensorflow as tf
class CNNMnist(object):
model = keras.models.Sequential([
#卷积层1
keras.layers.Conv2D(32,kernel_size=5,strides=1,padding="same",data_format="channels_last",activation=tf.nn.relu,kernel_regularizer=keras.regularizers.l2(0.01)),
#池化层1
keras.layers.MaxPool2D(pool_size=2,strides=2,padding="same"),
#卷积层2
keras.layers.Conv2D(64,kernel_size=5,strides=1,padding="same",data_format="channels_last",activation=tf.nn.relu),
#池化层2
keras.layers.MaxPool2D(pool_size=2,strides=2,padding="same"),
#数据整理
keras.layers.Flatten(),
#1024个,全连接层
keras.layers.Dense(1024,activation=tf.nn.relu),
#100个,全连接层
keras.layers.Dense(100,activation=tf.nn.softmax)
])
def __init__(self):
(self.x_train,self.y_train),(self.x_test,self.y_test) = cifar100.load_data()
self.x_train = self.x_train/255.0
self.x_test = self.x_test/255.0
def compile(self):
CNNMnist.model.compile(optimizer=keras.optimizers.Adam(),loss=keras.losses.sparse_categorical_crossentropy,metrics=["accuracy"])
def fit(self):
CNNMnist.model.fit(self.x_train,self.y_train,epochs=1,batch_size=32)
def evaluate(self):
test_loss,test_acc = CNNMnist.model.evaluate(self.x_test,self.y_test)
print(test_loss,test_acc)
if __name__ == '__main__':
cnn = CNNMnist()
print(CNNMnist.model.summary())
cnn.compile()
cnn.fit()
补充知识:补充知识:初步了解初步了解TensorFlow如何实现正则化如何实现正则化
为了避免过拟合问题,一个非常常用的方法是正则化(regularization),正则化的思想就是在损失函数中加入刻画模型复杂程度的指标。
假设用于刻画模型在训练数据上表现的损失函数为J(θ),那么在优化时不是直接优化J(θ),而是优化J(θ) + λR(w),其中R(w)刻画的是模型的复杂程度,而λ表示模型
复杂损失在总损失中的比例,需要注意的是,这里的θ表示的是一个神经网络中所有的参数,它包括边上的权重w和偏置项b,但一般来说模型复杂度只由权重w决
定。
常用的刻画模型复杂度的函数R(w)有两种,一种是L1正则化,计算公式是:
另一种是L2正则化,计算公式是:
TensorFlow可以优化任意形式的损失函数,所以TensorFlow自然也可以优化带正则化的损失函数。
L1正则化和L2正则化,在TensorFlow中分别以不同的函数实现它们,以下列代码为示例:
#含有L1正则化的损失函数:
loss = tf.reduce_mean(tf.square(y_ - y)) + tf.contrib.layers.l1_regularizer(λ)(w)
#含有L2正则化的损失函数:
loss = tf.reduce_mean(tf.square(y_ - y)) + tf.contrib.layers.l2_regularizer(λ)(w)
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38646902
- 粉丝: 3
- 资源: 921
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 打包和分发Rust工具.pdf
- SQL中的CREATE LOGFILE GROUP 语句.pdf
- C语言-leetcode题解之第172题阶乘后的零.zip
- C语言-leetcode题解之第171题Excel列表序号.zip
- C语言-leetcode题解之第169题多数元素.zip
- ocr-图像识别资源ocr-图像识别资源
- 图像识别:基于Resnet50 + VGG16模型融合的人体细胞癌症分类模型实现-图像识别资源
- C语言-leetcode题解之第168题Excel列表名称.zip
- C语言-leetcode题解之第167题两数之和II-输入有序数组.zip
- C语言-leetcode题解之第166题分数到小数.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)