优维「架构可视化(视图)」:能力联动让系统架构看得见摸得着

easycmdb:优维科技EasyCMDB基础版 在线DEMO环境 用户名:demouser 密码:demouser 下载使用 机器最低配置要求:2C4G,硬盘20G,Centos 6.5以上及Centos 7 推荐使用安装器可视化安装 如安装环境未联网,可下载整包离线安装 功能概述 EasyCMDB是优维科技基于多年IT需求管理和项目实践,打破传统CMDB资产管理的局限,从应用视角出发,管理企业一切软硬件IT资源,提供准确信息供上层平台及周边系统场景消费的产品。 优维科技所提供的EasyOpsCMDB平台是一种敏捷、灵活、可充分自定义的CMDB平台。不同的企业可以根据所属行业的特点和自身IT系统管理的需求来自定义CMDB平台上所需要管理的资源对象和对象内的属性。通过自定义资源对象,企业不但能够针对各种硬件资产进行有效管理,而且能够对硬件上所运行的不同应用程序、以及相关的配置、权限、和访问关系等逻辑配置信息进行有效的管理。EasyOps 立即下载

图片

 撰文:鹿小U  /  制图:脾气超好

图片

在优维的产品方法论中,在探讨架构视图的管理时,我们首先需要理解架构视图的整体目标。我们在服务的过程中发现,很多客户目前仍然采用手动绘制架构视图的方式,这种方式存在几个明显的问题:

首先,手动绘制的架构图往往比较零散,难以进行统一管理。这种手工架构图难以支撑一些特定的消费场景,例如在监控发现故障时,需要通过架构视图排查是哪个资源或服务出现问题。手绘图很难与线上监控数据实现有效联动。

其次,随着客户应用系统的增多,针对每个系统手动梳理架构的工作量变得极为庞大。

此外,架构本身会经历频繁的变化,手动梳理无法及时更新架构变化,也无法有效记录架构的历史版本。

图片

针对这些或棘手或鸡肋的问题,优维推出了「架构可视化(视图)」细分化产品,并将产品目标聚焦如下:

首先,这是一个线上视图库,能有效支撑上层数据消费。我们可以将这个视图库嵌入到需要的页面中进行展示。

其次,我们结合CMDB的资源和资源关系数据基础,支撑架构图的快速生成,从而免去了手动绘制的繁琐工作。

最后,我们基于CMDB数据实现了自动更新和变化检查的逻辑,确保视图能够实时反映系统的最新状态。

图片

优维架构可视化(视图)产品能力主要可以分为四大板块:

图片

图片

图片

我们来看一下产品在绘图方面的能力。

首先,我们提供了一种直观的可视化绘制方式。在界面的左侧,用户可以找到各种元素,这些元素可以直接拖动到图表中。这些元素包括但不限于资源元素和一些额外的绘制元素。此外,我们也支持常见的绘制操作。

其次,我们的产品具备与CMDB绑定的能力。用户可以将拖出的资源元素绑定到对应的CMDB实例上,既可以是单个实例,也可以是一组实例,充分满足不同的绑定需求。同时,我们还提供了配置的跳转、图表布局等辅助功能,以增强绘制体验。

对于视图绘制产品能力,我们可以短平快地理解如下:

  • 直观的拖拽式可视化绘制

  • 丰富的元素库供用户选择和拖动

  • 支持快速绘图操作,如一键添加线条和删除元素

  • CMDB实例的灵活绑定,支持单个或批量绑定

  • 提供配置跳转和图表布局等辅助功能

图片

图片

为了减轻手动绘制图表的工作量,我们为架构可视化(视图)设计了一些小亮点:

首先,我们引入了架构模板功能。目前,系统已内置了四种模板,用户可以通过选择合适的模板来简化绘图过程;接下来,用户只需填写模板所需的一些参数,这些参数通常来源于CMDB的数据。例如,如果需要绘制一个系统的运行架构,用户需要指定要绘制的系统以及该系统所在的环境。通过这种仅需少量参数定义的方式,用户可以快速生成系统运行架构视图。

使用模板的好处在于,用户无需逐一将资源拖入视图,并手动进行服务之间的关联的繁琐操作。只需在系统自动生成的视图基础上,进行手动微调即可。这样,就避免了繁琐的操作,大大提高了绘图效率。

在视图快速生成能力的使用上,我们也做到了极简的“三步走”:

  1. 选择合适的内置架构模版;

  2. 根据模板要求填写相关参数,如系统名称和环境等;

  3. 点击确认,一键生成系统运行架构视图。

图片

除了使用内置模板来生成视图外,优维架构可视化(视图)还支持通过CMDB关系快速添加相关的点。具体操作如下:

  1. 用户可以先将一个点拖入图表中;

  2. 在这个点上,用户会看到一个小的加号图标。如果这个点是一个与CMDB关联的实例,用户可以通过点击这个加号图标来添加其相关的关联资源和关系;

  3. 例如,用户可以选择添加系统下的所有应用,平台将自动在视图中添加应用的资源点,并且自动连线;

  4. 通过这种方式,用户可以一键快速选择和绘制大量点,无需额外确认资源数据直接的关系,从而简化了绘图过程。

图片

图片

接下来,我们讨论视图的检查逻辑。优维架构可视化(视图)的一个重要功能特点是与CMDB数据的联动。在进行视图检查时,我们也是基于CMDB数据来执行检查操作,其逻辑流程是:

  1. 视图检查是自动触发的,无需用户进行任何配置;

  2. 只要视图中的点与CMDB数据建立了关联,系统就会自动执行检查;

  3. 检查的过程是对比现网CMDB数据与图中绘制的点,以识别两者之间的差异。

这样的自动化检查确保了视图与CMDB数据的实时同步,维护了视图的准确性和时效性。

图片

支持对多种变化进行检查,包括:

①图中的资源与CMDB数据之间的变化。②相关的关联关系的变化。③支持配置变化的识别。例如,原本在CMDB中关联的某个实例被删除了,我们也能够识别这种配置异常,并将其展示在配置异常列表中。

图片

前面我们讨论了视图的检查逻辑。我们的检查机制仅会暴露出异常或差异信息,而不会自动修改图表。这是因为某些架构视图可能需要人工确认后,才能被认为是可靠和可消费的。因此,在默认情况下,我们不会执行自动更新的操作。

然而,有些情况下,用户可能不希望每次都手动维护图表,而是希望完全依赖于CMDB的数据。对于这种情况,我们提供了自动更新的功能。例如,通过加号关联到图中的点,实际上是来源于该节点的关联关系。我们可以利用这种关联关系来设置自动更新。

以系统关联的应用为例,如果从CMDB中,系统下的应用从四个增加到五个,在设置了自动更新后,图中的应用也将根据CMDB实例的变化而更新,从而在图表上从四个应用变为五个。同样,如果CMDB中删除了某个实例,图中相应的关联也会被自动移除。

图片

图片

什么是视图版本控制?

在平台上,我们有两个主要的菜单项:架构广场和工作台。

架构广场的场景是针对架构消费的,因此在这里用户只能看到可消费的视图版本。而在工作台中,用户可以看到并维护自己绘制过的所有视图版本,这是一个全量的视图版本展示。

那么,架构视图版本何时会从维护状态转变为可消费状态呢?我们默认采用一个审批逻辑。可以配置架构视图平台的管理人员,当视图版本在个人工作台中发布后,它会进入审批页面。管理人员审批通过后,该视图版本就被认为是一个符合标准规范的、可消费的架构视图,并会出现在架构广场中。

两边平台都支持回溯历史视图版本。特别是当系统视图发生变更时,这通常源于系统能力的变更,可能确实涉及到架构的变动。如果发现新的视图版本存在问题或bug,我们可以通过回溯比较与之前版本的差异,来进一步分析。

这可能涉及到检查新版本中有差异的点是否存在异常。这就是我们经常提到的历史版本在消费场景中的应用。

图片

优维架构可视化(视图)还支持更多种类的架构视图消费场景。

架构视图本身的小产品页面主要专注于架构视图的绘制、维护,以及将其识别为可消费版本进行简单的视图展示。然而,架构视图的实际消费场景不仅仅局限在产品内部进行视图查看,更支持上层场景的消费。

目前,我们有以下四个场景的支持:

▎低代码构件:

我们已经将可消费的视图封装成低代码构件,允许通过低代码开发使用这些视图。其特点是能够对视图进行数据渲染,例如监控数据和告警数据,并进行二次加工后嵌入第三方平台。

▎数字化架构自定义视图:

我们考虑在数字化架构平台中增加一个自定义视图的入口,以便不仅维护既定视图,还能根据需求自定义网络架构视图,并将其集成到数字化架构中进行查看。

▎系统态势感知与监控:

系统态势感知和监控平台将支持渲染架构视图,并在图上的资源点展示指标信息和告警信息。这一块已有初步的demo能力,并将进一步支持更灵活的配置和展示。

▎Dashboard集成:

将架构视图封装成构建,以便在我们的Dashboard中直接消费。

对于如何使用低代码构件,我们来看一个简单的示例:

首先,架构视图将提供一份绘制好的图的数据,包括点、边和拓扑布局。其次,需要接入额外的待渲染数据,如指标数据或告警数据。将这些指标数据与视图数据结合,基于视图上的关联资源,根据资源实例的ID进行匹配。这样,在渲染构件上,我们能够展示视图的点边布局,并在这些点边上渲染样式效果,如颜色变化和数字展示,甚至可以自定义点击事件。这样的整个渲染构件可以灵活地嵌入到各个页面,包括第三方平台的页面,或者用于低代码开发的微应用中。

图片

图片

图片

以上是对架构视图能力的介绍。接下来,我们将简要说明架构视图与数字化架构这两者的关系。

在架构视图和数字化架构中,你会发现同时存在的关键架构:系统运行架构、系统逻辑架构以及相关的应用部署架构。这些图在两个产品中都可以绘制,但我们应该如何理解这两个产品在绘制能力上的差异,以及它们各自支持的产品能力呢?

我们的定位如下:

  • 架构视图:

    这是一个在线的视图库,主要支持视图的绘制和管理。通过绘制出的视图,它可以支撑一些上层消费场景。在架构视图中,即使是绘制系统逻辑架构或系统运行架构,也是基于CMDB关系进行首次视图绘制。后续,用户可以灵活地绘制图表,不会限制图中内容。例如,如果用户希望将所有主机放入图表中,也是允许的。

  • 数字化架构:

    这个产品不仅包含这两张图的维护,而是涵盖了整个系统架构的全生命周期的管理能力。数字化架构中包含了对这两张图的绘制能力,但在此基础上,它会进一步叠加基于架构管理的小能力点。因此,数字化架构中的视图会有一定的绘制限制。例如,逻辑架构中只能展示应用及其调用关系,运行架构中只能展示服务及其调用关系。如果用户想要查看主机,则只能通过下钻方式跳转到服务的部署架构进行查看。

在视图的消费场景上,架构视图提供了对应的构件,同时也支持内部平台的一些视图消费场景。数字化架构目前主要服务于这两态的管理,后续还将在这个基础上叠加一些对比能力,如运行态与设计态的对比等。

图片

图片

总结来说,架构视图和数字化架构虽然都与架构有关联,但它们的使用场景可能会有所不同,并且我们也考虑了这两个场景之间的联动能力。

我们的产品可以为不同的客户使用场景提供不同的产品能力。例如,如果客户只关注绘制架构视图和联动视图进行上层场景消费,可以使用架构视图的能力;如果客户需要进行系统架构的管理,则可以使用数字化架构的能力;如果客户需要同时使用这两块能力,尤其是在架构视图中需要灵活绘制视图时,也可以两个产品同时使用。

针对用户需求差异化呈现出来的产品能力多样化,是优维架构可视化(视图)的底色之一,后续我们也将进一步升级产品,相信那个时候的界面体验和功能差异将会更大,好刀宜藏,敬请拭目以待。

- end -

【AI平台】n8n入门2:第一个工作流,调用本地大模型 n8n是一款开源的,专注于AI工作流构建,支持灵活的自定义与集成。就是可以把大模型和其他工具联合起来,这就厉害了。而且,免费功能又强大,目前很火,来研究一下。 阅读详情

相关推荐

从IR Drop到EM分析:数字IC电源规划中那些没人明说的细节(以MTCMOS配置为例)

本文深入探讨数字IC后端设计中电源规划的关键细节,特别关注MTCMOS配置、电源网络电阻最小化和level shifter供电等实战技巧。通过分析IR Drop和EM问题,提供优化floorplan和powerplan的具体策略,帮助工程师避免常见陷阱,提升芯片设计的稳定性和可靠性。

q9w8e7r6t5的博客 511

9个用于绘制软件架构图的可视化模型工具

用于软件架构的9大可视化建模工具,对软件架构进行可视化建模的最佳工具。

weixin_39915649的博客 4001

CentOS 7 常用命令大全

CentOS中Linux命令

m0_63075763的博客 2019

要想做好架构可视化,你必须弄懂这十个关系

嘉宾 | 钟敬 编辑 | 李忠良 在企业数字化转型过程中,做好企业级架构的治理至关重要。而架构的可视化是其中关键的一环。围绕可视化的架构,干系人能够更好地理解和沟通企业中不同组织、系统和技术组件的结构和关系。以便不断对企业的系统架构进行优化。在 ArcSummit 全球架构师峰会(上海站)2023 上,InfoQ 邀请了 Thoughtworks 首席咨询师钟敬,他以《企业级架构可视化实践》...

独行侠梦的博客 453

FoundationPose实战:从零部署到Demo运行全记录

本文详细记录了FoundationPose从零部署到Demo运行的全过程,包括Ubuntu环境配置、项目部署、依赖安装及常见问题解决方案。特别针对复现过程中的关键步骤如CUDA版本选择、Eigen3安装等提供了实用技巧,帮助开发者高效完成FoundationPose的部署与调试。

weixin_27102543的博客 269

YOLOv10注意力革新:小波域注意力(WDA)如何实现多尺度特征精准聚焦

本文深入解析YOLOv10中的小波域注意力(WDA)机制,探讨其如何通过频域分解与动态聚焦实现多尺度特征精准提取。WDA模块结合离散小波变换与注意力机制,显著提升小目标检测性能,在VisDrone数据集上AP提升达12.6%。文章详细介绍了两种集成方案及代码实现,为计算机视觉开发者提供实用指南。

weixin_29079671的博客 253

京东云开发者|软件架构可视化及C4模型:架构设计不仅仅是UML

软件系统架构设计的目标不在于设计本身,而在于**架构设计意图的传达**。图形化有助于在团队间进行高效的信息同步,但不同的图形化方式需要**语义一致性和效率间实现平衡**。C4模型通过不同的抽象层级来表达系统的静态结构,并提供了最小集的抽象建模元素,为设计人员提供了一种低认知负载、易于学习和使用的高效建模方式。

京东科技开发者 1357

不同比例尺地质数据共享

包含20w、25w、100w、250w比例尺地质数据共享。

sinat_38828898的博客 2326

软件架构-可视化

当我们在讨论系统时,往往都会说这个系统的架构是什么样的,在你口述的同时,如果能借助某些图表,效果会更好,传统的uml建模比较复杂,目前的软件工程大家更关注效率(这里我不谈敏捷开发),uml变得很不实用,那么探寻一种更简洁有效的“架构描述”方式变得很迫切,笔者基于这个需求结合c4模型和自己的从业经验,总结了一套描述架构的方式.

xiaobao2110的博客 2781

手把手教你搭建三端口DC-DC变换器(含Boost+Buck电路实战)

本文详细介绍了如何从零开始搭建三端口DC-DC变换器,涵盖Boost和Buck电路的硬件设计、元器件选型、电路板布局、焊接技巧、控制系统设计与调试等关键步骤。通过实战案例和优化建议,帮助工程师避开常见陷阱,提升系统效率和稳定性,适用于光伏、储能等电力电子应用场景。

x8y9z0的博客 932

Labview 机器视觉(4)之 图像处理进阶 - 动态ROI与批量保存

本文深入探讨了LabVIEW机器视觉中动态ROI与批量保存两大进阶技术。动态ROI通过模式匹配或粒子分析实现检测区域的自动追踪,解决了产品位置变化带来的挑战。同时,文章详细介绍了如何设计高效的文件命名规则与异步保存机制,以实现海量图像数据的批量保存与管理,从而构建稳定、高效的工业自动化检测系统。

weixin_29234423的博客 219

读书笔记——架构可视化

架构治理的可视化

yyw794的专栏 773

ESP32-C3模组上跑通OTA升级(3)

ESP32-C3模组上跑通OTA升级(3)

phmatthaus的专栏 1352

优维大模型春季上新:「9能力+1智能体开发平台」十分提效

企业运维的数字化转型,亟需从“人找数据”转向“数据找人”——这个问题我们论述过很多次了,今天只上“纯干货”——以看得见+摸得着的方式,一口气给大家安排了9大核心能力和1个智能体开发平台的实操演示(实际库存远不止这些)。之所以选择在这个时节打出一记拳拳到肉的组合拳,只为用朴素的臻功夫诠释“通过AI技术实现运维场景的深度解耦与灵活编排,助力企业精准降本、高效提效”的实战效果。支持按属性、跨层级关系、多条件组合查询,例如“查询所有部署在华东区域且CPU使用率>90%的主机”。”,AI自动解析拓扑关系并输出答案。

EasyOps_DevOps的博客 884

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

百丽时尚×优维科技×道客战略启动「云原生一体化项目」

最近几年,百丽时尚在疫情的大环境下审时度势,以正确的商业战略赢得颇为可观的发展机遇,集团业务规模获得稳定的可持续发展,随着产能、服务、消费各端逐年呈现的强劲势头,集团业务系统和基础资源不断增加,IT运维的需求量与复杂度面临的上行压力逐级递增,对全集团的运维管理也提出了更高的要求和挑战。此外,全集团实现了灾备切换自动化,结合百丽时尚容灾环境的全局场景,实现培训环境容灾演练过程流程管理,实现自动切换,结合可视化的展现,形成统一的灾备管理工作平台。

EasyOps_DevOps的博客 966

深度学习工具包 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")

优维EasyOps®双11上新:以应用系统为中心的产品价值落地

通过系统及采集方式,可明确不同监控的用途,如拨测用于可用性/存活监控,日志用于业务监控等,能清晰了解一个系统下的采集情况。另外,有些情况并非以系统为单位进入,例如主机运维,我们将主机的监控应用视图和自定义视图进行了融合,既可以使用出厂默认的指标视图,也可以根据需要采集指标来自定义视图,甚至可以将自定义视图设置为默认概览页。采集的具体操作如下:点击采集后新建采集时,需先选择采集对象所属的系统和环境,接着设置采集实例时,所选实例范围仅为已选系统和环境下的资源实例,不会出现其他实例。

EasyOps_DevOps的博客 865

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

某基金公司赵哥“逆袭”了!!!

着重解决针对于演练如何进行规范化、流程化、标准化的管理问题,从合规和规范流程的角度,对演练计划、演练单的全过程进行标准化、流程化的全生命周期管理。在预案、应急、演练结束后,平台支持从执行、覆盖度、数量等维度对预案、应急演练结果进行度量,提供丰富的报表和视图,进行可视化呈现。最近,赵哥接到上头领导下达的一项重要任务,为了系统突发事件时,能够快速、有效地响应和恢复系统的正常运行,需要赵哥组织公司各部门联动起来,开展应急管理,制定应急预案,并定期组织应急演练。包含场景应急、系统应急、应急单。

EasyOps_DevOps的博客 245

11月更新!一口气上线20+新功能,3D架构拓扑图更具趣味性~

优维EasyOps®全平台又双叒叕上新功能了!不瞒各位小伙伴写今天这篇文章时我的手一直在抖是激动的,这次要介绍的更新太牛了尽管鹿小U已经非常认真地研究过这20多个新功能仍然无法用文字描述出这次功能批量上新「厉害程度」的十分之一啥也不说了赶快和鹿小U一起往下看看吧!HyperInsight 超融合监控APM「服务详情」支持查看服务的部署架构和依赖资源提供服务故障立体分析能力向下排查服务依赖资源的健康...

互联网运维杂谈 339

11月更新!一口气上线20+新功能,3D架构拓扑图更具趣味性

数据库执行变更遇到发布错误的文件时,客户现场存在着这样一种操作方式:用户将平台下发到客户端的sql文件通过在客户端更改文件内容的方式,来解决发布时遇到错误的问题,这种方式本质上造成了计划发布与实际发布对象的偏离,对于用户后续回溯问题,造成不易察觉的隐藏问题。,非强制,若部分用户在使用数据库变更时,无该使用问题,可以通过不配置该模型实例,正常发布即可。相较于现有的方案,可以有效的提升单位面积内所呈现的信息量,并且由于3D多了一个维度展示的空间,数据中拉开了视觉层级,避免了因数据体量增大,带来的视觉干扰。

EasyOps_DevOps的博客 1362

2022年乐维 运维如诗 6.0系列产品震撼发布!

乐维智能监控6.0是以用户为中心、从业务出发,面向全行业提供IT基础设施实时监控,智能告警,且可以快速部署、易扩展、易维护、高价值、稳定性的数字化服务平台。

乐维社区的博客 753

从零开始学大模型 | 你必须要知道的三种大模型架构可视化的方法!

通过可视化,我们能够直观地观察到模型内部的计算过程、参数分布、特征提取等,从而更好地理解模型是如何工作的,而不是将其视为一个不透明的黑盒子。这有助于识别潜在问题并进行解释。可视化有助于发现模型中的瓶颈、冗余、异常等问题,进而针对性地对模型结构和参数进行微调和优化,提高模型性能下面我们来介绍三种常用的可视化工具,希望可以在开发使用过程中,更好地理解模型。同时,在模型设计阶段,也能借助可视化,帮我们调整模型的参数。

kaka0722ww的博客 1951

软件架构可视化及C4模型

软件架构设计的终极目标不在于设计本身,而在于架构设计意图的传达。图形化有助于在团队间进行高效的信息同步,但不同的图形化方式在语义一致性和效率间存在平衡。C4模型通过不同的抽象层级来表达系统的静态结构,并提供了最小及的抽象建模元素,为设计人员提供了一种低认知负载、易于学习和使用的高效的建模方式。在实际项目落地过程中,结合C4模型以及UML、线框图等组合方式对架构设计进行可视化表达,一定程度上能够提升团队对架构设计认知的一致性以及建模效率。

系统工程实验室 377

UINO优锘:DMV架构管理可视化,打造IT系统的数字地图!

地图,人类认知和征服这个世界的重要工具。它的出现要追溯到远古时代,在文字还没有出现时,地图就已经进入人类的视野。随着历史时代的变革和发展,地图不断演变、升级。在信息时代的今天,数字地图在人们日常生活中,扮演着重要的角色:地图导航、路况查询、地理信息搜索,甚至是酒店预定等等,诸多人们日常生活中的需求,在手机地图中都能满足。数字地图已成为汇聚各类社会数据的可视化平台,是人类与世界交互的重要界面。 DMV,打造IT系统的百度地图 在IT的世界中,我们也需要这样一张地图,能够帮助我们认知和征服这个愈发复杂的世界

u013763202的博客 729

如何在一分钟内实现微服务系统下的架构可视化

为什么需要架构可视化 随着企业进行微服务架构改造,系统架构复杂度越来越高,架构变化日益频繁,微服务改造后的实际架构模型可能与预期已经产生了巨大差异,架构师或系统运维人员很难准确记忆所有资源实例的构成和交互情况;其次,系统架构在动态演化过程中可能引入了一些不可靠的因素,比如弱依赖变强依赖、局部容量不足、系统耦合过重等,给系统的稳定性带了极大的安全隐患。所以...

weixin_34357887的博客 351

优维CMDB杀手锏:基于AI大模型的「CMDB自动发现生成框架图」

优维科技推出的「CMDB自动发现生成框架图」AI大模型场景,以运维专家大模型为核心,通过技术升维打破这一僵局——基于海量级参数训练,可深度融合企业私域知识库,实现“AI即专家”的运维决策能力,让CMDB从“静态台账”进化为“动态大脑”。优维的运维专家大模型实践让我们相信,AI大模型并不是要替代传统运维,而是赋予CMDB“感知-决策-进化”的生命力。大家都用过淘宝吧——“商品快照”通常都出现在订单完成以后,是非常滞后的一种回溯机制,它并不代表先进的生产力,所以我们需要的其实是动态推理能力。

EasyOps_DevOps的博客 1315

优维应用级数字化架构管理:让企业运维天堑变通途

服务于规范化开发系统架构、架构故障排查、架构变更风险识别等一系列场景,提供架构管理在设计态、运行态、架构治理、可视化系统墙、可视化应用墙、架构规范文档、系统统计、应用统计的关键产品能力。依次点击画布上的应用节点、编辑按钮,可编排和调节应用间的逻辑访问关系和应用所处的架构层级:(应用的架构层级在创建应用时初始化,设计逻辑架构时可直接调整该属性)运行态架构可自动发现并绘制现网运行的系统的访问架构图,便于用户将运行态访问架构与设计态的逻辑架构进行对比,也便于后续实现架构治理的目的。

EasyOps_DevOps的博客 1113
上一篇: 可持续创新的 DevOps 框架
下一篇: 优维er看网易云之崩:巨头稍息的一小步,行业前进的一大步
优维科技EasyOps
博客等级 码龄5年 1483粉丝 395原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值