[学习微服务第9天] Service-Center使用入门

【教程】ServiceComb安装和配置 Apache ServiceComb 提供了融合开源生态的一站式微服务开源解决方案,致力于帮助企业、用户和开发者将应用轻松微服务化上云,实现对微服务应用的高效运维管理。 阅读详情

上一篇我们介绍了ServiceComb内置的负载均衡组件handler-loadbalance,本篇我们将介绍Service-Center使用入门。

 

一. Service-Center 是什么

ServiceCenter是一个服务注册中心。服务提供者可以将自身的实例信息注册到 ServiceCenter,以供服务消费者发现并使用它。

 

二. 为什么使用Service-Center

在微服务架构中,一个应用由一组职责单一化的服务组成,各个服务被动态的部署到不同的节点。面对这样一组服务,应该如何去管理服务之间的依赖关系呢?

 

服务注册中心的出现正是为了解决这样的问题,它提供的注册机制,允许服务提供者将自己的信息登记到中心;提供的发现机制,供服务消费者从中心查找服务提供者信息。 

服务注册中心优点:

1.解耦服务提供者与服务消费者,服务消费者不需要硬编码服务提供者地址。

2.服务动态发现及可伸缩能力,服务提供者实例的动态增减能通过注册中心动态推送到服务消费者端。

3.通过注册中心可以动态的监控服务运行质量及服务依赖,为服务提供服务治理能力。

 

三. 注册发现流程

如上图,Service-Center中服务发现流程大致有以下几个步骤:

  • 服务提供者向Service-Center注册服务信息

  • 服务提供者发送心跳,维持在Service-Center中的“UP”状态

  • 服务消费者向Service-Center注册服务信息

  • 服务消费者从Service-Center发现服务提供者信息

  • 服务消费者向服务提供者发送请求,并获取通讯结果

•Service-Center注册发现接口基于RESTful标准实现,不受开发语言限制,实现对应接口可以参考官方API文档:

https://rawcdn.githack.com/ServiceComb/service-center/master/docs/api-docs.html

•Service-Center提供了简单注册与发现的Client,其中封装了API实现,可直接使用,具体可查看:

https://github.com/apache/servicecomb-service-center/tree/master/pkg/client/sc

 

四. 使用Service-Center

为了更好的理解流程,下面我们将通过“helloword”的示例,实现基于Service-Center的注册发现,并完成Consumer与Provider之间的通讯。


以下仅展示了主要流程代码,完整示例请参考:

https://github.com/ChinX/service-center-demo/tree/simple-demo

 

 

1.目录参考

创建名为“helloworld”的项

注册中心Service-Center同步搭建 1. Service-Center注册中心 1.1 SC的下载 下载地址: https://github.com/apache/servicecomb-service-center/releases 下载最新的 2.1.0 版本(根据自身OS选择合适的软件包),下载后可直接运行。 # 第一步 start-service-center.sh (Linux/Mac) / start-service-center.bat(Windows) # 第二步 start-frontend.sh(Linux/Mac) / 阅读详情

相关推荐

ServiceComb 开发实战(1) —— Service-Center 安装部署

ServiceComb 开发实战(1) —— Service-Center 安装部署 一. Service-Center 是什么 Service-Center(SC)是一个服务注册中心。 服务提供者(provider)可以将自身的实例信息注册到 SC,以供服务消费者(consumer)从 SC 发现并使用它。 在传统服务中,一般将 provider 的实例信息配置到指定的配置文件中,以供 cons...

ch54948054的博客 6464

springcloud部署——docker和docker-compose

最近一直在研究微服务的东西,发现微服务项目的部署运维比较麻烦,经过几天终于完整的把一套微服务部署了起来,这期间真是遇到太多问题,虽然最终觉得都不是什么大问题,但是这个过程总是艰难的,还好硬着头皮坚持了下来。本篇文章的项目是用了一个开源项目,对其进行了改造,是一个很不错的微服务学习开源项目,推荐一下:地址为https://gitee.com/wells2333/spring-microservice...

qq_35008624的博客 1096

Python单体到微服务迁移实战:FastAPI+Consul+Docker完整指南

微服务架构通过将单体应用拆分为多个独立部署的服务,解决了业务规模扩大后代码耦合、扩展性差、发布频繁冲突等痛点。其核心原理是按业务能力划分边界,服务间通过注册中心实现动态发现与通信,从而获得独立伸缩和故障隔离的能力,适用于团队规模增长、模块高并发或独立演进需求的场景。然而,迁移过程中服务注册、网关路由、异步解耦和配置管理往往成为最大障碍。本文以Python生态为背景,从单体模块化改造入手,结合FastAPI、Consul、Docker与消息队列,逐层拆解服务注册发现、同步/异步通信、轻量网关、配置中心及批量任

weixin_34392435的博客 304

技术学习本质:从解决问题出发避免表演式学习

技术学习是软件开发领域的核心话题,其本质在于通过掌握新技术解决实际工程问题。从原理层面理解,有效的学习应该遵循问题驱动的路径,深入理解技术背后的实现机制而非停留在表面语法。在工程实践中,这种深度学习方式能够显著提升开发效率、优化系统性能并降低维护成本。特别是在当前快速迭代的技术环境下,开发者需要建立可持续的学习体系,通过项目实践巩固知识,避免盲目追逐技术热点。本文围绕'演学生'现象展开讨论,强调技术学习的实际价值,帮助开发者构建真正有效的学习方法论。

virusswb的专栏 355

Spring Cloud微服务集成Nacos配置中心:从原理到实战的完整指南

在微服务架构中,配置管理是保障系统弹性和运维效率的核心环节。其基本原理是将应用配置从代码中解耦,实现集中化存储与管理。通过动态配置中心技术,可以在运行时更新配置并实时生效,无需重启服务,这极大地提升了系统的可维护性和灵活性。这一技术价值在于支持快速迭代、多环境部署与灰度发布,广泛应用于电商、金融等需要高可用和敏捷响应的业务场景。本文以Spring Cloud Alibaba生态下的Nacos配置中心为例,深入解析其与Spring Boot的版本兼容性、bootstrap.yml配置、动态刷新机制及多环境隔离

weixin_30847865的博客 312

微服务配置管理实战:基于Apollo实现配置中心化与动态更新

在微服务架构中,配置管理是一个基础且关键的技术环节。传统的配置文件方式在服务数量增多时,会面临配置分散、维护困难、无法动态更新等问题。其核心原理是通过将配置信息从应用代码中分离,集中存储和管理,实现配置的版本控制、实时推送和环境隔离。这一技术价值在于提升运维效率、降低人为错误风险,并支持服务的快速迭代与弹性伸缩。常见的应用场景包括多环境配置管理、功能开关、数据库连接信息、第三方服务密钥等动态参数的统一管控。本文以携程开源的分布式配置中心Apollo为例,详细介绍了如何从零搭建服务端,并集成Spring Bo

weixin_34414196的博客 430

RuoYi-Cloud微服务消息中心架构设计与优化实践

消息中心作为企业级系统的关键组件,其架构设计直接影响系统的扩展性和可靠性。本文从微服务架构下的消息处理原理出发,探讨如何通过分层设计和分表策略解决传统单表结构的性能瓶颈。技术方案采用Spring Cloud生态实现消息路由与通道隔离,结合Redis幂等控制和Spring Retry重试机制保障消息可靠性。在RuoYi-Cloud实际案例中,该方案使吞吐量提升6倍至3000 TPS,同时支持邮件、短信等多通道扩展。特别针对高并发场景,详细介绍了批量处理、读写分离等优化手段,为分布式系统消息模块设计提供可复用的

weixin_33827590的博客 419

Windows Server 2028预览版安装测评:安全增强与云原生优化深度解析

服务器操作系统作为企业IT基础设施的核心组件,其演进始终围绕安全性、性能和管理效率三大维度展开技术迭代。从技术原理层面,现代服务器操作系统通过虚拟化安全机制、容器化运行时环境和自动化管理框架,构建起支撑企业级应用的技术底座。Windows Server 2028在技术价值上实现了安全防护体系的全面升级,基于虚拟化的安全功能将攻击面缩减了15%,同时通过存储空间直通优化使IOPS性能提升20%。在应用场景方面,该版本特别适用于需要高强度安全防护的金融行业、追求敏捷部署的云原生架构,以及大规模数据中心自动化运维

weixin_30753873的博客 361

5个生产级AI Agent项目实战指南:RAG、Graph、微服务架构全解析

AI Agent 是大模型从‘能说会写’迈向‘可执行、可编排、可运维’的关键范式升级。其核心在于将意图理解、工具调用与决策路径显性化,依托Function Calling实现动作能力,通过RAG增强事实记忆,借图结构(Graph)支撑多跳推理,并以微服务化设计保障系统韧性。在企业落地中,稳定性、可观测性与错误可追溯性远比模型参数更关键。本文聚焦已验证于财务月报、合同审查、风控关联分析等真实场景的5个高可用开源项目,覆盖LangChain+LlamaIndex双引擎RAG、Neo4j图谱Agent、AutoG

weixin_34203832的博客 776

APISIX 从入门到生产:动态 API 网关部署与核心配置实战

在微服务架构中,API 网关作为核心流量入口,负责统一管理、路由和保障后端服务。其核心原理是通过拦截所有外部请求,根据预定义的路由规则进行匹配、转发,并集成认证、限流、监控等治理能力。这种集中式管理带来了显著的技术价值:它将非业务功能(如安全、流量控制)从业务代码中解耦,提升了系统的可维护性、安全性与可观测性,是构建稳定、高效分布式系统的基石。其典型应用场景包括微服务聚合、统一认证授权、全局流量治理与灰度发布等。本文聚焦于现代 API 网关 APISIX,针对常见的静态路由配置僵化、变更成本高等痛点,通过实

weixin_34130389的博客 401

SpringBoot集成Nacos配置中心:从基础配置到动态刷新实战

本文详细介绍了SpringBoot集成Nacos配置中心的完整流程,从基础环境配置到动态刷新机制实现。通过核心注解使用、多环境管理、安全配置等实战案例,帮助开发者快速掌握Nacos在微服务架构中的配置管理能力,提升应用的可维护性和灵活性。

weixin_30902251的博客 520

私有云项目管理软件选型指南:7款自托管工具深度对比

私有云项目管理不是传统任务跟踪,而是融合代码、配置、基础设施与安全策略的声明式协作系统。其核心在于实现需求-代码-部署-审计的全链路可追溯,支撑Kubernetes、Terraform、CI/CD等现代技术栈的协同治理。关键技术价值体现在降低协作熵值、强化IaC变更追踪、满足等保与ISO27001审计要求,并打通开发、运维、安全、测试多角色工作流。典型应用场景包括K8s集群升级管控、灰度发布状态同步、OPA策略前置校验及一键合规报告生成。本文聚焦GitLab Self-Managed、Azure DevOp

weixin_33860553的博客 206

CPU还是GPU?深度学习场景下的选型、配置与运维

CPU与GPU的架构差异是理解现代计算性能的关键。CPU以低延迟处理复杂指令流见长,GPU则通过数千个核心实现高吞吐并行计算,两者在设计哲学上截然不同。深度学习训练依赖矩阵运算与卷积操作,天然适配GPU的大规模并行架构,而显存容量与带宽直接决定了模型能否训练及训练效率。从驱动安装、CUDA环境配置到PyTorch等框架的调用,再到GPU服务器运维中的利用率监控与故障排查,掌握这条完整链路是工程落地的核心技能。围绕CPU与GPU的选择逻辑、深度学习场景下的显存估算方法,以及常见问题的排查思路,可以帮助开发者和

weixin_34198762的博客 367

Apache ServiceComb Service-Center SSRF漏洞复现(CVE-2023-44313)

Apache ServiceComb Service-Center SSRF漏洞复现(CVE-2023-44313)

m0_50797689的博客 630

华为-微服务服务中心-ServiceCenter-课程学习

华为-微服务服务中心-ServiceCenter-课程学习,整套技术文档,PDF

Overleaf+EndNote+BibTeX:手把手搞定Elsevier期刊投稿的参考文献格式(避坑指南)

本文详细介绍了如何利用Overleaf、EndNote和BibTeX三大工具无缝协作,解决Elsevier期刊投稿中的参考文献格式问题。从工具链配置、文献库导出、BibTeX文件优化到Overleaf集成与编译,提供全流程指南和常见问题解决方案,帮助学术新手高效完成Elsevier期刊投稿。

weixin_30616969的博客 513

结合qtdesigner,用pyqtgraph在界面上绘制波形图(一)

思路:先画图,然后在qtdesigner上放一个容器,给这个容器添加一个布局,然后把图当作一个Widget放入布局中。二、PyUIC把test.ui转换成test.py,再新建一个load_test.py写脚本。就这么简单,基础部分就完成了。也可以给它添加样式,我知道的样式不算多,但会继续写。一、随便拖进来一个容器控件,我拖了一个Widget。要想把波形图显示在界面上,核心思想其实很简单。三、load_test.py的代码。

learninger_lt7的博客 1805

NVIDIA DGX Spark 深度应用解析:从大模型训练到边缘推理的完整实践指南

内存管理:充分利用统一内存架构,避免不必要的数据传输批处理大小:根据模型大小调整批处理大小以优化内存使用精度选择:在精度损失可接受范围内使用较低精度计算流水线优化:重叠计算和数据传输操作DGX Spark作为一个专门的AI计算平台,在大模型开发的各个阶段都能发挥重要作用。从数据预处理到模型训练,从微调到推理部署,其统一内存架构和强大的计算能力为AI开发者提供了前所未有的本地开发体验。需要注意的是,虽然DGX Spark性能强大,但合理的算法设计和系统优化仍然是获得最佳性能的关键。

time_days的博客 2872

NVIDIA Jetson Orin DLA架构解析与AI推理优化实践

深度学习加速器(DLA)作为专用AI推理芯片,通过固定功能架构实现卷积、池化等神经网络操作的高效能比处理。其核心原理在于硬件级优化计算单元与数据流,相比通用GPU可提升3-5倍能效。在边缘计算场景中,DLA与GPU的异构协同成为关键,特别适合自动驾驶感知、机器人视觉等实时性要求高的应用。NVIDIA Jetson Orin平台通过结构化稀疏技术,在ResNet50等模型上实现近2倍性能提升。开发实践中需注意算子支持、精度校准等关键点,结合TensorRT工具链可充分发挥DLA在低功耗场景的独特优势。

weixin_32999557的博客 399

四旋翼滑模控制:从理论到Simulink实现

本文深入探讨了四旋翼滑模控制的理论与Simulink实现,对比了其相较于PID控制在抗干扰和鲁棒性方面的显著优势。文章详细介绍了从精确动力学建模、内外环滑模控制器设计到指令解算的完整流程,并分享了Simulink仿真搭建、参数调试及抗扰性能验证的实战经验,帮助工程师掌握在复杂环境下提升四旋翼稳定性的进阶技能。

weixin_29163581的博客 375

华为OD机试 - 第k个排列 - 全排列递归(Python/JS/C/C++ 2025 C卷 100分)

给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有n!按大小顺序升序列出所有排列的情况,并一一标记当n=3时,所有排列如下“123”,“132,“213”,“231”,“312”,“321”输入两行,第一行为n,第二行为k,给定n的范围是[1,9],给定k的范围是[1,n!排列为“12”和“21”,第2个是“21”。给定n和k,返回第k个排列。输出排在第k位置的数字。只有一个排列,直接返回。

学Java,找哪吒 990

从你的全世界路过---陌陌X-SIGN还原

我们上期介绍了hook 接口方式,今天我分析so 层。学习是为了复杂的事情简单化。不用如此繁琐。跟进native_sdbyecbu37x这个函数,我们f5看伪代码 v13 = sign(v9, v10, v11, a6); 跟进这个函数 代码如下(示例): 2.代码贴入 SHA消息摘要java代码如下: java 代码如下(示例): 总结 算法,结合动态调试!

任雪飘的博客 2303

【NVIDIA】Jetson Orin Nano系列:烧写Ubuntu22.04

Jeson Orin Nano系列:烧写Ubuntu22.04 电脑主机可以是Ubuntu20.04

郭老二 4897

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

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...

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: [学习微服务-第8天] ServiceComb内置负载均衡组件handler-loadbalance
微服务ServiceComb社区
博客等级 码龄9年 97粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值