57、用于学习容错图匹配的图仓库介绍

用于学习容错图匹配的图仓库介绍

1. 引言

在图算法的研究中,如进行图匹配、图聚类、学习共识对应或参数学习等,需要一个公开可用的图仓库来进行基准测试。接下来将详细介绍这样一个图仓库,包括其结构、包含的数据库以及相关实验结果。

2. 图仓库介绍

“塔拉戈纳仓库”(可在[相关链接]公开获取)是本次介绍的重点。它的内容可分为三个子部分。

2.1 总体结构

该仓库中的数据库由格式为 $(G_i; G_{0i}; f_i; C_i)$ 的寄存器组成。其中,属性图 $G_i$ 和 $G_{0i}$ 需在相同属性域中定义,但阶数可能不同。$G_i$ 和 $G_{0i}$ 节点间的真实对应关系 $f_i$ 中,$G_i$ 的部分节点可映射到 $G_{0i}$ 的节点,部分可映射到空节点,但 $G_i$ 的两个节点不能映射到 $G_{0i}$ 的同一个节点。空节点表示 $G_i$ 的节点无需映射到 $G_{0i}$ 的任何节点。同时,要求两个图属于同一类,因为不同类对象的局部部分映射无意义,比如手写字符图中,“A”和“J”之间不存在真实对应关系。

数据库由五个术语组成:名称、描述、学习集、测试集和验证集。名称和描述较明确,学习集、测试集和验证集是用于基准测试的常见数据集。

与这些数据库一起,还提供了以下 Matlab 函数:
- Load Register(Database; Set; Register) :返回数据库 Database 和集合 Set (取值为学习集、测试集或验证集)中的寄存器 R

相关推荐

【信息科学与工程学】【数据科学】 第四十四篇 数据湖 系列二 函数库01

2. 近似最近邻搜索(ANN): 通过HNSW等图索引模型加速,模型定义为构建一个层次化导航小世界图。依赖于消息队列(Kafka/Pulsar)、分布式文件系统(HDFS/S3)的客户端及连接库。依赖专门的向量检索库(如FAISS, Milvus)。管控目标: 召回率(Recall@K) > 95%,查询延迟 < 100ms。管控目标: < 1% (核心业务字段) 或 < 5% (一般字段)依赖数据处理框架(如Spark, Pandas)的核心统计函数。,通过牺牲精确性(ANN)来换取搜索速度的大幅提升。

weixin_49199313的博客 345

【信息科学与工程学】【数据中心】第二十三篇 DDC网络-满足大规模训练、推理、存储区网络(Roce2组网)-第四篇 跨地域互联(管理区和推理区)

智算中心互联

weixin_49199313的博客 781

【信息科学与工程学】【数据科学】数据科学领域——第三篇 数学08 几何学07 网络几何01

编号类型领域问题问题的数学分析参数列表及参数的数值范围关联知识1组合优化 / 计算几何网络几何(几何图论):给定平面上的 n 个点(节点),求连接所有点的总边长最小的树。数学模型:设点集 P={p1​,…,pn​}⊂R2,边权为欧氏距离 d(pi​,pj​)=(xi​−xj​)2+(yi​−yj​)2​。目标是找到一棵生成树 T=(P,E)使得 ∑(i,j)∈E​d(pi​,pj​)最小。该问题是经典 MST 在欧氏度量下的特例,属于 NP-hard 吗?

weixin_49199313的博客 165

WeVisOne-VL一套模型,把检测、分割、抠图和OCR都接到了一起

WeVisOne-VL 想解决的不是单点能力更强,而是把目标级理解和像素级理解放进同一套视觉语言模型里:从点、框,到 mask,再到连续 alpha matte,都能统一生成。 它覆盖检测、指代表达定位、计数、点选、OCR、分割和抠图,最大的看点是输出粒度可以按需求切换,而且遇到图里根本不存在的目标时,能直接返回 None,尽量避免“看错了还硬答”的幻觉。 技术上,它把任务统一写成结构化文本预测,再配一个只有 960 万参数的轻量像素解码器,不依赖 SAM,也能把框进一步细化成 mask 和 alpha matte。项目同时放出了 2B、4B 权重、推理包、Cookbooks、评测流程和 Gradio Demo;按仓库给出的结果,4B 版本在检测、指代定位、计数、OCR、分割和抠图等多项基准上都压过一批强开源基线。 更值得琢磨的是它背后的数据引擎:用知识图谱驱动概念发现,再结合专家模型与 VLM 校验,把框扩展到 mask 和高质量透明度标注,累计覆盖超过 1 亿张图像。这类工作真正有价值的地方,不只是又做出一个大模型,而是让“看见什么”和“精确到哪一层”第一次被放进一条顺滑的产品链路里。

:撞击时间控制的非奇异滑动模式制导定律.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

MATLAB实现了PEM燃料电池中PFSA膜化学降解的23反应动力学模型。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

基于 ResNet+CBAM 注意力的 12 类生活垃圾图像分类系统

## 基于 ResNet+CBAM 注意力的 12 类生活垃圾图像分类系统 针对生活垃圾图像存在背景杂乱、物体尺度多变、不同品类外观易混淆的现实难题,本项目基于 PyTorch 搭建嵌入 CBAM 卷积块注意力模块的 ResNet 系列改进网络,完成 12 类生活垃圾智能分类任务,数据集共计 4600 余张图像,类别标签通过`class_indices.json`完成数字索引与垃圾类别名称映射,涵盖电池、生物垃圾、玻璃、纸板、衣物、金属、纸张、塑料、鞋子、其他杂物等常见生活废弃物。项目支持 ResNet18/34/50/101/152 多种骨干网络选择,依托迁移学习策略,可选择冻结主干网络,仅训练全连接分类头与 CBAM 注意力模块,充分缓解小样本场景下的过拟合现象。 整套工程由`train.py`训练脚本、`predict.py`批量推理脚本、`utils.py`工具库构成完整闭环。训练阶段借助 thop 工具自动统计模型参数量与 FLOPs 计算量;采用余弦退火学习率衰减,提供 SGD、Adam 两种优化器;自定义混淆矩阵工具类自动计算准确率、精确率、召回率、特异性、F1 分数,全部实验指标持久化保存为 JSON 日志。训练结束自动生成损失‑精度曲线、学习率变化曲线、P‑R‑S‑F1 指标曲线,同时绘制训练集与验证集混淆矩阵,便于直观分析各类样本识别效果。 数据预处理使用随机旋转实现数据增强,输入图像统一处理为 224×224 尺寸,使用 ImageNet 数据集均值方差做标准化。推理模块批量读取待检测垃圾图片,输出 top‑2/top‑3 类别置信度,调用 OpenCV 将类别名称与概率直接绘制在原图并保存输出结果。 CBAM 模块串行融合通道注意力与空间注意力,嵌入 ResNet 的 layer1‑layer4,让网络自主聚焦垃圾主体区域,抑制复杂背景带来的

chatbot详细代码可直接使用

配合文章使用,apikey自备

三相PWM整流器双闭环仿真(Simulink仿真实现)

内容概要:本文系统介绍了基于Simulink的三相PWM整流器双闭环控制系统的仿真实现方法,重点对比了模糊PID控制与传统PID控制在电力电子系统中的动态性能差异,涵盖系统建模、控制器设计、仿真搭建与结果分析等关键环节。同时拓展提供了丰富的科研仿真资源,覆盖无刷直流电机控制、智能优化算法、机器学习、图像处理、路径规划、通信与信号处理、电力系统管理等多个技术方向,形成面向科研与工程应用的综合性Matlab/Simulink仿真支持体系。; 适合人群:电气工程、自动化、控制科学与工程等相关专业的研究生及科研人员,具备一定Matlab/Simulink操作基础,正在开展电力电子变换、电机驱动控制或智能控制算法研究的技术工作者。; 使用场景及目标:①掌握三相PWM整流器双闭环系统的建模与仿真流程;②深入理解模糊PID相对于传统PID在抗扰动、响应速度和稳定性方面的优势;③借鉴文中提供的多样化仿真案例,推动智能算法在复杂系统控制中的创新应用与科研成果转化。; 阅读建议:建议结合文档中提供的网盘资源与公众号资料,按照目录结构循序渐进地学习各仿真模型的设计思路与实现细节,动手复现并调试代码,强化对控制策略本质与系统动态特性的理解,提升科研仿真能力。

用于非线性多载波卫星信道的多输入多输出符号速率信号数字预失真器DPD(Matlab代码实现)

内容概要:本文介绍了一种针对非线性多载波卫星信道的多输入多输出(MIMO)符号速率信号数字预失真器(DPD)的设计与实现方法,采用Matlab代码进行仿真验证。该DPD技术旨在有效补偿高功率放大器在多载波信号传输中引入的非线性失真,提升卫星通信系统的线性度与传输效率。方案聚焦于符号速率层面的处理,相较于传统的采样速率DPD,降低了计算复杂度,同时结合MIMO架构以适应现代宽带卫星通信的需求,具备良好的工程应用前景。文中提供了完整的Matlab实现代码,便于研究人员进行复现、测试与进一步优化。; 适合人群:从事通信系统设计、卫星通信、射频工程及相关领域的研究生、科研人员与工程师,具备一定的信号处理和Matlab编程基础;; 使用场景及目标:①研究非线性失真对多载波卫星通信系统的影响机制;②设计并验证适用于MIMO架构的低复杂度符号速率数字预失真算法;③通过Matlab仿真平台开展算法性能评估与优化,推动其在实际卫星通信系统中的应用落地;; 阅读建议:建议结合通信原理、非线性系统建模与数字信号处理相关理论同步学习,重点关注DPD结构选择、模型参数辨识方法及仿真结果分析,动手运行并调试所提供的Matlab代码以加深理解。

无刷直流电机模糊神经网络PID-模糊PID-传统PID三种控制对比Simulink仿真

内容概要:本文围绕无刷直流电机(BLDCM)的控制策略,利用Simulink搭建了三种控制方法——传统PID、模糊PID与模糊神经网络PID的对比仿真模型,重点研究了无刷直流电机在转速电流双闭环控制下的性能表现。通过构建统一的系统模型,对三种控制算法进行了详细的建模与仿真实验,全面分析了它们在动态响应速度、稳态控制精度以及抗外部干扰能力等方面的差异。研究结果表明,相较于传统PID控制,模糊PID及模糊神经网络PID在抑制超调、加快响应和增强鲁棒性方面具有显著优势,尤其模糊神经网络PID结合了神经网络的自学习能力和模糊逻辑的推理能力,展现出更强的自适应调控性能。该资源还涵盖电力电子、微电网、路径规划、信号处理等多个领域的MATLAB/Simulink仿真案例,服务于科研与教学需求。; 适合人群:具备一定自动化、电气工程或控制理论基础,从事电机控制、电力电子或相关方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握无刷直流电机的基本建模与转速电流双闭环控制原理;②深入理解并对比传统PID、模糊PID与模糊神经网络PID三种控制策略的设计思想与控制性能差异;③学习基于Simulink的电机控制系统仿真建模方法,掌握控制器参数整定与系统性能评估技巧,为科研项目、毕业设计或工程实践提供技术参考与解决方案支持。; 阅读建议:建议结合文中提供的仿真模型与参考文献,动手实践Simulink建模流程,重点关注不同控制器的参数调节过程与系统动态响应特性的关联性,通过对比实验深入理解各类控制算法的优缺点;同时可延伸学习文档中涉及的其他先进控制策略与仿真技术,以拓宽技术视野并提升综合实践能力。

状态估计变分贝叶斯近似的递归噪声自适应卡尔曼滤波(Matlab代码实现)

内容概要:本文详细介绍了一种基于变分贝叶斯近似的递归噪声自适应卡尔曼滤波方法,并配套提供了完整的Matlab代码实现。该方法旨在解决传统卡尔曼滤波在面对过程噪声和观测噪声统计特性未知或时变情况下性能退化的问题,通过引入变分贝叶斯推断技术,实现对噪声协方差的在线联合估计与动态更新,从而提升滤波器在非平稳环境中的状态估计精度与鲁棒性。文中系统阐述了算法的理论基础、数学推导流程、递归计算结构及关键实现步骤,涵盖了概率图模型构建、似然函数近似、变分迭代优化等核心技术环节,适用于复杂动态系统中的自适应信号处理与状态估计任务。; 适合人群:具备良好线性系统理论、概率统计与贝叶斯估计基础,并熟悉Matlab编程的研究生、科研人员及从事导航、控制、传感融合等相关领域的工程技术人员; 使用场景及目标:①应对实际工程中因噪声先验信息缺失或环境变化导致的标准卡尔曼滤波失效问题;②应用于无人机导航、智能驾驶、工业状态监测、传感器融合等高精度自适应估计场景,提升系统在不确定环境下的稳定性和准确性; 阅读建议:建议读者结合所提供的Matlab代码逐模块研读,重点理解变分贝叶斯迭代过程中噪声协方差矩阵的后验更新机制,并通过仿真实验对比所提方法与标准KF/EKF/UKF的估计性能差异,深入掌握噪声自适应滤波的设计思想与实现技巧。

upload靶场笔记精简版

upload靶场笔记精简版

有限长度直导线的三维磁场计算:应用毕奥-萨法尔定律(Matlab代码实现)

内容概要:本文详细阐述了基于毕奥-萨法尔定律(Biot-Savart Law)的有限长度直导线在三维空间中磁场分布的计算方法,通过数学建模与数值积分技术,精确求解直导线周围任意点的磁场矢量。文中结合电磁场理论推导出核心公式,并提供了完整的Matlab代码实现,支持对轴向磁铁、环状磁铁等复杂结构的磁场进行仿真分析,实现了磁场的可视化与定量计算,有助于深入理解电磁场的空间分布特性及数值仿真方法; 适合人群:具备电磁学基础知识和Matlab编程能力的高校学生、科研人员及工程技术从业者,尤其适合从事电磁场仿真、物理建模、电机设计、传感器开发等相关领域研究的专业人员; 使用场景及目标:①掌握毕奥-萨法尔定律在实际工程问题中的数值实现方法;②实现简单导线结构的三维磁场可视化与空间分布分析;③为电机、电磁传感器、磁共振设备等复杂磁体系统的建模与优化提供基础仿真工具和技术参考; 阅读建议:此资源强调理论推导与编程实践的深度融合,建议读者结合经典电磁学教材同步学习,在Matlab环境中动手调试代码,调整导线长度、电流强度、观测点位置等参数,观察其对磁场分布的影响,从而深化对矢量场积分、磁场方向性与衰减规律的理解。

微电网与电动车蓄电池优化(Matlab代码实现)

内容概要:本文档系统性地展示了基于Matlab/Simulink平台在多个工程技术领域的仿真研究与代码实现,重点聚焦于“微电网与电动车蓄电池优化”这一核心主题,涵盖能量管理、协同调度与系统稳定性提升等关键技术。文档同时广泛涉及模糊PID控制、磁场计算、状态估计(如卡尔曼滤波系列)、室内导航数据融合、电容器建模、振动对加工质量的影响、配电网可靠性评估、强化学习控制策略、数字预失真器设计及磁流变阻尼器非线性特性分析等多个前沿方向,提供了丰富的算法模型、仿真实例与技术解决方案,体现了较强的综合性与科研实用性。; 适合人群:具备一定Matlab编程能力,从事电气工程、自动化控制、新能源系统优化、电力电子、智能交通及智能制造等相关领域的研究生、科研人员或工程技术人员;尤其适合开展微电网、储能系统、电动车能量管理及相关控制算法研究的从业者。; 使用场景及目标:①用于微电网与电动汽车蓄电池协同能量管理策略的设计、仿真与性能验证;②作为Matlab/Simulink环境下各类控制系统开发的技术参考与代码复现基础;③支撑科研项目中的算法实现、模型构建、结果分析与论文撰写工作;④辅助高校课程设计、毕业设计及实验教学中的仿真建模任务。; 阅读建议:建议结合文档中列出的具体研究方向,优先深入学习“微电网与电动车蓄电池优化”部分的核心代码与模型架构,并通过实际运行与调试加深理解;同时可拓展至其他相关技术模块进行交叉学习与综合应用,以提升系统级仿真与科研创新能力。

【计算一维频域 EM 数据的解析灵敏度】频域 EM 数据解析灵敏度矩阵的计算(Matlab代码实现)

内容概要:本文详细介绍了如何利用Matlab代码实现一维频域电磁(EM)数据的解析灵敏度矩阵计算,重点阐述了灵敏度矩阵的数学推导过程及其在地球物理勘探中的数值实现方法。文章提供了完整的Matlab程序代码,用于支持频域EM数据反演中的敏感性分析,能够有效提升对地下介质电性参数变化的识别精度,进而改善反演成像的质量。该方法在理论与实践层面均具有较强的应用价值,尤其适用于需要高精度反演结果的地学研究与工程实践中。; 适合人群:具备一定地球物理学基础和Matlab编程能力的研究生、科研人员及从事地质勘探相关工作的工程技术专家。; 使用场景及目标:①应用于频域电磁法的数据处理与反演建模;②作为教学工具帮助学生理解灵敏度分析的理论基础与实现流程;③为实际地质探测项目提供技术支持,优化反演算法的稳定性和准确性。; 阅读建议:建议读者结合文中给出的Matlab代码逐行研读,深入理解每一步的数学含义与编程逻辑,同时参考经典电磁场理论教材以强化对公式推导的认知,在学习过程中可通过调整地层模型参数进行仿真实验,观察灵敏度矩阵的变化规律,进一步掌握其对反演结果的影响机制。

光伏VSG-基于虚拟同步发电机的光伏并网逆变器系统(Simulink仿真)

内容概要:本文系统整理并深度整合了多个前沿科研领域的技术研究与仿真资源,涵盖路径规划、无人机应用、电力系统优化、图像处理、信号处理、机器学习与深度学习、通信技术、智能优化算法及能源系统调度等方向。文档详细列举了基于Matlab、Python和Simulink实现的多样化课题,如光伏VSG并网逆变器、永磁同步电机控制、多无人机协同路径规划、卡尔曼滤波状态估计、裂纹检测、无线能量传输、微电网优化调度、深度学习信道估计等,并提供了完整的算法模型、仿真代码、参考文献及复现资料。内容突出数据驱动方法与智能算法在复杂工程系统中的深度融合应用,强调科研工具链的系统性构建与跨学科协同创新能力。 适合人群:具备一定编程与理论基础,从事自动化、电气工程、控制科学与工程、计算机科学、电子信息、机械工程及能源系统等领域的科研人员、高校研究生及工程技术人员。 使用场景及目标:①为科研工作者提供多学科交叉的仿真案例与技术方案参考,助力高水平论文复现与创新研究;②支持复杂系统建模、算法验证与性能优化,提升科研效率与项目落地能力;③适用于课程设计、毕业设计、科研项目申报及竞赛备赛等实际应用场景。 其他说明:所有资源可通过公众号“荔枝科研社”及指定百度网盘链接获取,部分内容关联优快云平台文章,建议按照资源目录顺序查阅以构建完整技术认知体系。

Zynq/ZynqMP PL端以太网实战:手把手教你用GMII to RGMII IP和EMIO打通网络(附KSZ9031 PHY驱动修改)

本文详细介绍了在Zynq/ZynqMP平台上使用GMII to RGMII IP核和EMIO接口实现PL端以太网通信的全栈开发流程,特别针对KSZ9031 PHY芯片提供了定制化驱动修改方案。内容涵盖硬件设计、Vivado配置、裸机驱动开发、Linux系统集成及实战调试技巧,帮助开发者高效解决工业控制和边缘计算中的以太网连接问题。

weixin_30642561的博客 579

Nsight Compute内存图表实战:如何快速定位CUDA内核的内存瓶颈(附配置截图)

本文详细介绍了如何使用Nsight Compute的Memory Chart功能快速定位和诊断CUDA内核中的内存性能瓶颈。通过解析内存图表中的逻辑与物理单元节点、连线颜色含义,并结合实战案例(如低L1缓存命中率、共享内存Bank冲突、全局内存访问未合并),指导开发者从可视化数据回溯至源代码,进行精准有效的内存访问优化,从而提升GPU程序性能。

zeta9的博客 479

用Python实现四叉树(quad tree)

import numpy as np #正方形类 class square: #lx、ly为左上角坐标(x对应行号,y对应列号),rx、ry为右下角坐标 def __init__(self,lx,ly,rx,ry): self.lx=lx self.ly=ly self.rx=rx self.ry=ry #检查该矩阵中是否满足条件 #参数:原矩阵,阈值 #返回值:布尔类型 def check(s

weixin_44164489的博客 5868

GraphSense介绍

GraphSense是一个跨账本加密货币分析平台 它的介绍在这里 代码也是开源的 graphsense-dashboard 用于交互式加密货币分析的Web仪表板。 可以看导进数据的情况 graphsense-transformation 基于spark/cassandra/java服务运行 GraphSense转换管道,用于将加密货币的区块/交易/标签等数据导入,可以看它指定的json格式: t...

幸福诗歌的博客 1081

Go语言面试:面试中经常被问到的50个经典面试题(附参考答案)

Go语言核心知识点摘要 基础语法与数据结构 make和new区别:new分配零值内存返回指针,make初始化引用类型返回实例 Slice底层:包含指针、长度、容量的结构体,多个slice可共享底层数组 nil与空slice:nil指针为nil,空slice指针非nil但JSON编码不同 Map原理:哈希表实现,非线程安全,扩容策略影响性能 for range注意:循环变量是拷贝,map遍历无序 defer执行:LIFO顺序,函数返回前执行 Struct比较:仅当所有字段可比较时才可比较 参数传递:只有值传递

数据知道的博客 4717

第十届MathorCup高校数学建模挑战赛-B题:养老服务床位需求预测与运营模式研究

当养老床位数增加时存在的商机,提出了相应的养老服务床位的运营商业模式。就业的可能性,建立多目标规划模型,尽可能同时满足三方面的要求。务床位的需求、制定合理的养老服务床位发展规划,是构建和谐社会、幸福社会。问题一的床位需求与市场类型的分类结果,查找关于国内养老院的相关数据,探。求,又能持续发展养老事业,同时还能促进社会就业的养老服务床位运营的商业。养老服务床位数的增加能够带来的就业方面因素的影响,并对这些因素进行一个。你们的模型及其结论为科学依据,对政府管理部门针对养老床位规划提出合理的。

getusushu的博客 1139

基于STM32的DS1302电子时钟电路与程序设计

这个示例代码中,我们使用DS1302_GetTime函数从DS1302芯片获取当前时间,并使用DS1302_GetDate函数获取当前日期。在本文中,我们将介绍如何使用STM32微控制器和DS1302实时时钟芯片来构建一个基于STM32的DS1302电子时钟,并提供相应的程序设计。请注意,以上示例代码仅供参考,具体的实现细节可能会根据使用的开发环境和硬件组件有所差异。在实际应用中,你可能需要根据自己的需求进行适当的调整和修改。为了完整实现电子时钟的功能,你还可以添加其他功能,例如闹钟设置、温度显示等。

UbiSqlserver的博客 1323

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 56、广义对应中位数计算与图数据库结构创新
下一篇: 常数轮可重置零知识论证
普通网友
博客等级 码龄27年 204粉丝 1502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值