DL之Attention:基于ClutteredMNIST手写数字图片数据集分别利用CNN_Init、ST_CNN算法(CNN+SpatialTransformer)实现多分类预测(二)

简介: DL之Attention:基于ClutteredMNIST手写数字图片数据集分别利用CNN_Init、ST_CNN算法(CNN+SpatialTransformer)实现多分类预测

image.png

image.png


核心代码

   #(2)、建立ST定位网络:尝试更多的conv层,并分别在X轴和y轴上做最大池化

   # localization net. TODO: try more conv layers, and do max pooling on X- and Y-axes respectively

   locnet = Sequential()

   # locnet.add(MaxPooling2D(pool_size=(2,2), input_shape=input_shape))

   # locnet.add(Convolution2D(32, (5, 5)))

   locnet.add(Convolution2D(32, (5, 5), input_shape=input_shape))

   locnet.add(Activation('relu'))

   # locnet.add(Dropout(0.2)) # 0.2

   locnet.add(MaxPooling2D(pool_size=(2,2)))

   locnet.add(Convolution2D(64, (5, 5)))

   locnet.add(Activation('relu'))

   # locnet.add(Dropout(0.2)) # 0.3

   locnet.add(Convolution2D(64, (3, 3)))

   locnet.add(Activation('relu'))

   locnet.add(MaxPooling2D(pool_size=(2,2)))

 

   locnet.add(Flatten())

   locnet.add(Dense(50))

   locnet.add(Activation('relu'))

   locnet.add(Dense(6, weights=weights))

   print(locnet.summary())

 

 

   #(3)、建立CNN网络

   model = Sequential()

   model.add(SpatialTransformer(localization_net=locnet,

                                output_size=(30,30), input_shape=input_shape))

   # model.add(Convolution2D(32, (3, 3), padding='same'))

   # model.add(Activation('relu'))

   # model.add(MaxPooling2D(pool_size=(2, 2)))

   # model.add(Convolution2D(64, (3, 3)))

   # model.add(Activation('relu'))

   # model.add(MaxPooling2D(pool_size=(2, 2)))

   # model.add(Dropout(0.5)) # 0.25

 

   # E: removed first 3 dropout layers

   model.add(Conv2D(32, kernel_size=(3, 3), activation='relu'))

   model.add(Dropout(0.5)) # 0.5

   model.add(Conv2D(64, (3, 3), activation='relu'))

   model.add(Dropout(0.5)) # 0.5

   model.add(MaxPooling2D(pool_size=(2, 2)))

   model.add(Conv2D(64, kernel_size=(3, 3),

                    activation='relu'))

   model.add(Dropout(0.5)) # 0.5

   model.add(MaxPooling2D(pool_size=(2, 2)))

   # model.add(Conv2D(64, (3, 3), activation='relu'))

   # model.add(Dropout(0.5))

   model.add(Flatten())

   model.add(Dense(256)) # 256

   model.add(Dropout(0.5)) # 0.5

   model.add(Activation('relu'))

   model.add(Dense(nb_classes))

   model.add(Activation('softmax'))


相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
22 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
22天前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【9月更文挑战第12天】决策树算法作为机器学习领域的一颗明珠,凭借其直观易懂和强大的解释能力,在分类与回归任务中表现出色。相比传统统计方法,决策树通过简单的分支逻辑实现了数据的精准分类。本文将借助Python和scikit-learn库,以鸢尾花数据集为例,展示如何使用决策树进行分类,并探讨其优势与局限。通过构建一系列条件判断,决策树不仅模拟了人类决策过程,还确保了结果的可追溯性和可解释性。无论您是新手还是专家,都能轻松上手,享受机器学习的乐趣。
32 9
|
2月前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
|
2月前
|
算法 5G Windows
OFDM系统中的信号检测算法分类和详解
参考文献 [1]周健, 张冬. MIMO-OFDM系统中的信号检测算法(I)[J]. 南京工程学院学报(自然科学版), 2010. [2]王华龙.MIMO-OFDM系统传统信号检测算法[J].科技创新与应用,2016(23):63.
48 4
|
2月前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【8月更文挑战第2天】决策树算法以其直观性和解释性在机器学习领域中独具魅力,尤其擅长处理非线性关系。相较于复杂模型,决策树通过简单的分支逻辑实现数据分类,易于理解和应用。本示例通过Python的scikit-learn库演示了使用决策树对鸢尾花数据集进行分类的过程,并计算了预测准确性。虽然决策树优势明显,但也存在过拟合等问题。即便如此,无论是初学者还是专家都能借助决策树的力量提升数据分析能力。
35 4
|
2月前
|
存储 算法 安全
密码算法的分类
【8月更文挑战第23天】
40 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
126 9
|
3月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
32 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
3月前
|
人工智能 算法
图搜算算法分类
图搜索算法是计算机科学中用于遍历或搜索图结构(由节点和边组成的数学结构)的技术,常应用于路径规划、网络分析、人工智能等领域。下面是对几种常见图搜索算法的简要说明:
|
4月前
|
机器学习/深度学习 分布式计算 算法
在机器学习项目中,选择算法涉及问题类型识别(如回归、分类、聚类、强化学习)
【6月更文挑战第28天】在机器学习项目中,选择算法涉及问题类型识别(如回归、分类、聚类、强化学习)、数据规模与特性(大数据可能适合分布式算法或深度学习)、性能需求(准确性、速度、可解释性)、资源限制(计算与内存)、领域知识应用以及实验验证(交叉验证、模型比较)。迭代过程包括数据探索、模型构建、评估和优化,结合业务需求进行决策。
49 0
下一篇
无影云桌面