Prometheus+Grafana监控部署

通过Docker部署Prometheus + Grafana搭建监控平台【超详细版】 Prometheus(普罗米修斯R)是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker。Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。Prometheus。 阅读详情

Prometheus

  • Prometheus Server: 收集指标和存储时间序列数据,并提供查询接口
  • ClientLibrary: 客户端库
  • Push Gateway: 短期存储指标数据。主要用于临时性的任务
  • Exporters: 采集已有的第三方服务监控指标并暴露metrics
  • Web UI: 简单的Web控制台

系统环境

CentOS Linux release 7.6.1810 (Core)

解压

# 下载地址:https://prometheus.io/download/
tar xf prometheus-2.34.0.linux-amd64.tar.gz

修改配置文件

mv prometheus-2.34.0.linux-amd64 prometheus-2.34.0
cd prometheus-2.34.0 && mkdir data
#====== prometheus.yml ======#
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  
alerting:
  alertmanagers:
  - static_configs:
    - targets:
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

添加至system

cat >> /usr/lib/systemd/system/prometheus.service << EOF
[Unit]
Description=The Prometheus 2 monitoring system and time series database.
Documentation=https://prometheus.io
After=network.target
[Service]
User=wxw
ExecStart=/home/wxw/prometheus/prometheus \
--storage.tsdb.path=/home/wxw/prometheus/data \
--config.file=/home/wxw/prometheus/prometheus.yml
Restart=on-failure
StartLimitInterval=1
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

备份配置文件

cp prometheus.yml prometheus.yml.bak

同步时间

普罗米修斯依赖于精确的时间,时间漂移可能会导致意外的查询结果

sudo yum -y install ntp
sudo ntpdate time1.aliyun.com

启动

sudo systemctl start prometheus
# nohup ./prometheus --config.file=prometheus.yml &

访问

sudo firewall-cmd --zone=public --permanent --add-port=9090/tcp
sudo firewall-cmd --reload

主机监控的node_exporter

tar xf node_exporter-1.3.1.linux-amd64.tar.gz
mv node_exporter-1.3.1.linux-amd64 node_exporter-1.3.1
cd node_exporter
sudo vim /usr/lib/systemd/system/node_exporter.service
# 添加系统服务
[Unit]
Description=node_exporter
[Service]
User=wxw
ExecStart=/home/wxw/node_exporter/node_exporter \
--web.disable-exporter-metrics \
--log.level=error
[Install]
WantedBy=multi-user.target
# 启动
sudo systemctl daemon-reload
sudo systemctl start node_exporter
# nohup ./node_exporter --web.listen-address=":9100" --web.disable-exporter-metrics &

配置服务端job

vim prometheus.yml

  - job_name: 'host-monitor'
    scrape_interval: 10s
    static_configs:
      - targets: ['192.168.3.201:9100']
        labels:
          instance: node1

重启prometheus

sudo systemctl restart prometheus

Grafana

配置

cat >> /etc/yum.repos.d/grafana.repo << EOF
[grafana]
name=grafana
baseurl=https://mirrors.aliyun.com/grafana/yum/rpm
repo_gpgcheck=0
enabled=1
gpgcheck=0
EOF
$ sudo yum makecache
$ sudo yum install grafana

启动

sudo systemctl enable --now grafana-server
# nohup ./grafana-server &

Alertmanager

安装

tar xf alertmanager-0.24.0.linux-amd64.tar.gz 
mv alertmanager-0.24.0.linux-amd64 alertmanager-0.24.0

邮件告警

备份原始文件
cp alertmanager.yml alertmanager.yml.bak
配置alertmanager.yml
#====== alertmanager.yml ======#
global:
	resolve_timeout: 5m
	smtp_smarthost: 'smtp.163.com:25'
	smtp_from: 'wangxiwen95@163.com'
	smtp_auth_username: 'wangxiwen95@163.com'
	smtp_auth_password: 'HEWFSVKTHHBUIAZR'
	smtp_require_tls: false
	
route:
	group_by: ['alertname']
	group_wait: 10s
	group_interval: 10s
	repeat_interval: 1h
	receiver: 'email'
receivers:
- name: 'email'
	email_configs:
	- to: 'wangxiwen95@163.com'
		send_resolved: true
inhibit_rules:
	- source_match:
			severity: 'critical'
		target_match:
			severity: 'warning'
		equal: ['alertname', 'dev', 'instance']
检查配置文件
$ ./amtool check-config alertmanager.yml
Checking 'alertmanager.yml'  SUCCESS
Found:
 - global config
 - route
 - 1 inhibit rules
 - 1 receivers
 - 0 templates
启动
mkdir ./data
sudo vim /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager System
Documentation=alertmanager System
[Service]
User=wxw
ExecStart=/home/wxw/alertmanager/alertmanager \
--config.file=/home/wxw/alertmanager/alertmanager.yml
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-relaod
sudo systemctl start alertmanager
# ./alertmanager --config.file=alertmanager.yml &
配置prometheus.yaml
# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          - localhost:9093

# 定义告警文件
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
  - "rules/*.yml"
编写规则

cd prometheus && mkdir rules && cd rules

#====== host_monitor.yml ======#
groups:
- name: node-up
	rules:
	- alert: node-up
		expr: up == 0
		for: 15s
		labels:
			severity: 1
			team: node
		annotations:
			summary: "{
   
   {$labels.instance}}Instance has been down for more than 5 seconds"
检查配置文件
$ ./promtool check config prometheus.yml 
Checking prometheus.yml
  SUCCESS: 1 rule files found
 SUCCESS: prometheus.yml is valid prometheus config file syntax

Checking rules/host_monitor.yml
  SUCCESS: 1 rules found
优化告警模板
新建模板文件

cd alertmanager && vim email.tmpl

{
   
   {
   
    define "email.to.html" }}
{
   
   {
   
    if gt (len .Alerts.Firing) 0 }}{
   
   {
   
    range .Alerts }}
@告警
告警程序: prometheus_alert <br>
告警级别: {
   
   {
   
    .Labels.severity }} 级 <br>
告警类型: {
   
   {
   
    .Labels.alertname }} <br>
故障主机: {
   
   {
   
    .Labels.instance }} <br>
告警主题: {
   
   {
   
    .Annotations.summary }} <br>
告警详情: {
   
   {
   
    .Annotations.description }} <br>
触发时间: {
   
   {
   
    .StartsAt }} <br>
{
   
   {
   
    end }}
{
   
   {
   
    end }}
{
   
   {
   
    if gt (len .Alerts.Resolved) 0 }}{
   
   {
   
    range .Alerts }}
@恢复:
告警主机:{
   
   {
   
    .Labels.instance }} <br>
告警主题:{
   
   {
   
    .Annotations.summary }} <br>
恢复时间: {
   
   {
   
    .EndsAt }} <br>
{
   
   {
   
    end }}
{
   
   {
   
    end }}
{
   
   {
   
    end
修改文件使用模板
#====== alertmanager.yml ======#
global:
	resolve_timeout: 5m
	smtp_smarthost: 'smtp.163.com:25'
	smtp_from: 'wangxiwen95@163.com'
	smtp_auth_username: 'wangxiwen95@163.com'
	smtp_auth_password: 'HEWFSVKTHHBUIAZR'
	smtp_require_tls: false

# 打开模板
templates:
	- '/home/wxw/alertmanager/email.tmpl'
	
route:
	group_by: ['alertname']
	group_wait: 10s
	group_interval: 10s
	repeat_interval: 1h
	receiver: 'email'
receivers:
- name: 'email'
	email_configs:
	- to: 'wangxiwen95@163.com'
		html: '{
   
   { template "email.to.html" . }}'	## 使用模板方式发送
		send_resolved: true
inhibit_rules:
	- source_match:
			severity: 'critical'
		target_match:
			severity: 'warning'
		equal: ['alertname', 'dev', 'instance']
检查配置文件重启
$ ./amtool check-config alertmanager.yml 
$ sudo systemctl restart alertmanager

企业微信告警

修改alertmanager.yml
#====== alertmanager.yml ======#
global:
	resolve_timeout: 5m

# 打开模板
templates:
	- '/home/wxw/alertmanager/wechat.tmpl'

# 企业微信告警
route:
	group_by: ['alertname']
	group_wait: 10s
	group_interval: 10s
	repeat_interval: 1h
	receiver: 'wechat'
receivers:
- name: 'wechat'
	wechat_configs:
	- corp_id: 'wwa274450828cc9189'
		# to_party: '1'
		to_user: 'WangXiWen'
		agent_id: '1000002'
		api_secret: 'yTaolZ_bwq0sRc6YeSD_qEcGM4RFh8O12DnphNjy26Y'
		send_resolved: true
		message: '{
   
   { template "wechat.tmpl" . }}'

inhibit_rules:
	- source_match:
			severity: 'critical'
		target_match:
			severity: 'warning'
		equal: ['alertname', 'dev', 'instance']
修改模板

vim wechat.tmpl

{
   
   {
   
    define "wechat.tmpl" }}
{
   
   {
   
   -<
【监控系统】可视化工具Grafana简介及容器化部署实战 可视化工具Grafana简介及容器化部署实战 阅读详情

相关推荐

Prometheus+Grafana监控体系搭建

下面就介绍了利用Prometheus与Grafana搭建和监控资源。

luozhuwang的专栏 1461

首发 部署prometheus+grafana监控AI大模型 metrics

方案一:前端UI界面+JavaScript+Chart.js动态渲染图表和数据可视化前端代码较多不便展示,感兴趣的可以借助AI自行编写方案二:部署Prometheus+Grafana,将http://ip/metrics返回的数据通过Grafana渲染以下为方案二部署Prometheus+Grafana方式进行大模型性能监控过程。

qq_35474785的博客 1万+

5分钟部署Prometheus+Grafana批量监控Linux服务器

Node Exporter 是 Prometheus 生态系统中的一个关键组件,它专门用于收集和导出 Linux 系统的硬件和操作系统指标,如 CPU 使用率、内存利用率、磁盘 IO、网络统计等。详细讲解如何在 Linux 服务器上使用 Docker 容器快速部署 Prometheus 和 Grafana 监控系统,同时通过 node_exporter 采集全面的系统性能数据。到此监控已经配置完成,你也可以配置预警值,进行一些告警操作,第一时间发现问题。上面的如果用不了,用下面的国内镜像。

Aprilqxs的博客 1412

docker安装、部署、汉化监控服务grafana+prometheus

在docker上部署springcloud项目 https://www.jianshu.com/p/3f385c0a4af3 grafana操作最全文档http://www.doc88.com/p-4039177469210.html 1.在linux上安装dockerhttps://www.cnblogs.com/qgc1995/archive/2018/08/29/955357...

zchlove137的博客 6307

部署Prometheus+Grafana批量监控Linux服务器

在 Linux 服务器上使用 Docker 容器快速部署 Prometheus 和 Grafana 监控系统,同时通过 node_exporter 采集全面的系统性能数据。整个流程涵盖了从环境配置到搭建一个全面监控平台的每个步骤。

yuechuzhixing的博客 2526

云计算-容器化编排部署监控系统Grafana+Prometheus

摘要:本文详细介绍了基于容器化技术部署Prometheus监控系统的完整流程。通过使用Dockerfile分别构建Node-Exporter(v1.0)、Alertmanager(v1.0)、Grafana(v1.0)和Prometheus(v1.0)四个组件镜像,并配置相应的端口映射和服务启动脚本。重点说明了Prometheus.yml配置文件的编写要点,包括三个监控任务模板的设置。最后通过docker-compose.yaml文件编排部署整个监控系统,实现各组件间的协同工作,完成从数据采集、告警管理到可

qq_51879297的博客 1060

手把手教你部署一套完整的 Prometheus+Grafana 智能监控告警系统

上传至任意目录即可。 输入: “ip地址”+“:9090” 在浏览器中进行访问,如果出现可视化界面说明成功; • 本Centos中访问: curl http://localhost:9100/metrics • 电脑浏览器中访问: ip地址:9100 去Prometheus的配置文件中加上这个exporter的地址 浏览器输入 IP:3000 来访问Grafana. 管理员账号密码默认是admin/admin。首次登陆会提示修改管理员密码。 添加数据源 选择Prometheus 先输入名

huanhuanzhou blog 976

在离线混合部署 + Prometheus+grafana 监控和管理资源

在离线混合部署 什么是在离线混合部署? 首先要理解什么是在线任务,什么是离线任务。简而言之,在线任务要求响应时间短,相应的可能所需资源相对较少,而离线任务则与之相对,一般所需的资源较多,但是可以响应时间较长,例如机器学习,将在线任务和离线任务部署在同一个集群上,就叫在离线混合部署。 意义和价值 关于在离线混合部署,老生常谈的一个例子就是双十一,在购物狂欢节时,淘宝需要超大集群来提供计算能力来应对这天巨大的流量冲击,但双十一之后,这些计算资源就面临着浪费,这个时候就可以把这些计算运行一些不需要很及时反应的离线

Fitz_q的博客 892

使用 Docker 部署 Prometheus + Grafana 监控平台

Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。 Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供 HTTP 接口就可以接入监控系统,不需要任何 SDK 或者其他的集成过程。这样做非常适合虚拟化环境比如 VM 或者 Docker 。 Prometheus 应该是为数不多的适合 Docker、Mesos、Kubernetes 环境的监控系统之一。

愿许浪尽天涯的博客 5263

部署Prometheus+Grafana监控平台

一、项目环境 主机名 IP地址 角色 操作系统 server 192.168.3.156/24 prometheus server Centos 7.7 node1 192.168.3.155/24 被监控端node1 Centos 7.7 node2 192.168.3.154/24 被监控端node2 Centos 7.7   二、项目拓扑   三、部署Prometheus+Grafana监控平台 1.准备工作 所有节点先执行:prepare.sh: #!/bin/ba.

afei001 601

kuberneters部署Prometheus+Grafana监控系统

Prometheus: 一个开源指标监控解决方案,指标就是指的CPU的使用率、内存使用率等数据.Grafana: 是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知.

悦分享 449

保姆级教程:在摩尔线程MTT S80上快速部署Ollama运行DeepSeek R1模型(附性能测试)

本文提供了一份详细的保姆级教程,指导用户在摩尔线程MTT S80显卡上部署Ollama并运行DeepSeek R1模型。内容涵盖从驱动安装、Docker环境配置到模型拉取、性能测试的全流程,并分享了实测数据与优化技巧,旨在帮助开发者快速在国产GPU平台上实现高效的大语言模型推理。

weixin_29091837的博客 525

ESP32Servo库驱动SG90舵机:从入门到精准控制

本文详细介绍了如何使用ESP32Servo库驱动SG90舵机,从硬件连接到软件环境搭建,再到编写示例程序实现精准控制。内容涵盖库安装、基础驱动代码解析、舵机校准方法以及平滑运动控制,帮助开发者快速掌握ESP32控制舵机的核心技能,并提供了电源管理、信号抗干扰等实用避坑指南。

ik678901的博客 898

CANape快速上手

文章帮助记录CANape学习过程。

小弱鸡的博客 1万+

CentOS7环境下搭建 rsyslog 日志服务器,rsyslog+loganalyzer

1.系统环境部署 ip hostname 192.168.200.182 web 192.168.200.184 rsyslog-mysql 关闭防火墙、selinux、下载epel源 [root@web ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/f

sehn_的博客 3754

RTK_ROS_导航(4):接入move_base

现在我们要将之前的数据接入到Move_base中,使得机器人能够根据Map上的终点进行导航,并且实现避障效果如下图。

旋风小短腿 1947

第一节:Vben Admin介绍和初次运行

本文是【实战Vben Admin + Python】的第一节,本文内容主要是介绍Vben Admin框架和我们后端使用的技术,开发环境和工具的准备本节文章的目的是Vben Admin的简单介绍,通过配置可以让项目前端运行起来,由于项目默认开启了mock,展示的都是静态模拟数据,我们在此基础上,下一节将研究分析下Vben Admin的目录。为我们后端搭建准备。

cuiwin的专栏 7416

读懂 ABAP CDS 注解的直接、继承与派生

本文系统梳理了ABAP CDS注解的评估逻辑,重点解析直接注解(Direct)、继承注解(Inherited)和派生注解(Derived)的差异及其在CL_DD_DDL_ANNOTATION_SERVICE中的处理方式。通过视图注解@Metadata.ignorePropagatedAnnotations可调控注解传播行为,避免下游语义影响上层视图。文章还提供了基于标准表的完整示例(包含底层视图、消费视图和ABAP报告程序),帮助开发者在实际系统中验证三层注解的叠加效果与阻断机制。关键点包括:派生注解的数据

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 245

C#对接EtherNet/IP协议 完整版|罗克韦尔AB PLC通信+CIP核心概念全解析

你做罗克韦尔(AB) PLC工业上位机开发,是唯一的首选协议,没有之一!EtherNet/IP(Ethernet Industrial Protocol)是基于标准以太网的工业级通信协议,由罗克韦尔自动化主导开发,是ODVA(开放设备网络供应商协会)主推的工业以太网标准,也是目前全球应用最广泛的工业以太网协议之一。原生适配罗克韦尔AB PLC:Micro800、CompactLogix、ControlLogix、Micro850等全系AB PLC原生标配EtherNet/IP,无需额外配置,开箱即用;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 892

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: Kubernetes-v1.26.3(kubeadm)部署
下一篇: Ambari 2.7.5+HDP 3.1.5.0部署
wxwopt
博客等级 码龄7年 1粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值