
TensorFlow深度学习
文章平均质量分 89
使用tensorflow2.0进行深度学习
立Sir
专注于深度学习、机器视觉,代码涉及Python、TensorFlow、Pytorch。感谢各位支持,已毕业,断更。
展开
-
【深度学习】(11) 学习率衰减策略(余弦退火衰减,多项式衰减),附TensorFlow完整代码
大家好,今天和各位分享一下如何使用 TensorFlow 构建多项式学习率衰减策略、单周期余弦退火学习率衰减策略、多周期余弦退火学习率衰减策略,并使用Mnist数据集来验证构建的方法是否可行。在上一篇中和大家分享了指数衰减、分段衰减、余弦衰减,感兴趣的可以看一下:https://blog.youkuaiyun.com/dgvv4/article/details/124471098下面创建的自定义学习率的类,都继承tf.keras.optimizers.schedules.LearningRateSchedu..原创 2022-04-29 10:48:29 · 6175 阅读 · 4 评论 -
【深度学习】(10) 自定义学习率衰减策略(指数、分段、余弦),附TensorFlow完整代码
大家好,今天和大家分享一下如何使用 TensorFlow 自定义 指数学习率下降、阶梯学习率下降、余弦学习率下降 方法,并使用 Mnist数据集验证自定义的学习率下降策略。创建的自定义学习率类方法,需要继承 tf.keras.optimizers.schedules.LearningRateSchedule1. 指数学习率下降指数学习率下降公式为:其中代表初始的学习率,代表学习率衰减系数,代表epoch,即每次迭代学习率衰减一次以初始学习率,学习率衰减系数,为例指数学...原创 2022-04-28 14:01:48 · 6825 阅读 · 2 评论 -
【深度学习】(9) CNN中的混合域注意力机制(DANet,CBAM),附Tensorflow完整代码
各位同学好,今天和大家分享一下如何使用 Tensorflow 构建 DANet 和 CBAM 混合域注意力机制模型。在之前的文章中我介绍了CNN中的通道注意力机制 SENet 和 ECANet,感兴趣的可以看一下:https://blog.youkuaiyun.com/dgvv4/article/details/1235720651. 注意力机制介绍注意力机制本质上是一种资源分配机制,它可以根据关注目标的重要性程度改变资源分配方式,使资源更多的向attention的对象倾斜。在卷积神经网络中,注意力机制所要分配原创 2022-04-01 09:42:59 · 22166 阅读 · 12 评论 -
【深度学习】(8) CNN中的通道注意力机制(SEnet、ECAnet),附Tensorflow完整代码
各位同学好,今天和大家分享一下attention注意力机制在CNN卷积神经网络中的应用,重点介绍三种注意力机制,及其代码复现。在我之前的神经网络专栏的文章中也使用到过注意力机制,比如在MobileNetV3、EfficientNet网络中都是用了SE注意力机制,感兴趣的可以看一下:https://blog.youkuaiyun.com/dgvv4/category_11517910.html。那么今天就和大家来聊一聊注意力机制。1. 引言注意力机制源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类原创 2022-03-18 16:44:27 · 74694 阅读 · 37 评论 -
【深度学习】(7) 交叉验证、正则化,自定义网络案例:图片分类,附python完整代码
各位同学好,今天和大家分享一下TensorFlow2.0深度学习中的交叉验证法和正则化方法,最后展示一下自定义网络的小案例。1. 交叉验证交叉验证主要防止模型过于复杂而引起的过拟合,找到使模型泛化能力最优的参数。我们将数据划分为训练集、验证集、测试集。训练集用于输入网络模型作为样本进行学习。验证集是在迭代过程中对模型进行评估,寻找最优解。测试集是在整个网络训练完成后进行评估。K折交叉验证,就是将训练集数据等比例划分成K份,以其中的1份作为验证数据,其他的K-1份数据作为训练数据。每次迭代从都原创 2021-12-07 20:27:41 · 3767 阅读 · 1 评论 -
【深度学习】(6) tensorflow2.0使用keras高层API
各位同学好,今天和大家分享一下TensorFlow2.0深度学习中借助keras的接口减少神经网络代码量。主要内容有:1. metrics 性能指标加权平均值:tf.keras.metrics.Mean预测值和真实值的准确度:tf.keras.metrics.Accuracy1.1 新建一个metrics指标准确度指标metrics.Accuracy()一般用于训练集,加权平均值 metrics.Mean() 一般用于测试集# 新建准确度指标acc_meter ...原创 2021-12-07 12:29:21 · 1274 阅读 · 0 评论 -
【深度学习】(5) 简单网络,案例:服装图片分类,附python完整代码
1. 数据获取使用系统内部的服装数据集构建神经网络。首先导入需要的库文件,x和y中保存训练集的图像和目标。x_test和y_test中保存测试集需要的图像和目标。# keras层方式做前向传播,服装图片分类每一张图片28*28import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasets,layers,optimizers,Sequential,metrics# 导入数据集管理原创 2021-12-06 19:38:09 · 4560 阅读 · 0 评论 -
【深度学习】(4) 梯度下降、损失函数
各位同学好,今天和大家介绍一下TensorFlow2.0中的梯度下降、激活函数及其梯度、损失函数及其梯度。(1) 梯度计算:GradientTape(),tape.watch(),tape.gradient()(2) 损失函数及其梯度:MSE:tf.reduce_mean(tf.losses.MSE()),交叉熵:tf.losses.categorical_crossentropy()1. 梯度下降1.1 自动求导函数:GradientTape(persistent=False, wat原创 2021-12-05 16:41:57 · 3242 阅读 · 0 评论 -
【深度学习】(3) 全连接层、激活函数
各位同学好,今天和大家分享一下tensorflow2.0深度学习中的相关操作。内容有:(1) 全连接层创建:tf.keras.Sequential(),tf.keras.layers.Dense()(2) 输出方式:tf.sigmoid(),tf.softmax(),tf.tanh()1. 全连接层全连接层在整个网络卷积神经网络中起到特征提取器的作用。全连接层将学到的特征表示映射到样本的标记空间。(1)在全连接层中创建一层:tf.keras.layers.Dense()unit...原创 2021-12-05 11:10:28 · 6097 阅读 · 0 评论 -
【深度学习】(2) 数据加载,前向传播2,附python完整代码
生成数据集:tf.data.Dataset.from_tensor_slices(tensor变量)创建一个数据集,其元素是给定张量的切片生成迭代器:next(iter())next() 返回迭代器的下一个项目,iter()获取可迭代对象的迭代器# 返回2项数据,图像x_test,目标y_testdb = tf.data.Dataset.from_tensor_slices((x_test,y_test))# 迭代器得到的第0个元素是图像,第1个元素是目标next(iter(db..原创 2021-12-04 19:46:55 · 1803 阅读 · 0 评论 -
【深度学习】(1) 前向传播,附python完整代码
各位同学大家好,今天和大家分享一下TensorFlow2.0深度学习中前向传播的推导过程,使用系统自带的mnist数据集。1. 数据获取首先,我们导入需要用到的库文件和数据集。导入的x和y数据是数组类型,需要转换成tensor类型tf.convert_to_tensor(),再查看一下我们读入的数据有没有问题。import numpy as npimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras原创 2021-12-04 13:16:13 · 3396 阅读 · 1 评论