构建开源可观测平台

AI赋能天文观测:Python与开源技术栈构建智能天文平台实践 天文数据处理与可视化是连接现代软件工程与宇宙探索的核心领域,其原理在于通过精确的坐标转换、时间系统和海量星表分析来解析天体信息。技术价值体现在利用开源工具栈将复杂的观测流程自动化、智能化,从而降低天文爱好者和研究人员的门槛。应用场景广泛,从智能望远镜控制、星空图像自动识别,到个性化观测计划生成和交互式星图展示。本文聚焦于如何整合Python生态中的Astropy、Plate Solving(星图解析)等关键技术,并结合CesiumJS等可视化库,构建一个功能完备的天文技术平台,解决从数据处理到工程部署中的实 阅读详情

企业始终面临着确保 IT 基础设施和应用程序全年可用的压力。现代架构(容器、混合云、SOA、微服务等)的复杂性不断增长,产生大量难以管理的日志。我们需要智能应用程序性能管理 (APM) 和可观察性工具来实现卓越生产并满足可用性和正常运行时间目标。其中包括分析应用程序运行状况、性能和用户体验。采用机器学习技术来识别异常和行为模式将有助于及早发现根本原因并满足客户服务级别协议 (SLA)。

APM和可观察性工具市场无疑是火热的。这些工具摄取多个遥测数据源,并且是强大的分析平台,提供对应用程序和基础设施健康状况(包括系统性能)的重要见解。采用可观察性的软件开发团队能够更好地迭代发布他们的应用程序代码。根据“MarketsandMarkets”的研究,可观测工具和平台的市场规模预计将从 2023 年的 24 亿美元增长到 2028 年的 4 亿美元以上,复合年增长率 (CAGR) 为 11.7%。

什么是可观察性?

可观察性是指收集有关分布式应用程序、基础设施以及其内部和外部组件和服务之间的通信的数据的能力,使团队能够勤奋地调试他们的系统。它使站点可靠性工程 (SRE)、软件工程和运营团队能够分析客户影响并对服务中断进行分类。可观察性和监控有时可以互换使用。可观察性(主动)使数据可访问,并允许您提出任何系统问题以更深入地了解代码的行为方式。监控(反应式)是收集和显示数据以及确定系统整体状态的能力的任务。
可观察性可以进一步细分为三个关键支柱:日志、跟踪和指标,这对于 SRE 可观察性至关重要。

• 日志帮助我们诊断问题并告诉我们问题发生的原因。
• 跟踪帮助我们隔离问题并告诉我们问题发生的位置。
• 指标帮助我们发现问题并告诉我们发生了什么。

市场工具、能力和挑战

Gartner 的 APM 和可观察性魔力象限已识别出 20 多个提供 APM 和可观察性功能的供应商产品,包括自托管、供应商管理或 SaaS 部署。这些产品提供多种功能,包括应用程序性能指标、事件监控和警报、可追溯性、异常检测和漏洞等。

企业业务应用程序包括自主开发的应用程序(例如.NET、Java、Python、SQL、NoSQL DB 等)、第三方/现成产品(例如 Salesforce、HubSpot 等)和集成(例如 Stripe、PayPal 等)。自行开发的应用程序托管在本地数据中心或由 AWS、GCP 或 Azure 等云供应商托管。现成的产品基于 SaaS 或通过 API 集成。高度分布式的应用程序跨越数十个和数百个节点、服务和实例。

• 工具过多:企业应用程序使用各种工具来监控应用程序运行状况和性能(例如New Relic、Data Dog 等)、错误日志记录(例如Splunk)以及云供应商提供的工具(例如CloudWatch)。这些产品在功能上重叠,维护和管理这些工具(采购、学习曲线等)可能很麻烦。

• 不可预测的数据量:想象一下根据应用程序流量、使用情况、对外部产品的依赖性等收集的可观察性数据(日志、跟踪、指标)的数量。整合这些数据源所需的数据存储量可能会快速增长。控制。

• 定价复杂:这些供应商产品还提供不同的定价模型,例如按主机收费(例如Splunk、Data Dog、Dynatrace)、按用户收费(例如New Relic)、按摄取收费(例如SumoLogic、AppDynamics)。定价模型的复杂性使得比较供应商之间的总拥有成本 (TCO) 并确定适合您的要求和预算的正确工具具有挑战性。

为什么选择开源可观测平台?

基于开源的可观测性工具旨在提供一种标准的、与供应商无关的方法,用于摄取、转换数据并将数据发送到可观测性后端。开源可观察性工具可以作为节省许可成本的替代方案,并将多个 APM 工具与适合您的要求和预算的工具整合在一起。

但是,维护开源系统可能需要付出努力来设置和维护,并且会增加您的初始运营成本。但从长远来看,您将节省许可费用并避免供应商锁定和合同协议。

Gartner 预测,到 2025 年,70% 的新云原生应用监控将使用开源工具而不是特定于供应商的代理来提高互操作性,并且 70% 的新云原生应用将采用 OpenTelemetry 来实现可观察性而不是供应商。特定代理和软件开发工具包 (SDK)。

使用开源生态系统扩展可观测性

可观察性的开源格局非常动态。有多个云原生计算基金会 (CNCF) 开源工具用于可观察和监控。这篇文章将主要关注 OpenTelemetry 框架和 LGTM 技术堆栈。

OpenTelemetry:
上述“工具太多”的挑战给遥测数据收集带来了新的挑战。每个工具供应商都有自己的 API、SDK、日志、指标和跟踪代理和收集器。我们需要使用 OpenTelemetry 框架的统一遥测收集来创建和管理遥测数据,例如日志、跟踪和指标。

CNCF 赞助的 OTEL 项目提供了一套统一的与供应商无关的 API、SDK 和工具,用于生成和收集遥测数据并将其导出到各种分析工具。您可以获得每种编程语言的一个 API 和 SDK 来提取应用程序的可观测性数据、一个标准收集器、一个传输协议 (OTLP) 等。

LGTM:
最流行的基于开源的可观测性和监控是使用 LGTM 技术堆栈实现的。

在LGTM 堆栈中,我们利用:
• Loki 用于日志聚合
• Grafana 仪表板用于遥测可视化
• Tempo(或 Jaeger)用于跟踪聚合
• 托管 Prometheus 用于指标聚合

结论

可观察性是指整个系统的完整可见性以及将业务指标与技术数据联系起来。监控是为了了解事情是否正常工作,而 AIOps 是为了从这种可见性中获取意义。可观察性和监控对于确保应用程序顺利运行并满足客户 SLA 至关重要。总之,通过投资开源 OTel 框架和 LGTM 工具,SRE 团队可以有效监控其应用程序并深入了解系统行为和潜在问题。这些工具提供成本效益和定制以满足特定要求。它促进供应商中立,这对于避免供应商锁定至关重要。

开源AI工程平台Latitude:构建LLM应用的可观测性与可靠性闭环 在大语言模型(LLM)应用开发中,可观测性与可靠性是工程实践的核心挑战。传统监控手段难以评估LLM输出的质量,而评估驱动(Eval-Driven)的方法论则通过定义多维度的质量指标(如事实准确性、指令遵循度、成本等),将主观体验转化为客观数据。这种工程实践的价值在于,它能系统化地发现和定位生产环境中的问题,例如通过聚类分析识别高频错误模式,并将其转化为自动化测试用例。应用场景涵盖从提示词调试、模型A/B测试到生产环境监控的全生命周期。Latitude作为开源AI工程平台,正是基于这一理念,提供了从可观测性、 阅读详情

相关推荐

从零部署Beacon:构建统一监控传统应用与LLM的开源可观测性平台

在微服务架构中,可观测性是保障系统稳定性的核心,它涵盖了日志、指标和追踪三大支柱,旨在通过数据洞察系统内部状态。其原理在于通过采集、聚合与分析多维数据,构建完整的系统运行视图。这一技术价值在于能快速定位故障根因、优化性能并控制成本。随着大型语言模型应用的普及,传统的错误追踪工具难以满足对提示词工程、模型调用链及Token成本等新维度的监控需求,导致运维视图割裂。开源解决方案Beacon应运而生,它将传统应用错误追踪与LLM可观测性能力整合在一个自托管平台中。通过部署其微服务架构并集成SDK,开发者可以在同一

weixin_30512043的博客 394

云原生可观测领域的半壁江山,这次被 Grafana 和 Cilium 给拿下了

两个多月前,Grafana 实验室宣布与 Cilium 母公司 Isovalent 建立战略合作伙伴关系[1],希望通过 Grafana 开源的可观测性全家桶组件,帮助各个基础架构团队深度探测 Kubernetes 集群工作负载的安全、性能和相互之间的连接状况。在这之前,Grafana 实验室还参与了 Isovalent 的 B 轮融资[2],并启动了相关的联合工程计划。这两家公司都相信,在这个 ...

云原生实验室 1080

开源监控聚合平台Synmetrix:统一多源指标,构建可观测性语义层

在云原生与微服务架构下,系统监控面临数据源碎片化、查询语言不统一、指标口径不一致等核心挑战。监控数据作为系统可观测性的基石,其有效聚合与统一管理成为保障服务稳定性的关键技术。通过构建监控指标聚合层,能够将来自Prometheus、应用埋点、云服务商等异构数据源的指标进行标准化处理,形成统一的语义视图。这一技术方案的核心价值在于实现‘定义一次,到处使用’,大幅降低监控配置的复杂度与维护成本,并为统一告警、全局仪表盘提供可靠的数据基础。Synmetrix作为开源的监控指标聚合平台,正是这一理念的工程实践,它通过

weixin_42538175的博客 294

DeepFlow开源项目终极指南:从零开始构建云原生可观测性平台

DeepFlow 是云杉网络开发的一款革命性的开源可观测性产品,它基于 eBPF 技术实现了云原生应用的零代码深度监控。无论你是运维工程师、开发人员还是技术爱好者,这个完整教程将带你从零开始掌握DeepFlow的安装和使用。 ## 什么是DeepFlow?为什么选择它? DeepFlow 的核心使命是**消除云原生环境中的监控盲区**。在传统的微服务架构中,我们往往需要为每个服务手动添加监控代

gitblog_00029的博客 634

Dust开源平台:构建可观测、可复用的LLM应用工作流

在AI应用开发中,工作流编排是连接数据、模型与业务逻辑的核心架构模式。其原理在于将复杂的AI任务拆解为模块化、可组合的执行单元,通过可视化或声明式的方式定义执行顺序与数据流向。这种模式的技术价值在于显著提升了应用的可观测性、可维护性与团队协作效率,使开发者能够从繁琐的胶水代码中解放,专注于核心业务创新。其典型应用场景包括智能客服、内容生成、数据分析自动化等需要串联多个AI模型与数据源的复杂系统。本文聚焦的Dust平台,正是这一理念的工程实践,它通过Block系统和版本化管理,将散落的“数据灰尘”与“提示词”

weixin_42626599的博客 566

LangWatch开源平台:构建LLM应用可观测性的完整指南

在大型语言模型(LLM)应用开发中,可观测性(Observability)已成为确保应用质量、优化性能和成本的核心工程实践。传统的应用性能监控(APM)工具主要关注请求延迟、错误率等基础设施指标,但难以深入洞察LLM交互的独特复杂性,如提示词(Prompt)效果、上下文相关性、Token消耗及回答质量。这导致开发者在调试模型幻觉、优化RAG(检索增强生成)系统或分析成本结构时面临巨大挑战。为此,专为LLM设计的可观测性平台应运而生,它们通过非侵入式SDK自动追踪完整交互链路,实现从概念、原理到技术价值的闭环

weixin_28728443的博客 283

OpenObserve终极指南:构建高效低成本的开源观测平台完整解决方案

🚀 **OpenObserve** 是一款革命性的开源观测平台,专为现代云原生环境设计。作为**Elasticsearch、Splunk和Datadog**的完美替代方案,它提供了**10倍更简单、140倍更低存储成本、高性能、PB级规模**的完整解决方案,支持日志、指标、追踪、RUM、错误追踪和会话回放等多种观测数据类型。 ## ✨ 为什么选择OpenObserve? 在当今复杂的分布式系

gitblog_00071的博客 348

狂神说docker(最全笔记)

一.Docker入门 1. Docker 为什么会出现 2. Docker的历史 3.Docker最新超详细版教程通俗易懂 Docker是基于Go语言开发的!开源项目 官网 官方文档Docker文档是超详细的 仓库地址 4. 虚拟化技术和容器化技术对比 4.1. 虚拟化技术的缺点 资源占用十分多 冗余步骤多 启动很慢 2.2. 容器化技术 比较Docker和虚拟化技术的不同 传统虚拟机, 虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软.

qq_21197507的博客 5万+

Langfuse开源AI工程平台:构建可观测性LLM应用的终极指南

Langfuse是一个开源LLM工程平台,专为团队协作开发、监控、评估和调试AI应用而设计。作为YC W23的优秀项目,Langfuse提供了完整的AI应用可观测性解决方案,支持OpenTelemetry、LangChain、OpenAI SDK、LiteLLM等主流框架的无缝集成。在当今AI应用开发全球化的浪潮中,Langfuse凭借其强大的多语言支持和国际化架构,成为构建全球化AI应用监控解决

gitblog_00579的博客 510

MitoZ|动物线粒体基因组组装注释软件

一、MitoZ是什么 是基于python3开发的可以自动过滤双端测序的原始数据、mt基因组组装、mt基因组注释以及mt基因组可视化的工具。 官方的说明文档地址:https://gitee.com/CHANyp/MitoZ#citation 二、MitoZ的安装 git clone https://gitee.com/CHANyp/MitoZ.git cd MitoZ/version_2.4-alpha tar -jxvf release_MitoZ_v2.4-alpha.tar.bz2 三、运行Mito

qq_50637636的博客 1万+

CentOS7下Node.js v20+安装与常见依赖库问题解决指南

本文详细介绍了在CentOS7系统下安装Node.js v20+的完整流程及常见依赖库问题的解决方案。通过升级glibc到2.28+、配置环境变量以及处理libstdc++版本问题,帮助开发者顺利在老旧系统上部署最新版Node.js,提升开发效率。

weixin_30689307的博客 157

云舟观测:集成开源Grafana Faro构建前端页面性能监控平台

在当今互联网时代,面对纷乱繁杂的网上资源,用户的耐心和注意力是极为宝贵的资源,当用户访问一个网站或应用时,他们期望的是快速且无缝的体验,任何加载延迟或功能故障都可能导致用户流失,影响品牌体验。因此,前端页面性能监控成为了确保网页应用高效运行的重要手段。01前端页面性能监控前端页面性能监控是指通过监测和分析前端网页或应用程序的加载速度、渲染效率以及用户交互响应时间等指标,以提供优化建议和改进前端体验...

HULK一线技术杂谈 1684

Windows打印体系结构之Windows内置打印驱动程序

时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的。1.3.4、Windows内置打印驱动程序现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Printer Driver)、XPS打印机驱动程序(XPSDrv)、微软通用打印机驱动程序(Microsoft UniversalPrinter Driver)、微软PostScri...

weixin_34309435的博客 2254

如何利用SOC-OpenSource实现威胁情报自动化分析

SOC-OpenSource是一个专为安全分析师和所有SOC受众设计的开源项目,旨在帮助用户实践和探索现代SOC架构,实现威胁情报的自动化分析与响应。该项目整合了多种开源安全工具,提供从数据收集、标准化处理到威胁检测和响应的完整解决方案。 ## 为什么选择SOC-OpenSource进行威胁情报自动化? 在当今复杂的网络环境中,手动处理海量安全数据和威胁情报已变得效率低下。SOC-OpenSo

gitblog_00445的博客 825

innovus中如何设置cts参数

上面是设置cts的一般设置,如果需要对某些skew group或者某些clock tree设置不一样的参数,如需要对clk1这个clock设置不一样的inverter,可以使用。需要查询已经设置过的ccopt参数,可以使用get_ccopt_property去查询,方法和set_ccopt_property一致。言归正传,cts的设置命令是set_ccopt_property,获取命令是get_ccopt_property。另外,set_ccopt_property提供一套命令查询方法。

芯冰乐 545

A Macro- and Micro-Hierarchical Transfer Learning Frameworkfor Cross-Domain Fake News Detection

近年来,社交媒体上假新闻的快速和广泛传播对人们的日常生活构成了越来越大的威胁[6, 14, 19]。为了有效打击假新闻,自动检测假新闻变得至关重要[39]。新闻内容[11, 16, 20, 27]和用户互动(即用户互动)[1, 24, 34]。基于这些类型的数据,提出了单领域假新闻检测,它从新闻文章、用户互动或两者中提取有效特征,以识别单个新闻领域内新闻的真实性(即新闻是真是假)(例如,政治新闻或娱乐新闻)。

qq_52053775的博客 155

3个步骤构建企业级AI监控平台:Langfuse开源LLM可观测性实战指南

你是否正在为AI应用的黑盒问题而困扰?作为AI开发者,你是否曾因无法追踪GPT模型调用、token消耗失控、性能瓶颈难寻而夜不能寐?Langfuse作为开源的LLM工程平台,将为你提供一套完整的AI应用监控解决方案,帮助你在5分钟内构建企业级的AI可观测性系统。 ## 为什么AI应用需要可观测性? 在当前的AI应用开发中,开发者面临三大核心挑战: 1. **黑盒问题**:GPT模型调用过程不

gitblog_00536的博客 1091

从零开始讲DDR(8)——AXI 接口MIG 使用(1)

我们简单拆解了MIG AXI接口中测试文件的整体框架,首先在sim_tb_top.sv文件中例化了DDR模型和example_top。在example_top中,又例化了MIG IP和一个流量产生器ddr4_v2_2_8_axi_tg_top。在ddr4_v2_2_8_axi_tg_top中的主要功能是分别例化了boot_mode_gen,prbs_mode_gen,custom_mode_gen和axi_opcode_gen。

apple_53311083的博客 1593

Opik开源LLM可观测性平台:构建生产级AI应用的10个核心技术实践

Opik作为Apache-2.0许可的开源LLM可观测性平台,为开发者和技术决策者提供从开发到生产的全链路AI应用监控、评估和优化解决方案。在AI应用快速发展的今天,Opik通过全面的追踪、自动化评估和生产就绪的仪表板,帮助团队处理每日4000万+追踪记录,确保LLM应用的稳定性、性能和用户体验。 ## 数据可观测性挑战:复杂AI应用的全链路监控困境 在构建生产级AI应用时,团队面临的最大挑战

gitblog_00662的博客 918

YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)

一、本文介绍 本文利用AFPN对YOLOv11的网络模型进行优化提升。AFPN采用渐近式融合及自适应空间融合操作。通过渐近式架构,逐步整合不同层级特征,有效避免非相邻层级间因语义差距过大导致的信息丢失或降级问题,确保在多尺度特征融合过程中既能保留高层语义信息,又能融入低层细节特征。本文将AFPN应用于YOLOv11中,并配置了针对小目标的检测头,能显著增强模型对不同尺度目标的检测能力,使其在复杂场景下更聚焦于目标物体特征,减少背景等无关信息的影响。 专栏目录:YOLOv11改进目录一览 | 涉及卷积层、

Limiiiing的博客 2718

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Langfuse开源AI工程平台:构建企业级LLM应用可观测性与评估系统的最佳实践

Langfuse作为一款开源AI工程平台,专注于为LLM应用提供全面的可观测性、评估、指标监控和提示管理能力。该平台支持OpenTelemetry、LangChain、OpenAI SDK、LiteLLM等主流框架的无缝集成,为企业级AI应用开发提供了完整的解决方案。在当今AI应用开发全球化浪潮中,Langfuse通过其强大的多语言支持架构和国际化设计,为全球开发者构建真正全球化的AI应用监控解决

gitblog_00709的博客 456

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

再见 ElasticSearch,是时候拥抱下一代开源云原生可观测平台 OpenObserve 了

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !OpenObserve(简称 O2)是一个用 Rust 开发的开源云原生可观测平台,专为日志、指标、追踪而构建,设计用于 PB 级工作。与需要理解和调整大量配置置的 Elasticsearch 相比,它简单且易于操作。在 2 分钟内即可启动并运行 OpenObserve。对于使用 API 获取数据并执行搜索的用户来说...

easylife206的专栏 1869

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ClickHouse 收购 HyperDX:引领开源可观测性的未来

HyperDX——一个完全基于 ClickHouse 构建的开源可观测性平台

ClickHouseDB的博客 1200

海大集团的可观测平台建设实践

海大集团是以科技为主导的中国农业龙头企业,1998年成立于广东广州,目前业务涵盖饲料、种苗、动保疫苗、智慧养殖、食品加工等现代农牧全产业链,在全球拥有分子公司逾600家、员工达4万人,位列2023中国企业500强第238位、2023中国民营企业500强第87位。凭借亮眼的业务表现和品牌影响力,海大集团连续5年榜上有名,上榜2024年《福布斯》全球企业2000强第1415位。

n9ecommunity的博客 988

OzHera 应用观测平台教程

OzHera 应用观测平台教程 项目介绍 OzHera 是一款云原生时代的应用观测平台 (APM),由小米中国区的研发效率团队开源。该平台以应用为中心,集成了指标监控、链路追踪、日志和告警功能。它实现了从指标到追踪再到日志的无缝连接和交互,并提供了一个全面的监控仪表板,包括应用健康状态列表、应用指标板、接口概览、应用概览、网关概览等,以及清晰简洁的视觉文本告警,使用户能够准确高效地定位问题。 项目...

gitblog_00867的博客 671

Helicone项目快速入门指南:构建可观测的LLM应用

Helicone是一个开源的LLM(大型语言模型)可观测性平台,专为开发者设计,用于监控、调试和改进生产环境中的AI应用程序。它提供了完整的生命周期管理工具,从请求日志记录到提示词实验评估,帮助开发团队以数据驱动的方式优化LLM应用。 ## 核心价值 1. **生产级监控**:实时跟踪LLM请求的性能、成本和用量 2. **调试能力**:深入分析每个请求的输入输出,快速定位问题 3. **实验...

gitblog_00605的博客 642
上一篇: 2024 年云繁荣:驾驭人工智能驱动转型浪潮
下一篇: 日常生活中使用的 4 个核心开发工具
优维科技EasyOps
博客等级 码龄5年 1483粉丝 395原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值