DNS-Keras框架下代码分析

保姆级教程:在Windows 11和macOS Sonoma上配置Cloudflare DoH,告别DNS劫持 本文提供详细的Windows 11和macOS Sonoma系统配置Cloudflare DoH(DNS-over-HTTPS)的教程,帮助用户有效防止DNS劫持,保护隐私并提升网络速度。通过系统级和浏览器级的双重配置指南,确保DNS查询全程加密,避免广告注入和恶意重定向。 阅读详情

接上一篇:DNS-动态外科手术关键细节理解(结合caffe源码)

从git上也下载了一份关于Keras下将INQ(增量网络量化)与DNS结合的仓库,https://github.com/yaysummeriscoming/DNS_and_INQ

服务器下简单跑了下:

数据集是mnist,网络结构为:

15个epoches,从第三个epoch后开始剪枝,剪枝结果(卷积层--共五层):

计划初步实现方案参照该版本下的代码,这里先做简单分析:

从主函数看起,第一句就很有意思:

获取当前路径下的Direct后,创建待保存模型路径:

打开NetworkParameters该类:

主要功能是创建4个路径变量,同时创建对应的目录(若没有的话)

接着是超参数部分,

分别是训练的轮次、每批次数量、学习率、学习率衰减因子

以及开始DNS的轮次,gamma值、crate取值(具体的含义见之前对论文的分析)

这里有一个参数的意义不是很理解:batch_scale_factor(批缩放因子)为什么定义这个?

定义测试数据集(数据预处理):

关于上面的squeeze部分代码,我觉得没必要加了:

分别做了转类型、归一化、类别的独热码设定

构建模型:

这里的CreateModel是一个函数:

首先定义输入的张量,接着判断模型的类型定义是否是DNS(源代码下还有一种关于INQ的操作),接着函数DNSConvBNReluLayer重命名给变量layerType,将DNS的三个参数存放在字典中。

看一下函数DNSConvBNReluLayer:

该函数是对自己重构的DNSConv2D和激活、BN的组合,核心还是自己重构的类DNSConv2D了:

从layers下Convolution2D基类中继承的DNSConv2D:

看一下init方法,几个关于论文中关键参数,以及convolution2D的传入参数

DNSConv2D:该类是自己重定义的一个层,参考以下链接学习如何定义自己的层类【https://blog.youkuaiyun.com/DawnRanger/article/details/78307244】

首先是build方法:

build函数目的是对重构的层权重进行创建,一般使用add_weight进行设定,这里设定了迭代数cur_iter值=-1和Mask矩阵(暂时设定为全1)

接着定义了回调函数call,该函数定义重构层的主要功能,首先是卷积的计算,mask矩阵和原来的权重矩阵进行复合,通过调用tf的conv2d函数实现卷积计算,同时判断是否加偏置、加激活层。

此外,最重要的一点:更新mask矩阵,以及更新迭代次数cur_iter。(每做一次卷积计算)此处的K.update(x,New_x)当然指的是使用New_x更新x。

这里要看的DNS_update函数:

配合之前对DNS分析的论文看,上面代码主要工作有:第一句probThreshold是以概率设定掩码矩阵跟新与否的阈值,该阈值随迭代次数推移逐渐变为0(停止更新),第二句代码构建更新T的随机矩阵,注意这里random_num的shape,这里仅和滤波器个数相关,即有多少个filter。

第四句计算均值和标准差,这两个值决定阈值的选取。第9句对mask矩阵进行更新,最后两句表明只有针对DNS迭代次数变化和满足训练阶段才进行。

其他几个方法,start_DNS将迭代计数值定为0,on_batch_end、on_epoch_begin和on_epoch_end则是自定义的回调函数:回调函数(callback)是在调用 fit 时传入模型的一个对象(即实现特定方法

的类实例),它在训练过程中的不同时间点都会被模型调用。它可以访问关于模型状态与性能的所有可用数据,还可以采取行动:中断训练、保存模型、加载一组不同的权重或改变模型的状态。

具体的:

回到主代码中,根据定义的DNSConvBNReluLayer函数(函数式API)将整个网络串联起来。

手写字符训练集,构建的网络较为简单,5层2*2的卷积核堆叠,每层输出通道个数都为16,窄卷积后加入一个softmax分类器。

模型构建完成后,对模型进行编译损失函数为分类交叉熵、优化器使用的是Adam、优化指标选择精度-acc,ModelCheckpoint监控val_loss,每轮过后保存当前权重,后一句始终保存验证集最佳模型。

 

别再傻傻分不清了!一张图看懂静态CDN、动态CDN和全站加速的区别 本文深入解析静态CDN、动态CDN和全站加速的技术原理与适用场景,帮助您根据业务特性做出精准选择。通过对比分析缓存策略、性能指标和业务适配方案,提供全面的技术选型指南,优化网站和应用的速度与用户体验。 阅读详情

相关推荐

避开这3个坑!H3C AC定制Portal页面与短信认证的常见配置误区

本文针对H3C无线控制器(AC)在部署定制Portal页面与短信认证方案时,常见的三大配置误区进行深度解析。详细剖析了定制Portal页面加载失败、短信验证码发送异常以及认证成功后无法上网等问题的根源,并结合AC系统日志与配置界面,提供了可视化的排查步骤与解决方案,帮助网络工程师高效排错,确保企业无线网络访客认证的稳定与安全。

brown的博客 447

基于keras构建DNN神经网络(实测可以跑)

基于Keras搭建DNN神经网络

weixin_43100196的博客 1557

信息安全与技术——(十一)恶意代码检测与防范技术

恶意代码(Malicious Code )或恶意软件(Malware )主要是指以危害信息的安全等不良意图为目的的程序,它们一般潜伏在受害计算机系统中实施破坏或窃取信息。

m0_63853448的博客 5991

【Keras】DNN神经网络模型

DNN(Deep Neural Network)神经网络模型又叫全连接神经网络,是基本的深度学习框架。与RNN循环神经网络、CNN卷积神经网络的区别就是DNN特指全连接的神经元结构,并不包含卷积单元或是时间上的关联。 1、梳理一下DNN的发展历程 神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,

brucewong0516的博客 1万+

跟着团子学SAP EPPM:项目管理常见的集成场景(PPM\PS\MS Project)

在SAP的EPPM解决方案中,针对企业战略级别的投资组合管理首先是定义合适的投资组合的层级结构,在投资组合下可以通过不同维度去定义投资篮(Portofolio Bucket)进行层层拆分,在最下层级的投资篮下可以分配明细的投资项(Portofolio Item),投资项可以是独立的一个一个具体执行的项目,也可以是单纯的一次服务等等。 今天主要聚焦在投资项的维度展开讲一下在SAP中投资项常见的几种集成模式: 集成场景1:使用PPM中的Project Management进行项目管理 第一个场景是在创建投资项

Lucas1211的博客 4139

EtherCAT FOE从站开发实战:SSC工具包实现固件在线升级与文件传输

EtherCAT从站开发中,固件在线升级与文件传输是常见需求。FOE(File Access over EtherCAT)作为邮箱通信协议,在实时总线上提供可靠的文件读写通道,与PDO、DC同步共存。其原理基于SM邮箱和状态机,通过SSC工具包可快速启用。技术价值在于无需拆机即可更新固件、导出日志,提升产线效率。应用场景包括伺服驱动器、IO模块等从站的固件升级与参数配置。本文深入讲解从站侧FOE读写实现、主站调用及工程化建议,助力嵌入式工程师高效开发。

weixin_29169899的博客 127

Keras中如何设置学习率和优化器以及两者之间的关系

Keras对优化器和学习率做了很好的封装,以至于很多人搞不清楚怎么设置学习率,怎么使用优化器,两者到底有什么区别。

AI量化交易实验室 1万+

python乘法运算 信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

本文解析了全国青少年信息素养大赛Python编程挑战赛的乘法运算题目。题目要求通过递归算法实现两个自然数的乘法运算,并输出算式。算法分析指出可将乘法转化为累加,使用递归函数实现。程序代码展示了一个自定义函数add(),通过递归调用完成累加运算。文章还分析了考点,包括递归函数、输入处理、分支语句等编程基础知识的应用。最后强调解题方法的多样性,重点在于理解递归原理和实现题目要求。该题目难度适中,主要考查选手对递归算法的理解和编程基础能力。

青少年编程学习指导 789

DNS浅析-基础篇

DNS总结 1.DNS的概念及作用 DNS(Domain Name Service领域名称服务)DNS通过UDP的53号端口提供服务,同时也监听TCP的53号端口,换句话说DNS不仅工作在UDP协议上而且还工作在TCP协议上。 DNS的作用:DNS主要作用是实现名称解析,这里说的名称解析说的是主机名称、域名和IP地址之间的相互转换。就是解决网络服务器的域名与IP地...

weixin_33748818的博客 163

基于FFT的轴承故障诊断 - MATLAB代码和详细解释

最后,我们可以根据异常特征的位置和特征分析来确定轴承故障的类型。最后,我们可以根据异常特征的位置和特征分析来确定轴承故障的类型。因此,通过分析频谱图,我们可以识别轴承故障的特征。因此,通过分析频谱图,我们可以识别轴承故障的特征。我们可以选择适当的阈值,并在频谱图上标记异常特征。通过这种基于FFT的轴承故障诊断方法,我们可以快速、准确地检测和诊断轴承故障。接下来,我们将应用FFT来获取振动信号的频谱信息,频谱显示了信号在不同频率上的能量分布。通过将异常特征标记在频谱图上,我们可以直观地识别轴承故障的存在。

COWizard的博客 613

OpenClaw Skill 开发全攻略|2026 最新机制 + 文件处理实操,看完直接落地开发

很多新手刚接触时,会把 Skill 想得很复杂,其实大可不必。OpenClaw 中的每个 Skill,本质就是一套“能力描述 + 执行逻辑”的组合包,简单说就是“告诉 AI 你能做什么、怎么做,它就会调用你”,核心特征可以总结为这几点,好记又实用:核心载体:以文件夹为单位,不管多简单的 Skill,文件夹里都必须有 SKILL.md 文件——这是 AI 识别技能的唯一依据,少了它,再完善的代码也没用;

haolove527的专栏 7027

DNS服务架构

实验目的: 环境要求: 需要8台主机 DNS客户端:192.168.32.6/24 本地DNS服务器(只缓存):192.168.32.8/24 转发目标DNS服务器:192.168.32.18/24 根DNS服务器:192.168.32.28/24 org域DNS服务器:192.168.32.38/24 likai.org域主DNS服务器:192.168.32.48/24 likai.org域...

李凯的博客 3587

SAP UI5 用数据绑定导出:从 ExportTypeCSV 到 Spreadsheet 的完整实践与取舍

SAP UI5 数据绑定导出机制通过复用 Model、Binding Path 等配置,将控件视图转换为文件格式。早期方案使用 sap/ui/core/util/Export 生成 CSV,需自定义 ExportType 扩展格式;现代方案推荐 sap/ui/export/Spreadsheet 直接导出 XLSX,支持类型精度和智能表格集成。注意 CSV 方案已弃用但仍有业务价值,需根据项目需求选择合适方案。两种方式都基于数据绑定,避免重复定义列结构和格式化逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 268

用Keras和深度学习解码宇宙信号:从频谱图到分类模型

宇宙信号解码听起来神秘,本质上是对望远镜数据进行信号分类与异常检测。深度学习通过多层神经网络自动提取时频特征,将原始时间序列或频谱图映射为类别概率,避免手工设计复杂规则。该技术价值在于能够适应噪声分布不均、干扰形态多变的真实观测环境,提升信号识别的泛化能力。在天文科研与工程场景中,它已用于脉冲星候选体筛选、快速射电暴搜寻、射频干扰剔除等任务。使用Keras框架,从数据预处理、频谱图转换、CNN模型构建到训练验证与批量部署,可以展示一条在普通算力上可复现的完整链路。

weixin_34378767的博客 429

华为OD机试真题 新系统2026-04-01 C语言 实现【计算数列位置N的值】

1、输入M、N两个数,则按照以下规则形成一个数列; 2、数列的前M个元素的值为1到M; 3、从M+1个元素开始,计算的逻辑为: 如果其前面的M个元素中,存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之如果其前面的M个元素中,不存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之差;

MISAYAONE的博客 591

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Linux最新使用Keras代码解决二分类问题_keras2分片(3),头条Linux运维面试节奏

为了做好运维面试路上的助攻手,特整理了上百道,让你面试不慌心不跳,高薪offer怀里抱!这次整理的面试题,本份面试集锦涵盖了1、什么是运维?2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?3、现在给你三百台服务器,你怎么对他们进行管理?4、简述raid0 raid1raid5二种工作模式的工作原理及特点5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

ccc6553584的博客 642

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

基于Dell工作站的深度学习Tensorflow & Keras软件及环境配置

Tensorflow & Keras 软件及环境配置

JasonDean的博客 1202

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

lstm 输入数据维度_LSTM Keras值输入维度

我尝试使用Keras实现LSTM来解决多类问题。我输入了尺寸为1007x5的csv。每个实例的特性数为5个,共有12个类。下面是代码seed = 7numpy.random.seed(seed)input_file = 'input.csv'def load_data(test_split = 0.2):print ('Loading data...')dataframe = pandas.rea...

weixin_34983902的博客 2060

告别特征工程:用Python和Keras复现Deep Packet,实现加密流量自动分类

本文详细介绍了如何使用Python和Keras复现Deep Packet模型,实现加密流量自动分类,从而告别繁琐的特征工程。通过混合CNN和SAE架构,结合ISCX VPN-nonVPN数据集,文章提供了从数据预处理到模型部署的完整解决方案,帮助提升加密流量分类准确率至89%。

weixin_33670786的博客 307

ping: baidu.com: 未知的名称或服务

日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) ping: baidu.com: 未知的名称或服务 解决: vim /etc/sysconfig/network-scripts/ifcfg-ens33 DNS1="223.5.5.5" 然后重启网络 service network restart ...

あずにゃん梓喵的博客 1050

保姆级教程:用Keras搭建CNN-BiLSTM-Attention模型预测服务器负载(含数据分块与避坑指南)

本文详细介绍了如何使用Keras搭建CNN-BiLSTM-Attention模型预测服务器负载,包含数据分块与避坑指南。通过CNN提取局部特征、BiLSTM学习长期依赖、Attention聚焦关键时段,该混合模型能有效处理时序数据中的多尺度特征和变量间耦合问题,为运维工程师提供智能预测方案。

weixin_33700350的博客 507

TensorFlow 2工程实践:从Eager调试到SavedModel全平台部署

深度学习已进入工程化落地深水区,核心挑战不再是模型构建,而是可复现、可监控、可交付的系统级能力。TensorFlow 2通过默认Eager Execution大幅降低调试门槛,以tf.function实现动态图与静态图的智能协同,并依托SavedModel统一模型序列化标准,天然支持TF Lite、TensorFlow Serving、TF.js等多后端部署。其Keras高阶API深度集成底层机制,使模型开发即具备生产就绪特性;而TensorBoard与tf.data则分别提供‘所见即所得’的训练洞察和鲁棒

ctpaknc9526的博客 411

基于特征工程与深度学习的钓鱼URL智能检测框架设计与实践

在网络安全领域,钓鱼攻击是常见且持续演变的威胁形式,其核心在于通过伪装恶意链接诱导用户泄露敏感信息。攻击原理通常涉及URL混淆、域名仿冒和内容伪造等技术,以绕过传统基于规则或黑名单的检测机制。从技术价值看,精准的钓鱼检测不仅能有效降低数据泄露风险,也是构建主动防御体系的关键环节。应用场景广泛覆盖企业邮件安全网关、终端防护软件及网络代理过滤等。本文聚焦的钓鱼URL检测框架,深度融合了词法、网络、语义等多维度特征工程与CNN-BiLSTM混合深度学习模型,通过双通道输入与特征融合,显著提升了检测的准确率与鲁棒性

weixin_33928137的博客 347

如何部署Scribble Diffusion:从开发到生产的完整Vercel部署教程

Scribble Diffusion是一款创新的AI绘图工具,能够将简单的涂鸦草图转化为精美的艺术作品。这个开源项目基于Next.js框架,结合Replicate的AI模型,为用户提供直观的草图转图像体验。本文将为您提供从本地开发到Vercel生产部署的完整教程,帮助您快速搭建自己的AI绘图应用。 ## 📋 项目架构与核心技术栈 Scribble Diffusion采用现代化的Web技术栈,

gitblog_01087的博客 813

Tomcat报错:Invalid character found in method name. HTTP method names must be tokens

参考文章: https://blog.youkuaiyun.com/qiaojieqq11/article/details/51437568 https://blog.youkuaiyun.com/qq_1017097573/article/details/62235977 Tomcat报错: Note: further occurrences of HTTP header parsing errors wi...

あずにゃん梓喵的博客 3777

基于Python深度学习的DGA域名检测

本文研究了基于深度学习的DGA域名检测方法。通过收集Alexa正常域名和360/osint平台的DGA域名构建数据集,采用LSTM网络结合Attention机制进行检测。实验结果表明,该方法在360数据集上F1-score达0.9905,osint数据集达0.9928,误报率和漏报率均低于1.5%,相比传统基于特征工程的方法具有更好的实时性和泛化能力。该方法避免了人工特征提取,通过词向量转换和注意力机制自动学习域名特征,为网络安全防护提供了有效解决方案。

毕业作品网站 4127
上一篇: DNS-动态外科手术关键细节理解(结合caffe源码)
SrtFrmGNU
博客等级 码龄12年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值