Linux shell 的ss

Linux网络管理命令ss的详细解释,ss的语法、用法和使用场景 Linux下的ss命令是Socket Statistics的缩写,也被称为IPC套接字统计。这是一个强大的网络管理命令,主要用于获取系统中socket的统计信息,可以帮助系统管理员诊断和排查网络问题,包括检查当前网络连接及端口状态、搜索网络问题、统计网络情况、过滤网络数据等等,从而解决网络问题,节省管理工作量,保证网络安全。 在处理大量socket连接时,比netstat更快更高效。这是因为ss命令利用了TCP协议栈中的tcp_diag模块。 阅读详情

ss的含义 Socket State

1 查看链接

[admin@v035114 ~]$ ss
State      Recv-Q Send-Q                       Local Address:Port                           Peer Address:Port   
ESTAB      0      0                            10.232.35.114:43583                          10.235.171.2:15888   
ESTAB      0      0                            10.232.35.114:1023                           10.232.16.13:nfs     
ESTAB      0      0                            10.232.35.114:54487                          10.232.36.75:ssh     
ESTAB      0      0                            10.232.35.114:33943                          10.235.171.1:13888   
SYN-SENT   0      1                            10.232.35.114:37613                         10.232.14.220:webcache 
ESTAB      0      0                            10.232.35.114:34337                          10.232.17.73:ssh     
ESTAB      0      0                            10.232.35.114:44849                          10.232.36.86:ssh     
ESTAB      1392   0                            10.232.35.114:59068                         10.20.142.112:ssh     
ESTAB      0      0                            10.232.35.114:38479                          10.232.36.88:ssh     
ESTAB      0      0                            10.232.35.114:60156                          10.232.36.88:ssh     
ESTAB      0      0                            10.232.35.114:51222                          10.232.36.86:ssh     
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.35:ccmad   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:65432   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:50906   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:51239   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:53277   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:50813   

第一列表示状态

第二列和第三列的Send-Q和Recv-Q含义

Send-Q 对方没有收到的数据或者说没有Ack的,还是本地缓冲区。

count of bytes not acknowledged by the remote host.

Recv -Q 数据已经在本地接收缓冲,但是还没有recv()

The count of bytes not copied by the user program connected to this socket.

2 选项-n表示不解析服务名

[admin@v035114 ~]$ ss -n
State      Recv-Q Send-Q                         Local Address:Port                           Peer Address:Port 
ESTAB      0      0                              10.232.35.114:43583                          10.235.171.2:15888 
ESTAB      0      0                              10.232.35.114:33943                          10.235.171.1:13888 
ESTAB      1392   0                              10.232.35.114:59068                         10.20.142.112:22    
ESTAB      0      0                              10.232.35.114:60156                          10.232.36.88:22    
ESTAB      0      0                              10.232.35.114:51222                          10.232.36.86:22    
ESTAB      0      0                       ::ffff:10.232.35.114:22                       ::ffff:10.13.44.35:3114  
ESTAB      0      0                       ::ffff:10.232.35.114:22                       ::ffff:10.13.44.34:50813 

端口22对应ssh

3 ss -l 显示本地打开的所有监听端口

[admin@v035114 ~]$ ss -l
Recv-Q Send-Q                            Local Address:Port                                Peer Address:Port   
0      0                                     127.0.0.1:15777                                          *:*       
0      0                                     127.0.0.1:15778                                          *:*       
0      0                                     127.0.0.1:smux                                           *:*       
0      0                                             *:50410                                          *:*       
0      0                                             *:netbios-ssn                                        *:*       
0      0                                             *:sunrpc                                         *:*       
0      0                                             *:http                                           *:*       
0      0                                             *:43698                                          *:*       
0      0                                             *:socks                                          *:*       
0      0                                             *:microsoft-ds                                        *:*       
0      0                                            :::ssh                                           :::*       

使用-n看看服务使用的端口

[admin@v035114 ~]$ ss -ln
Recv-Q Send-Q                              Local Address:Port                                Peer Address:Port 
0      0                                       127.0.0.1:15777                                          *:*     
0      0                                       127.0.0.1:15778                                          *:*     
0      0                                       127.0.0.1:199                                            *:*     
0      0                                               *:50410                                          *:*     
0      0                                               *:139                                            *:*     
0      0                                               *:111                                            *:*     
0      0                                               *:80                                             *:*     
0      0                                               *:43698                                          *:*     
0      0                                               *:1080                                           *:*     
0      0                                               *:445                                            *:*     
0      0                                              :::22                                            :::*     

22 对应ssh

80 对应http

111 对应sunrpc

139 对应netbios-ssn

4 -s 摘要

[admin@v035114 ~]$ ss -s 
Total: 89 (kernel 114)
TCP:   44 (estab 9, closed 23, orphaned 0, synrecv 0, timewait 22/0), ports 80

Transport Total     IP        IPv6
*         114       -         -        
RAW       0         0         0        
UDP       16        13        3        
TCP       21        17        4        
INET      37        30        7        
FRAG      0         0         0       

orphaned什么意思?

最后的 ports 80 什么意思?

RAW、INET、FRAG什么意思?

IPv6 那一 列有好几行数值不为0 设么意思?

5 -t 显示TCP连接

[admin@v035114 ~]$ ss -t
State      Recv-Q Send-Q                       Local Address:Port                           Peer Address:Port   
ESTAB      0      0                            10.232.35.114:59861                         10.235.144.41:ssh     
ESTAB      0      0                            10.232.35.114:43583                          10.235.171.2:15888   
ESTAB      0      0                            10.232.35.114:33943                          10.235.171.1:13888   
ESTAB      1392   0                            10.232.35.114:59068                         10.20.142.112:ssh     
ESTAB      0      0                            10.232.35.114:60156                          10.232.36.88:ssh     
ESTAB      0      0                            10.232.35.114:51222                          10.232.36.86:ssh     
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.35:ccmad   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:50813   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.50:54354   

6 -u显示UDP连接

[admin@v035114 ~]$ ss -t
State      Recv-Q Send-Q                       Local Address:Port                           Peer Address:Port   
ESTAB      0      0                            10.232.35.114:59861                         10.235.144.41:ssh     
ESTAB      0      0                            10.232.35.114:43583                          10.235.171.2:15888   
ESTAB      0      0                            10.232.35.114:33943                          10.235.171.1:13888   
ESTAB      1392   0                            10.232.35.114:59068                         10.20.142.112:ssh     
ESTAB      0      0                            10.232.35.114:60156                          10.232.36.88:ssh     
ESTAB      0      0                            10.232.35.114:51222                          10.232.36.86:ssh     
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.35:ccmad   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:50813   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.50:54354   

7 -p显示使用socket的pid,第一次使用这个命令就是利用-p选项找java的pid,然后jstack java进程, ss -p | grep "db-ip"

[admin@v035114 ~]$ ss -p
State      Recv-Q Send-Q                       Local Address:Port                           Peer Address:Port   
ESTAB      0      0                            10.232.35.114:59861                         10.235.144.41:ssh      users:(("ssh",20182,3))
ESTAB      0      0                            10.232.35.114:43583                          10.235.171.2:15888   
ESTAB      0      0                            10.232.35.114:33943                          10.235.171.1:13888   
ESTAB      1392   0                            10.232.35.114:59068                         10.20.142.112:ssh      users:(("ssh",19281,3))
SYN-SENT   0      1                            10.232.35.114:46842                         10.232.14.220:webcache 
ESTAB      0      0                            10.232.35.114:60156                          10.232.36.88:ssh      users:(("ssh",10249,3))
ESTAB      0      0                            10.232.35.114:51222                          10.232.36.86:ssh      users:(("ssh",10346,3))
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.35:ccmad   
ESTAB      0      180                   ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:50813   
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.50:54354   

括号里面第3位不知道什么意思?
最后一行的::fffff:是什么意思?

8 -o显示定时器信息

[admin@v035114 ~]$ ss -o
State      Recv-Q Send-Q                       Local Address:Port                           Peer Address:Port   
ESTAB      0      0                            10.232.35.114:59861                         10.235.144.41:ssh      timer:(keepalive,21min,0)
ESTAB      0      0                            10.232.35.114:43583                          10.235.171.2:15888   
ESTAB      0      0                            10.232.35.114:33943                          10.235.171.1:13888    timer:(keepalive,6.248ms,0)
ESTAB      1392   0                            10.232.35.114:59068                         10.20.142.112:ssh      timer:(keepalive,19min,0)
SYN-SENT   0      1                            10.232.35.114:56005                         10.232.14.220:webcache  timer:(on,1.092ms,0)
ESTAB      0      0                            10.232.35.114:60156                          10.232.36.88:ssh      timer:(keepalive,32min,0)
ESTAB      0      0                            10.232.35.114:51222                          10.232.36.86:ssh      timer:(keepalive,30min,0)
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.35:ccmad    timer:(keepalive,11min,0)
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.34:50813    timer:(keepalive,18min,0)
ESTAB      0      0                     ::ffff:10.232.35.114:ssh                      ::ffff:10.13.44.50:54354    timer:(keepalive,21min,0)

看到两个类型的timer,都不知道什么意思?

on

keepalive

9 -i 显示内部TCP信息,只打印后几列

[admin@v035114 ~]$ ss -i
        Local Address:Port              Peer Address:Port   
        10.232.35.114:59861            10.235.144.41:ssh      rto:0.212 ato:0.04 cwnd:3 ssthresh:100 qack:11
        10.232.35.114:43583             10.235.171.2:15888    rto:0.204 ato:0.04 cwnd:3 ssthresh:100
        10.232.35.114:33943             10.235.171.1:13888    rto:0.212 ato:0.04 cwnd:3 ssthresh:100
        10.232.35.114:59068            10.20.142.112:ssh      rto:0.212 ato:0.04 cwnd:20 ssthresh:100
        10.232.35.114:43376            10.232.14.220:webcache 
        10.232.35.114:60156             10.232.36.88:ssh      rto:0.204 ato:0.04 ssthresh:100 bidir
        10.232.35.114:51222             10.232.36.86:ssh      rto:0.204 ato:0.04 cwnd:3 ssthresh:100
 ::ffff:10.232.35.114:ssh         ::ffff:10.13.44.35:ccmad    rto:0.256 ato:0.04 cwnd:3 ssthresh:3 qack:14
 ::ffff:10.232.35.114:ssh         ::ffff:10.13.44.34:50813    rto:0.476 ato:0.04 cwnd:5 ssthresh:100 bidir
 ::ffff:10.232.35.114:ssh         ::ffff:10.13.44.50:54354    rto:0.316 ato:0.04 cwnd:4 ssthresh:100 qack:1


rto

ato

cwnd

ssthresh 都是什么意思啊?

10  Filter过滤的例子

ss -o state established '( dport = :smtp or sport = :smtp )'   显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )'  显示所有已建立的HTTP连接





 

 

 


 

吃透 Linux ss 命令:从网络排查到脚本自动化,一篇搞定 在 Linux 运维场景中,“网络连接出问题了” 是高频痛点 —— 服务启动失败、客户端连不上、服务器突然卡顿,背后往往藏着端口占用、连接数暴增等问题。这时,ss 命令就是比 netstat 更轻量、更快的 “网络诊断利器”。今天我们从基础到高级,把 ss 的用法讲透,再结合实际场景给出最佳实践和自动化脚本,让你遇到网络问题不再慌。 阅读详情

相关推荐

Linux shell相关基础,创建shell脚本扫描判断局域网主机操作系统类型

nmap:linux使用nmap 对局域网扫描,查看arp缓存表就可以知道局域内主机ip和mac了,方法如下:nmap参数-sP -PU -sS ,-sS半开放扫描,不用执行完TCP三次握手,执行得很快。nmap -A扫描详细信息,速度慢。扫描之后查看arp缓存表获取局域网主机IP地址 cat /proc/net/arp一般操作系统ping返回默认TTL:windows 128 win7 64 l...

fantasysolo的博客 2051

netstat 和 ss中,Recv-Q和Send-Q的含义

先看看文档,man netstat中有Recv-Q和Send-Q的含义;man ss中没有Recv-Q和Send-Q的含义 https://man7.org/linux/man-pages/man8/netstat.8.html https://man7.org/linux/man-pages/man8/ss.8.html man netstat是这么说的 Recv-Q Established: The count of bytes not copied by the user...

溺水三千只取一瓢饮 9036

Linux攻防快速入门(上)-反弹shell原理与检测思路

1.bash -i:调用 Bash 解释器。:表示启动一个交互式 shell(interactive)。如果没有-i,就只是执行一个脚本,不会有命令提示符、不会处理输入。有了-i,就像你正常开了一个终端一样,可以输入命令并实时得到反馈。:让反弹回去的 shell 是一个交互式终端,而不是“傻乎乎执行完就退出”的进程。2.:Linux 的一种特殊设备文件,它不是一个真实的文件,而是内核提供的“伪文件”。:攻击者的 IP 地址(监听端)。:端口号。:通过 TCP 连接攻击者的,就像执行了一样。3.>&

rasssel的博客 830

Linux中ss命令Recv-Q和Send-Q详解

参考:http://phpmianshi.com/?id=95 ss用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat/proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用nets..

tiancityycf的专栏 4667

linux中新增一个shell命令最简单的方法

linux中新增一个shell命令最简单的方法 结论:运行shell脚本之后,其中的function就自动成为了当前shell中的新增命令了。 android编译时会运行. build/envsetup.sh脚本,运行后就为当前shell新增了一些命令,如:croot,lunch,mm,mmm,mma,cgrep等等。这些命令十分好用,为开发带来了极大的便利。 一直以为envsetup.sh

Radia的专栏 4449

新手必看:如何用R/qtl快速完成QTL定位分析(附实战代码)

本文为新手提供了使用R/qtl进行QTL定位分析的完整实战指南。内容涵盖从环境搭建、数据准备与清洗,到核心分析流程(包括遗传图谱计算、单QTL扫描、置换检验确定阈值)以及进阶结果可视化的全步骤。通过清晰的代码示例,帮助读者快速掌握这一数量遗传学关键分析技术,实现从数据到QTL峰值的完整分析闭环。

y7z8a的博客 499

ss 命令中 Recv-Q Send-Q什么意思

在TCP连接中,Send-Q 表示应用程序尚未发送的数据量。如果 Recv-Q 或 Send-Q 的值持续非常大,可能表示网络连接处于饱和状态,或者应用程序处理数据的速度跟不上数据的到来或发送速度。一般情况下,Recv-Q 和 Send-Q 的值都应该为零,表示该连接的接收队列和发送队列都为空。如果 Recv-Q 或 Send-Q 的值大于零,那么就表示有数据在等待传输或接收。在 ss 命令的输出中,Recv-Q 和 Send-Q 是指套接字接收队列和发送队列的大小。

servepeople的博客 2670

【5G演进】4G到5G演进之网络架构与协议栈

4G到5G演进之网络架构与协议栈

Learning makes me happy (0^◇^0) 5530

::ffff:192.168.31.101 是一个什么地址?

::ffff:192.168.31.101 是一个什么地址?nslookup查看是否有反向解析,显示无。 ping命令,显示是ipa-server-001.icinfra.cn(192.168.31.101)地址, nslookup查看ipa-server-001.icinfra.cn的IP地址,是192.168.31.101 那么,如标题,::ffff:192.168.31.101 是一个什么地址?::ffff:192.168.31.101 是一个IPv4-Mapped IPv6 Address。I

IT基础架构 1万+

基于deepseek本地模型的本地知识库构建

通过以上步骤,你已经成功构建了一个基于 AnythingLLM 和 LM Studio 的本地知识库。这个系统不仅能够高效地存储和检索知识,还能结合强大的语言模型生成准确的回答。你可以根据自己的需求进一步扩展和优化这个系统,比如增加更多的文档格式支持、优化检索算法等。

qq_30178745的博客 1383

【从零搭建到实战运行】基于PX4-1.13与XTDrone的FAST-LIVO2 Gazebo仿真全流程解析

本文详细解析了从零开始搭建基于PX4-1.13飞控、XTDrone仿真框架与Gazebo的FAST-LIVO2无人机仿真平台的全流程。内容涵盖环境配置、Livox雷达插件定制、算法部署与参数调试,旨在帮助开发者快速构建完整的激光-惯性-视觉SLAM仿真环境,并解决集成过程中的常见问题。

weixin_29218509的博客 520

Linux 830 shell:expect,ss -ant ,while IFS=read -r line,

ip2$ip2web服务连接个数$line$line。

czhc1140075663的博客 393

Dify 1.0+内网部署全攻略:模型插件离线安装与信创环境适配

本文详细介绍了Dify 1.0+版本在内网环境中的部署全攻略,重点解析了模型工具插件的离线安装方法与信创环境适配技巧。通过实战经验分享,帮助企业在严格的内网隔离条件下高效部署AI平台,解决插件依赖和安装难题,提升大语言模型的应用效率。

weixin_29224529的博客 274

linux的sssd服务,使用FreeIPA为SS信任用户在SSSD上设置默认登录Shell

本文介绍使用FreeIPA为SS信任用户在SSSD上设置默认登录Shell的方法。前言IPA身份管理服务器提供与Microsoft Active Directory的双向用户身份和密码同步,但是在配置IPA和Active Directory之后,用户的默认shell是/bin/sh,本文将讨论如何在FreeIPA客户端上更改AD信任用户的默认shell,以便所有用户都可以享受更好的shell环境,...

weixin_33828635的博客 1132

windows10系统上安装最新版mysql 8.0详细步骤

windows10系统上安装最新版mysql 8.0详细步骤

glei20的博客 6715

Java开发者的福音:Aspose 25.10全系列(Cells/Words/PDF/Slides)最新版破解与集成保姆级教程

本文为Java开发者提供了Aspose 25.10全系列组件(Cells/Words/PDF/Slides)的最新版破解与集成保姆级教程。通过详细的Maven依赖配置、字节码修改技术绕过限制,以及Spring Boot项目中的实战集成指南,帮助开发者高效实现Office文档处理功能,提升开发效率。

weixin_30919429的博客 346

linux中6个被低估但很有用的命令_linux上查看套接字信息

Linux 中的“ss”命令是一个实用程序,用于显示有关套接字连接、网络接口和网络统计信息的详细信息。它代表“套接字统计”,并为旧的“netstat”命令提供了强大的替代方案。:显示系统上所有打开套接字的详细信息,包括侦听端口、已建立的连接和等待连接的套接字。:它可以显示有关网络接口的信息,例如其状态、MTU(最大传输单元)和网络统计信息。:该命令可以提供各种网络统计信息,包括 TCP、UDP、ICMP 和 IP 统计信息。这对于监控网络活动、分析网络性能以及排除网络相关问题非常有用。

logic1001的博客 1124

Python实战:打造学生信息管理系统

通过本教程,我们构建了一个简单的学生信息管理系统,实现了基本的添加、删除、修改和查询功能。当然,这个系统还有很多可以改进和扩展的地方,比如添加用户界面、增加数据持久化功能、支持批量操作等。简介:本文将介绍如何使用Python编写一个功能齐全的学生信息管理系统,包括添加、删除、修改和查询学生信息的基本操作。学生信息管理系统是学校日常管理中不可或缺的一部分,它能够帮助管理人员快速、准确地管理学生信息,提高工作效率。为了实现上述功能,我们可以设计一个包含学生信息的字典,并使用函数来封装各个操作。

铭渊老黄 1489

Linux 入门|编写简易服务器巡检 Shell 脚本

跟着韩顺平Linux课程学习Shell脚本,手写简易服务器自动化巡检脚本,包含系统时间、内存、磁盘、负载、端口查看功能,附带完整代码、操作步骤和实操踩坑记录,脚本已上传GitHub,适合运维新手练习。

m0_69558755的博客 239

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LINUX106 shell:{/usr/bin/expect<< -END e{ eof{}}END} & done wait,let ss1[$i]++ echo $j:${ss1[$j]},ca

1. [] && ssh-keygen -N '' -f ~/.ssh/id_rsa while read ip pass do {expect <<-END set timeout 30 spawn ssh-copy-ip -f { eof { exit }}END fi } & done< wait 2.state=`ss -ant|grep 22|cut -` for i in $state let s1[$i]++ $j:${s1[$j]} 3.case $s in s} service vs

czhc1140075663的博客 480

ssm框架搭建

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

linux中6个被低估但很有用的命令

Linux 中的“ss”命令是一个实用程序,用于显示有关套接字连接、网络接口和网络统计信息的详细信息。它代表“套接字统计”,并为旧的“netstat”命令提供了强大的替代方案。:显示系统上所有打开套接字的详细信息,包括侦听端口、已建立的连接和等待连接的套接字。:它可以显示有关网络接口的信息,例如其状态、MTU(最大传输单元)和网络统计信息。:该命令可以提供各种网络统计信息,包括 TCP、UDP、ICMP 和 IP 统计信息。这对于监控网络活动、分析网络性能以及排除网络相关问题非常有用。

A1_3_9_7的博客 871

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

android linux shell 日期设置

/************************************************************************            android linux shell 日期设置 * 说明: * Android下的linux shell中的date和普通的date指令不一样,这里记录一下。 * * ...

weixin_33946020的博客 138

Linux817 shell:until,nfs,random

为什么会创建用户ss11。

czhc1140075663的博客 325

<Linux基础第13集>Linux命令大复习

先看目录几乎是所有命令了。

ideal-cs-pku 391
上一篇: locked <0xd01eb358> (a oracle.jdbc.driver.T4CConnection
下一篇: jquery 操作select控件 遍历option
arkblue
博客等级 码龄18年 188粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值