Linux/Ubuntu网络知识

Linux 命令 ifconfig 全面解析! ifconfig 是 network interfaces configuring 的缩写。在 Linux 操作系统中,ifconfig 用于显示或配置网络设备的参数信息。 阅读详情

Linux/Ubuntu网络知识:

 

Linux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。 (Windows系统cmd中使用ipconfig)

C:\Users\XY-PC-149>adb shell

shell@m606:/ $ ifconfig

eth0      Link encap:Ethernet  HWaddr C6:6F:92:72:FF:85

          inet addr:192.168.42.159  Bcast:192.168.42.255  Mask:255.255.255.0

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 TX bytes:328

 

rndis0    Link encap:Ethernet  HWaddr 46:11:D9:72:D2:93

          inet addr:192.168.100.100  Bcast:192.168.100.255  Mask:255.255.255.0

          inet6 addr: fe80::4411:d9ff:fe72:d293/64 Scope: Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:214 errors:214 dropped:0 overruns:0 frame:214

          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:31140 TX bytes:732

 

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope: Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:456 errors:0 dropped:0 overruns:0 frame:0

          TX packets:456 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:39824 TX bytes:39824

 

lmi45     Link encap:UNSPEC

          inet addr:192.168.43.22  P-t-P:192.168.43.22  Mask:255.255.255.0

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:500

          RX bytes:0 TX bytes:0

 

eth0,eth1,eth2……代表网卡一,网卡二,网卡三……

lo代表127.0.0.1,即localhost

hw 代表hardware 硬件意思

ether 代表ethernet 以太网的意思

 

 

语法

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明:

  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。
  • <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
  • io_addr<I/O地址> 设置网络设备的I/O地址。
  • irq<IRQ地址> 设置网络设备的IRQ。
  • media<网络媒介类型> 设置网络设备的媒介类型。
  • mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
  • metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
  • mtu<字节> 设置网络设备的MTU。
  • netmask<子网掩码> 设置网络设备的子网掩码。
  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
  • up 启动指定的网络设备。
  • -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
  • -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
  • -promisc 关闭或启动指定网络设备的promiscuous模式。
  • [IP地址] 指定网络设备的IP地址。
  • [网络设备] 指定网络设备的名称。

 

 

 

启动关闭指定网卡

# ifconfig eth0 down

# ifconfig eth0 up

为网卡配置和删除IPv6地址

# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址

# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址

用ifconfig修改MAC地址:

# ifconfig eth0 down //关闭网卡

# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址

# ifconfig eth0 up //启动网卡

# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址

# ifconfig eth1 up //启动网卡

MAC地址是生产厂家定的,每个网卡拥有的唯一地址;不过我们可以手工改动网卡的MAC地址,只要我们在/etc/rc.d/init.d/中的network 中加入:

ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

此时你就可以骗过局域网内的IP地址邦定了

 

配置IP地址

# ifconfig eth0 192.168.1.56

//给eth0网卡配置IP地址

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0

// 给eth0网卡配置IP地址,并加上子掩码

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255

// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

若想再在eth0上在配置一个192.168.1.1/24 的IP地址怎么办?用下面的命令

  ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0

  这时再用ifconifg命令查看,就可以看到两个网卡的信息了,分别为:eth0和eth0:0.若还想再增加IP,那网卡的命名就接着是:eth0:1、eth0:2……想要几个就填几个。ok!

 

 

启用和关闭ARP协议

# ifconfig eth0 arp  //开启

# ifconfig eth0 -arp  //关闭

设置最大传输单元

# ifconfig eth0 mtu 1500

//设置能通过的最大数据包大小为 1500 bytes

 

 

 

 

linux路由表设置之route 

 

Linux系统的route命令用于显示和操作Linux 内核IP路由表

C:\Users\XY-PC-149>adb shell

shell@m606:/ $ route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.42.0    *               255.255.255.0   U     0      0        0 eth0

192.168.42.1    192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.42.22   192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.43.0    *               255.255.255.0   U     0      0        0 lmi45

192.168.100.0   *               255.255.255.0   U     0      0        0 rndis0

239.0.0.0       192.168.43.22   255.255.255.0   UG    0      0        0 lmi45

shell@m606:/ $

shell@m606:/ $

shell@m606:/ $ route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.42.1    192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.42.22   192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 lmi45

192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 rndis0

239.0.0.0       192.168.43.22   255.255.255.0   UG    0      0        0 lmi45

shell@m606:/ $

 

 

在路由器配置中可用0.0.0.0/0表示默认路由,作用是帮助路由器发送路由表中无法查询的包。严格说来,0.0.0.0/0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有未知的主机和目的网络。这里的“未知”是指在本机的路由表里没有特定条目指明如何到达综合起来可以说0.0.0.0/0表示整个网络。它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

 

 

ip route add 0.0.0.0/0 dev lmi45     //未知网络中的所有包都送到lmi45这个网卡中去

 

 

route 命令

设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:

# route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

  • add : 添加一条路由规则
  • del : 删除一条路由规则
  • -net : 目的地址是一个网络
  • -host : 目的地址是一个主机
  • target : 目的网络或主机
  • netmask : 目的地址的网络掩码
  • gw : 路由数据包通过的网关
  • dev : 为路由指定的网络接口

 

route 命令使用举例

添加到主机的路由

# route add -host 192.168.1.2 dev eth0

# route add -host 10.20.30.148 gw 10.20.30.40  #添加到10.20.30.148的网关

 

添加到网络的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0   #添加10.20.30.40的网络

# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #添加10.20.30.48的网络

# route add -net 192.168.1.0/24 eth1

 

添加默认路由

# route add default gw 192.168.1.1

 

删除路由

# route del -host 192.168.1.2 dev eth0:0

# route del -host 10.20.30.148 gw 10.20.30.40

# route del -net 10.20.30.40 netmask 255.255.255.248 eth0

# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route del -net 192.168.1.0/24 eth1

# route del default gw 192.168.1.1

Linux网络配置详解:从基础到实战 网络配置是Linux系统管理的核心技能之一,涉及IP地址分配、路由设置和DNS解析等基础概念。通过修改配置文件实现网络参数调整,相比图形化界面提供了更精细的控制能力。在服务器运维、云计算和虚拟化环境中,静态IP配置、多网卡绑定等场景尤为常见。以RHEL系为例,/etc/sysconfig/network-scripts/目录下的配置文件定义了网卡属性,关键参数如BOOTPROTO、IPADDR和DNS1直接影响网络行为。掌握NetworkManager服务管理和nmcli工具使用,能够有效提升网络配置效率。 阅读详情

相关推荐

Java永久性修改Linux(Debian/Ubuntu)网络

对于一些私有化部署的系统,部署完毕后经常需要对服务器网络进行配置,对于非技术人员来说,可能存在一定难度,因此将网络配置界面化可以大大提升实施效率。那么实现这个需求最关键的一步便是能够通过后端代码配置服务器的网络环境,本文讲述了如何编写shell脚本去实现网络配置以及如何使用Java代码去远程调用shell脚本。如有问题请大家指正,或者有更好的实现方案,欢迎研讨。

weixin_45200938的博客 2434

Linux系统之ifconfig命令的基本使用

ifconfig是Linux中常用的网络配置工具之一,用于配置和显示网络接口的具体状况。

jks212454的博客 3万+

Linux:Linux系统的简介、基础知识、最强学习路线(以Ubuntu系统为例—安装/各自命令行技能/文件系统/Shell脚本编程/权限网络和系统管理/高级语言编程)、常用案例(图文教程)之详细攻略

​ Linux:Linux系统的简介、基础知识、最强学习路线(以Ubuntu系统为例—安装/各自命令行技能/文件系统/Shell脚本编程/权限网络和系统管理/高级语言编程)、常用案例(图文教程)之详细攻略 目录 一、了解Linux的基础知识 二、安装Linux操作系统 三、理解Linux文件系统 四、掌握命令行技能 五、学习Shell脚本编程 六、权限、网络和系统管理 七、学习Linux下的高级语言编程

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 1万+

ifconfig命令详解,ifconfig命令输出说明

ifconfig 命令用于获取网卡配置与网络状态等信息。ifconfig命令输出说明:

云计算 3万+

19、Linux网络基础探索

本文深入探讨了Linux网络基础知识,涵盖TCP/IP模型的四层架构及其与OSI模型的对应关系,详细介绍了IP、TCP、UDP、DNS、DHCP等核心网络协议的功能与应用。文章解析了IPv4和IPv6地址的格式、子网划分及CIDR表示法,并讲解了套接字与端口在网络通信中的作用。针对Ubuntu和CentOS系统,分别演示了使用netplan和nmcli进行动态与静态IP配置的方法,以及主机名的查看与修改。此外,还提供了常见网络问题的排查思路、未来网络技术发展趋势及学习资源推荐,帮助读者全面掌握Linux网络

milk5的博客 53

20、Linux网络配置与服务全解析

本博客全面解析了Linux网络配置与服务管理的核心知识,包括IP地址和端口的基本概念,Ubuntu、Fedora/RHEL和openSUSE等主流发行版的网络配置方法,以及主机名的设置与常见网络服务(如DHCP、SSH、HTTP等)的工作原理。通过详细的命令和配置步骤,帮助读者掌握Linux网络环境的搭建与维护技能,适用于初学者和系统管理员参考学习。

z4a5b6的博客 50

ifconfig命令及详细介绍

在 实体机上 ifconfig 命令用于 显示或配置网络设备(网络接口卡) 或修改。(以CentOS 7为例) ens33 :网卡名称UP :表示“接口已启用”BROADCAST:表示“主机支持广播”RUNNING :表示“接口在工作中”MULTICAST :表示“主机支持多播”MTU 1500 :(最大传输单元):1500字节 inet:IP地址netmask:子网掩码broadcast:广播地址 ether(

u010378559的博客 1万+

嵌入式Linux系统的3G/4G路由器设计

基于嵌入式Linux系统,设计并实现了一种利用WiFi技术共享3G/4G带宽的无线路由器。该路由器支持UMTS/GSM/CDMA以及TDD/FDDLTE网络标准,实现了对3G/4G网络各制式的兼容。在详细介绍了该路由器的设计方案后,重点介绍了该路由器无线局域网的组建和3G/4G网络的接入,并实现了无线局域网和3G/4G网络的互通。

Linux下ifconfig指令详解

ifconfig是一个强大的网络工具,用于配置和管理网络接口。在本文中,我们将详细解释ifconfig指令的前世今生、功能和用法,并提供示例和参考链接,以更好地理解和应用该指令。

AnChenliang_1002的博客 8628

从末流211到东南软院:一个普通CS学生的保研逆袭全记录(含GPA、竞赛、面试避坑点)

本文详细记录了一位来自末流211院校的CS学生如何通过合理规划和持续努力,成功保研东南大学软件学院的完整历程。文章分享了GPA提升、竞赛策略、夏令营申请和预推免准备等关键环节的实战经验,特别强调了竞赛在弥补科研短板中的重要作用,为普通背景学生提供了可复制的保研逆袭方案。

weixin_33417488的博客 392

deap数据集的情绪检测代码环境搭建与实现

deap数据数据集很大

f的博客 4157

了解和下载Ubuntu,及Vmware下使用Ubuntu

1.了解和下载Ubuntu 目前Ubuntu的最新稳定版本是7.04,最新稳定的LTS版本(Ubuntu 的 “LTS” 版本拥有长期支持,桌面版本为3年,服务器版本为5年)是6.06,最新测试版本是7.10 Tribe 4,开发代号是Gutsy Gibbon,意思是“勇敢的长臂猿”,汗 另外说一下有关Ubuntu各个版本的区别,帮助您确定您要下载哪一个—— A、 按支持的时间划分 普通版

yuelinqiu的博客 1244

ULN2003驱动28BYJ-48步进电机详解(附:51 32代码讲解)

本文介绍了28BYJ-48步进电机的驱动原理以及注意事项,并展示了极简 32 51驱动代码

qq_41818650的博客 1万+

ubuntu16.04 Server版本固定IP地址

1、打开/etc/network/interfaces 2、进行下面修改 *

qq_42230338的博客 1086

ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案

将此方案导入系统后,逐步执行调试,确保各环节信号正常触发,即可实现高效无序抓取!

CHUXUEZHE8210的博客 1993

阿里巴巴-AI Agent工程师面试题精选:10道高频考题+答案解析(附PDF)

阿里巴巴AIAgent技术面试要点摘要(149字) 阿里巴巴在AIAgent领域布局完整,面试重点考察系统架构、幻觉治理、成本优化等核心能力。候选人需掌握分层架构设计、多Agent协作死锁处理、Token成本优化策略等关键技术。面试强调工程落地能力,包括工具调用容错、记忆系统设计、安全防护等实践要点。评估体系需覆盖效果、效率、成本多维度指标。未来趋势关注垂直领域专业化、多模态融合等方向。建议准备实际项目案例,突出技术深度与业务价值的结合,展现系统思维和工程能力。

ZHHHHH15的博客 616

【Linux系统】Ubuntu的简单操作

Ubuntu(乌帮图)是一个非洲词汇,它的意思是“人性对待他人”或“群在故我在”。Ubuntu发行版将Ubuntu精神带到软件世界之中。目前已有大量各种各样基于GNU/Linux的操作系统,例如:Debian,SuSE,Gentoo,RedHat和Mandriva,当然还有Ubuntu。Debian是一个广受称道、技术先进且有着良好支持的发行版,Ubuntu正是基于Debian之上,旨在创建一个可以为桌面和服务器提供一个最新且一贯的Linux系统。

猫猫的小茶馆 1720

uniapp原生安卓插件开发之路

声明: 我的功能需求:全局悬浮框,也就是在其他应用上依旧能悬浮。查遍uni文档,无法实现,甚至native.js也无法实现,无奈只能走上原生插件开发这条不归路了。(吐槽:天天写前端js,突然写了下android简直要炸,public static String啥的,var不香嘛,不过别人严谨肯定还是有别人道理的,加油吧,争取能入个门!) 本人不懂安卓开发,完全安卓小白,所以安卓方面可能表达的不是很好,安卓代码可能写的不优美,但我功能最终还是实现了。但是为了需求,能力总能被“逼”出来。有描述错误的还望指正

Jone's Area 1万+

Linux系统网络维护(从零开始掌握网络配置与故障排查)

通过本教程,你应该已经掌握了 Linux 系统网络维护的基础知识,包括Linux网络配置网络故障排查、常用Linux命令行工具的使用,以及整体的系统网络维护流程。坚持练习,你会越来越熟练!记住:网络问题千变万化,但只要掌握基本原理和排查思路,大多数问题都能迎刃而解。

本人是新手,有一定的了解不到位,望海涵 436

OpenClaw 开机自启配置:Windows/macOS/Linux 全平台技术指南

OpenClaw 开机自启全平台配置指南 本文提供了在Windows、macOS和Linux系统上配置OpenClaw开机自启的完整技术方案。主要内容包括: Windows配置:提供三种方法(Windows服务、任务计划程序、启动文件夹),详细说明服务脚本创建、服务注册和测试流程 macOS配置:使用LaunchAgent实现开机自启,包含配置文件创建和加载方法 Linux配置:通过systemd服务实现,包括服务单元文件创建和启用步骤 系统要求:明确硬件(64位CPU/4GB内存)和软件(各平台操作系统版

一键难忘的博客 2993

C语言试题四之计算并输出3到n之间所有素数的平方根之和

1、题目 请编写函数function,它的功能是:计算并输出3到n之间所有素数的平方根之和 例子:若我们main函数从键盘给n输入5之后,我们需要输出结果为3.968119 输入值n的要求:正整数n, 要求小于100。 2、部分函数说明 C 库函数 double sqrt(double x) 返回 x 的平方根 3、源代码实现 #include <stdio.h> #...

码莎拉蒂 7232

Linux 网络管理快速入门

LInu网络管理

普普通通记录学习日常 1189

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux知识点回顾

1 Linux基础课 施工位(后期会更新Linux工程课的内容) 2 Linux知识点 2.1 Linux学习方向 运维工程师 Linux嵌入式工程师 服务器应用 嵌入式应用 2.2 Linux 的目录结构 2.2.1 基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 深刻理解 linux 树状文件目录是非常重要的,这里我给大家说明一下。 记住一句经典的话:在 Linux 世界里,一切皆文件。 2.2.2 目录结构的具体介绍

想要上南大的同学的博客 1287

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

【运维必备Linux系统知识】

Linux 是一个免费、开源、类 Unix 的操作系统内核,1991 年由芬兰人 Linus Torvalds 发布,现在是全球服务器、云计算、嵌入式设备和超算的主流系统。✅ 服务器:全球 70%+ 网站、云计算(阿里云 / 腾讯云 / AWS)、数据库(MySQL)均运行在 Linux 上。工作内容:搭监控、加主机、配模板、做告警(邮件 / 钉钉)、处理监控报警。日常:部署 Exporter、配面板、看指标、告警、故障预警。登录服务器、查文件、看日志、改配置、授权、删垃圾文件。

qq_53450254的博客 188

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

开发板通过 Ubuntu/Linux 连接外网

如果开发板需要访问外网,可以通过网线将开发板与 Ubuntu 系统连接起来,在 Ubuntu 系统中配置 ip_forward 让 Ubuntu 成为路由器,这样就可以将开发板与外网连接起来。两个带网口的 USB Hub网线其中带网口的 USB Hub 可以参考以下图片到京东或淘宝进行购买(仅供参考)。带网口的 USB Hub 准备好后,一个插在开发板,另一个插到 Ubuntu 系统,中间用网线连接起来,这样它们的网络链接就打造好了。

bluebird_shao的专栏 4396

Ubuntu Linux经典著作

媒体评论 “Sobell能为Linux写书我感到无比荣幸,当年我就是读他的书学会UNIX的。” ——Linus Torvalds,Linux之父 “让我印象深刻的是,Mark Sobell能够以如此易于理解的方式讲解复杂的主题……他真是一位有灵感的技术作家。” ——George Vish II,惠普公司高级教育顾问 “总而言之,我认为这是一本极好的、全面的Ubuntu著作,无论你技术...

weixin_33873846的博客 64
上一篇: SPI之 ------- 片选信号CS
下一篇: 如何解析dtb文件
~我爱中国~
博客等级 码龄16年 28粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值