一、Elasticsearch基础概念及ES8集群安装

Elasticsearch 8.x实战 | elasticsearch 8.x 集群离线安装 本文以elasticsearch8.6.2为例详述linux集群离线部署步骤,以为基础,针对部署过程中可能的疑问作说明。因为项目安全等的原因,很多时候我们要部署的目标机器是不能访问互联网的。本文是个人离线部署过程记录,希望也能帮助到有同样需要的同学。 阅读详情

基础概念及es8集群安装

文档汇总

  1. 点击查看官方文档汇总
  2. 点击查看Elasticsearch Clients文档,如JAVA客户端文档
  3. 点击查看REST APIs文档
  4. 点击查看Elasticsearch配置项文档

基础概念

  1. 集群cluster
    一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是"elasticsearch"。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群
  2. 节点node
    一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的漫威漫画角色的名字,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说挺重要的,因为在这个管理过程中,你会去确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。
    一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做"elasticsearch"的集群中,这意味着,如果你在你的网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做"elasticsearch"的集群中。
    在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点。这时启动一个节点,会默认创建并加入一个叫做elasticsearch的集群。
  3. 结构
    请添加图片描述

下载及官方文档

官方github点击下载对应所需ES版本zip压缩包

📌任意不懂内容可以直接在ES官网搜索就能找到对应文档,比如
搜索cluster.initial_master_nodes,就可以找到此配置相关内容

安装es8

  1. 解压对应安装包elasticsearch-8.x.x-zip,先启动初始化一下es,
    执行bin目录下的elasticsearch.bat

    初始化完成后,保存初始化完获取的信息后面需要用到

    -> Elasticsearch security features have been automatically configured!
    -> Authentication is enabled and cluster connections are encrypted.
    
    ->  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
      3maAuxJjHdgoSTgaH9+S
    
    ->  HTTP CA certificate SHA-256 fingerprint:
      e7818ec3032eacef7dc911d97ca5998c5058987a44aecee3a6d128bed8e1315f
    
    ->  Configure Kibana to use this cluster:
    * Run Kibana and click the configuration link in the terminal when Kibana starts.
    * Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
      eyJ2ZXIiOiI4LjQuMSIsImFkciI6WyIxOTIuMTY4LjUwLjE0Njo5MjAwIl0sImZnciI6ImU3ODE4ZWMzMDMyZWFjZWY3ZGM5MTFkOTdjYTU5OThjNTA1ODk4N2E0NGFlY2VlM2E2ZDEyOGJlZDhlMTMxNWYiLCJrZXkiOiItWm43em9ZQjIxWndudC0weXpRQjpCbjZjblpfV1NreVR0bHlRckQyR0FBIn0=
    
    ->  Configure other nodes to join this cluster:
    * On this node:
      - Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`.
      - Uncomment the transport.host setting at the end of config/elasticsearch.yml.
      - Restart Elasticsearch.
    * On other nodes:
      - Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated.
    --------
    
    
  2. 暂不关闭服务,修改一下elastic的随机密码,方便后面测试

    bin/elasticsearch-reset-password -u elastic –i 修改为123456,修改后关闭服务

  3. 安装下载IK分词器拓展,需要注意版本和ES版本对应下载及官方文档

    将分词器zip安装包右键解压到es安装目录下的plugins目录即可,如xx/plugins/elasticsearch-analysis-ik-8.x.x

    可替代的中文分词包括HanLP分词

  4. 修改es的jvm内存配置,因为是在本机测试,到时会有多个服务启动,将内存配置改小,找到es安装目录下的config/jvm.options,添加或者修改以下配置项

    -Xms256m
    -Xmx256m
    
  5. 修改es的配置文件,找到es安装目录下的/config/elasticsearch.yml,修改或新增以下内容

    xpack.security.enabled: true
    xpack.security.enrollment.enabled: true
    
    xpack.security.http.ssl:
      enabled: true
      keystore.path: certs/http.p12
    
    xpack.security.transport.ssl:
      enabled: true
      verification_mode: certificate
      keystore.path: certs/transport.p12
      truststore.path: certs/transport.p12
    
    http.host: 0.0.0.0
    http.port: 9201
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    ingest.geoip.downloader.enabled: false
    cluster.name: my-es
    node.name: node-1
    node.roles: [master,data]
    cluster.initial_master_nodes: ["node-1","node-2","node-3"]
    network.host: 127.0.0.1
    transport.port: 9301
    discovery.seed_hosts: ["127.0.0.1:9302","127.0.0.1:9303"]
    
    

    注意查看原文件是否已有重复配置项,配置重复项启动服务时会闪退

    xpack.security相关配置是开启es的https证书安全认证

    http.host配置允许访问的主机,0.0.0.0表示可以被任意远程主机访问

    http.port当前节点提供对外HTTP访问的端口

    http.cors相关配置开启跨域访问,配置es-head图形化界面

    ingest.geoip.downloader.enabled表示是否启用geoip数据库的相关更新,否则启动时更新会有geoip相关报错,设置false重新启动后会自动删除.geoip_databases索引

    cluster.name表示配置集群名称,一个节点只有在与集群中的所有其他节点有相同的cluster.name时才能加入集群

    node.name表示当前节点名称

    node.roles表示当前节点允许充当的角色,master即有机会选举为主节点,data可充当数据操作节点,如CRUD、搜索和聚合

    cluster.initial_master_nodes表示一个集群中符合主节点条件的节点初始集合

    discovery.seed_hosts表示集群中符合条件的主节点地址列表。每个地址的格式都是host:port或host。如果没有给出端口,则通过按顺序检查以下设置来确定

    1. transport.profiles.default.port
    2. transport.port
      如果这两项都未设置,则默认端口为9300
      network.host设置此节点HTTP和数据传输的地址。节点将绑定到此地址,并将其用作发布地址,可以是IP地址、主机名或特殊值1,默认为local

    transport.port节点间的数据传输使用端口

📌更多配置项可以在官方文档中查看点击查看Elasticsearch配置项文档

  1. 此时es的单个节点配置已完成,将安装文件夹修改为cluster-node1,将cluster-node1复制出来两份,分别重命名为cluster-node2、cluster-node3,同时分别清空cluster-node2、cluster-node3下的logs夹内容,删除整个data文件夹,cluster-node1不需要进行上述操作

  2. 复制cluster-node1的配置文件,YAML 代码块,同样注意不要重复配置

    1. cluster-node2的配置文件修改为以下内容
    xpack.security.enabled: true
    xpack.security.enrollment.enabled: true
    
    xpack.security.http.ssl:
      enabled: true
      keystore.path: certs/http.p12
    
    xpack.security.transport.ssl:
      enabled: true
      verification_mode: certificate
      keystore.path: certs/transport.p12
      truststore.path: certs/transport.p12
    
    http.host: 0.0.0.0
    http.port: 9202
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    ingest.geoip.downloader.enabled: false
    cluster.name: my-es
    node.name: node-2
    node.roles: [master,data]
    cluster.initial_master_nodes: ["node-1","node-2","node-3"]
    network.host: 127.0.0.1
    transport.port: 9302
    discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9303"]
    

    b. cluster-node3的配置文件修改为以下内容

    xpack.security.enabled: true
    xpack.security.enrollment.enabled: true
    
    xpack.security.http.ssl:
      enabled: true
      keystore.path: certs/http.p12
    
    xpack.security.transport.ssl:
      enabled: true
      verification_mode: certificate
      keystore.path: certs/transport.p12
      truststore.path: certs/transport.p12
    
    http.host: 0.0.0.0
    http.port: 9203
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    ingest.geoip.downloader.enabled: false
    cluster.name: my-es
    node.name: node-3
    node.roles: [master,data]
    cluster.initial_master_nodes: ["node-1","node-2","node-3"]
    network.host: 127.0.0.1
    transport.port: 9303
    discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302"]
    
  3. 以此启动三个节点,cluster-node1、cluster-node2、cluster-node3

    bin/elasticsearch.bat,

    三个节点访问地址,任意一个浏览器访问,登录elastice/123456即可正常访问

    cluster-node1:https://127.0.0.1:9201

    cluster-node2:https://127.0.0.1:9202

    cluster-node3:https://127.0.0.1:9203

    到此es8集群安装结束


安装es-head图形化管理插件

  1. 下载es-head扩展包
  2. 安装到谷歌浏览器的扩展程序,步骤如下
    a. 将下载的压缩包解压,得到crx文件
    b. 将.crx修改为.zip,然后解压缩,将解压得到的多个文件(文件夹)移动至新文件夹;
    c. 在浏览器扩展页面选择“加载解压缩的扩展”,找到上面解压的目录文件夹,选中确认即可完成安装。
    文件夹不可删除,否则将导致插件不可用
  3. 浏览器点击es-head插件,打开管理页面,配置任意一个节点地址,输入密码,即可正常加载管理页面

在这里插入图片描述

如果点击"连接"没反应,先复制地址到浏览器访问一下,再回到当前页面继续连接

  1. 测试新建一个索引,如图

在这里插入图片描述

效果和前面结构分析一致,不同的分片分散在不同的节点
在这里插入图片描述

黑色加粗的为主分片,浅色黑边对应的是副本


  1. local
    系统上的任何环回地址,例如127.0.0.1
    site
    系统上的任何站点本地地址,例如192.168.0.1。
    global
    系统上任何全局范围的地址,例如8.8.8.8。
    [networkInterface]
    使用名为[networkInterface]的网络接口的地址。例如,如果您希望使用名为en0的接口的地址,则设置network.host:en0。
    0.0.0.0
    所有可用网络接口的地址。在一些系统中,这些特殊值解析为多个地址。如果是这样,Elasticsearch将选择其中一个作为其发布地址,并可能在每次节点重新启动时更改其选择。确保每个可能的地址都可以访问您的节点。注意:任何包含:的值(例如IPv6地址或某些特殊值)都必须引用"",因为:是YAML中的一个特殊字符。 ↩︎

ES8 向量搜索(knn-search)java-api 实践 es8 向量搜索, java-api 实践 阅读详情

相关推荐

Docker安装ElasticSearch8.X docker安装elasticsearch8.X完整详细教程

在新安装的情况下,您需要设置一个初始的内置用户以及相关的登录凭据。表示 指定 Elasticsearch 节点在单节点模式下运行,即启动一个独立的 Elasticsearch 实例而不是一个多节点集群。端口:是用于Elasticsearch节点之间的内部通信和数据传输的端口,也称为传输层端口。端口:用于HTTP REST API与Elasticsearch进行通信和操作的端口。表示 es-head访问端口,开启主机与容器端口映射。端口,访问宿主机端口的时候会映射到对应容器端口。容器启动之后使用浏览器访问。

半只 1万+

Elasticsearch8版本安装详解,单节点部署、多节点部署、冷热温集群部署、IK分词器安装、简单生产安全模式配置

Elasticsearch8版本安装详解,单节点部署、多节点部署、冷热温集群部署、IK分词器安装、简单生产安全模式配置,配置文件参数基础

timber wolf 1万+

Elasticsearch:6.0及其ES-Head插件安装

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎;是目前全文搜索引擎的首选,性能测试我们就不累赘了,网上能搜索到很多性能测试结果,不管老版本还是新版本对Java的兼容很友好。搜索也很高效。那我们今天就介绍下如何安装?

一些平时在开发过程中遇到的常见问题,分享给大家 2898

Elasticsearch 8 的详细安装步骤和基本使用

简称es8是一款非常强大的开源搜索引擎,具备非常多强大功能,网上对其有非常详细的定义这里不多做赘述,总之它是在你查询语句性能达到瓶颈,并且使用了索引、缓存等手段仍然无法突破的情况下的另一种十分有效的解决方案。

ShockChen7的博客 4704

ElasticSearch+ES HEAD安装详细教程

最近公司开发一个数据分析的功能,经过技术评审决定使用ElasticSearch进行实现。 记第一次使用ES 关于Id设置的问题 关于ElasticsearchRepository启动加载问题 ...

sinat_23324343的博客 4194

[ensp报错:USG6000V错误代码45解决方案]

[ensp报错:USG6000V:错误代码45解决] [ensp报错:USG6000V:错误代码45解决] 第一种处理方式: ensp的45错误帮助文档里的解决方法:(这里就不说了,上华为爸爸的图) ensp的45错误:如果你的45错误不是描述的那个,可能是ensp与virtualbox不兼容了。 错误描述:具体表现为在virtualbox里没有vfw_usg的条目,虚拟介质管理器里也没有相应的条目: 就是vfw_usg_vdi这个 这种情况下你把ensp卸载重装多少次都没用,原因在两个软件的兼容

weixin_45456536的博客 3万+

ES - ElasticSearch基础概念详解

Elasticsearch(简称ES)是一个基于Apache Lucene构建的开源、分布式、RESTful接口的全文搜索引擎,Elasticsearch通过对Lunece的封装,隐藏了复杂性,提供了使用简单的RESTful Api。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,因为对文档进行了分词处理。ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据,可以在极短的时间内存储、搜索和分析大量的数据。

深入Java世界:探索编程之美与技术深度 2938

Monocle2拟时轨迹基因模块的GO富集解析

本文详细解析了如何对Monocle2拟时分析中得到的基因表达模块进行GO富集分析。通过从热图对象中提取聚类模块,并利用clusterProfiler等工具进行功能注释,将抽象的基因表达时序模式转化为可解释的生物学功能主题,如免疫应答、细胞外基质组织等,从而深入理解细胞命运转变的驱动机制。

gpt4scribbler的博客 500

ElasticSearch 认识和安装ES

es是一个分布式、高性能的搜索引擎,广泛应用于大数据检索、日志分析、实时搜索等场景。与传统数据库相比,ElasticSearch 对于大规模数据的处理具有显著优势,特别是模糊查询、分词分析、语义理解等复杂搜索任务。本章内容主要是介绍了 Elasticsearch 的基础知识、它的起源以及如何安装和配置 Elasticsearch 和 Kibana。安装过程中使用 Docker 是一种方便快捷的方式,可以轻松启动单机模式的 Elasticsearch 服务,并结合 Kibana 进行可视化操作。

2301_80093566的博客 1847

适航规章、标准,书籍资料下载汇总(更新中)

以下是一些收集到的适航相关的资料,分享给大家。(如果没有你想要的资料,请留言,等找到会及时更新!

qq_41854911的博客 2557

YOLOv11改进,YOLOv11添加DCNv4可变性卷积(windows系统成功编译),二次创新C3k2结构,全网最详细教程

引入了可变形卷积 v4 (DCNv4),这是一种为广泛视觉应用设计的高效且有效的操作算子。DCNv4通过两项关键增强解决了其前身DCNv3的局限性:1. 移除空间聚合中的softmax归一化,以增强其动态特性和表达能力;2. 优化内存访问以最小化冗余操作,从而加速计算。这些改进使得DCNv4相比DCNv3显著加快了收敛速度,并且处理速度大幅提升,前向传播速度超过三倍。DCNv4在多个任务中表现出色,包括图像分类、实例和语义分割,特别是在图像生成方面表现突出。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2666

ES安装的详细步骤、ES的集群搭建以及ElasticSearch安装时可能出现的问题

ElasticSearch,基于lucene的全文检索服务器,ES安装的详细步骤以及ElasticSearch安装时可能出现的问题

weixin_66479402的博客 3628

YOLOv12改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 什么!不知道如何改进模型⁉️ 本专栏所使用并改进的每一个模块均包含详细的模块分析、原理讲解、个人总结、多种改进方式以及完整的修改流程,所有改进100%可直接运行,性价比极高。2️⃣ 找不到合适的模块⁉️ 所有改进点均为近三年顶会,顶刊提出的先进算法,将其融入到中,并进行二次创新,新颖度高,创新度高,能够适应不同的任务场景。3️⃣ 不确定自己改进的步骤、结果是否正确⁉️ 订阅专栏即可进群享受模型训练、模型改进、论文写作、投稿选刊,从入门到论文的各种答疑内容,非常适合新手。4️⃣ 团队内发表数篇SCI论

Limiiiing的博客 2万+

Docker上安装部署Elasticsearch(ES)详细教程

Docker部署ES,Kibana和IK分词器

djdjfjf1的博客 1万+

UNet改进(24):注意力机制-从基础原理到高级融合策略

本文系统探讨了如何通过引入各类注意力机制增强UNet在医学图像分割中的性能。文章分为基础篇、进阶篇和高级篇三个层级:基础篇介绍了时序注意力、可变形注意力、分层注意力等8种基础机制;进阶篇提出了5种混合注意力设计;高级篇则探讨了全局+局部+多尺度等复杂组合机制。实验表明,这些注意力模块在心脏MRI、肺部感染等任务中能提升2-15%的分割精度。文章还提供了硬件适配建议和完整实现代码,为研究者提供了全面的技术参考。未来方向包括NAS优化、量子注意力等前沿探索,为UNet在医疗影像等领域的应用革新提供了理论指导。

2501_91516851的博客 765

Nerf 训练自有数据

colmap相机位姿转为LLFF格式数据

zfjBIT的专栏 2309

ElasticSearch之ES8新特性及集群安装

ElasticSearch之ES8新特性及集群安装

scorpio的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ES搜索引擎入门+最佳实践(一)

本篇文章计划给大家介绍什么ES,ES的架构,以及ES搜索入门.我尽量用简单不拖沓的语言给大家介绍,水平有限,时间也有限,各位读者如发现文中有不当之处,请留言指正.ES的全称是Elasticsearch,翻译过来就是弹性搜索,知道就可以,不用纠结这个词的含义,我觉得这个词并不能表述ES的含义.ES并不是传统意义上的数据库,所以不需要用传到的数据库例如Oracle,mysql等数据库与ES进行类比.ES是建立在Lucene(全文搜索)基础上的分布式准实时搜索引擎.

柳老师的博客 3391

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ElasticSearch8集群的安装部署

ElasticSearch8集群的搭建与简单使用

weixin_44418421的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ElasticSearch分布式搜索引擎

elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域: 而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。elasticsearch底层是基于lucene来实现的。Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。elasticse

我的博客 2453

【Elasticsearch系列一】Elasticsearch安装

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 3万+

ES(Elasticsearch)入门学习教程

Elasticsearch 入门学习教程 1.1 为什么要学Elasticsearch? 1.2 如何下载安装使用ES? 1.2.1 ES 安装使用条件 1.2.2 ES 下载须知 1.2.3 ES 官方下载 1.2.3.1 Windows 系统下载安装 1.2.3.1 Mac OSX 系统下载安装 1.2.3.2 Docker方式下载安装 1.2.4 使用Docker 启动ES单节点实例 1.2.5 使用Docker启动ES多节点实例 1.2.6 ES 在生产环境配置 1.2.6.1

m0_67400973的博客 1万+

Elasticsearch集群的运维与管理

eofsysctl -p# /data/es/es_9200/data # 默认数据目录,同目录的 logs 放日志mkdir -p /data/es/es_9200/{es_data,es_logs}chown -R elk:elk /data/es#参考启动命令 su -l elk -c "/data/es/es_9200/bin/elasticsearch -d -p /tmp/es_9200.pid"node.max_local_storage_nodes: 5 #集群最大逻辑存储节点数。

weixin_42795092的博客 1814

Linux搭建ElasticSearch(ES)集群并设置密码登录

Linux搭建ES集群,设置密码访问。

m0_61418822的博客 9977

ElasticSearch7.8下载、安装教程

ElasticSearch下载,安装教程,kibana的Windows下载、安装教程。安装前,请检查电脑是否已经安装好node环境和JDK环境。

qq_43600166的博客 2430
上一篇: 六、Quartz监听器
下一篇: 二、Elasticsearch入门及REST API使用
strap
博客等级 码龄3年 60粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值