• [活动体验] 资料帖意见建议
    邮箱:3058113730@qq.comhttps://www.mindspore.cn/tutorial/training/zh-CN/r1.1/index.html 意见建议:1  如下图所示,教程材料里需要添加Mac操作系统相关训练,使用Mac的用户不在少数,如果MindSpore可以在Mac上训练,将会受更多用户喜爱;          2  如下图所示,用户里“初级”、“中级”、“高级”和“企业”概念模糊,用户需要一个个点才能看是不是自己所需,需要具体化一点,否则表达不清,尤其是企业与前三个概念也不是同一个语义层次。
  • [Atlas300] Atlas300 固件firmware安装错误:not a physical-machine, firmware upgrade
    Atlas 300 环境安装环境:Ubuntu18.04.5 虚拟机; X86驱动已安装成功 npu-smi info显示OK,安装固件是报错,log如下[Firmware] [2021-03-08 08:46:40] [INFO]Start time: 2021-03-0d8 08:46:40[Firmware] [2021-03-08 08:46:40] [INFO]UserCommand: A300-3000-3010-npu-firmware_1.76.22.3.220.run --full[Firmware] [2021-03-08 08:46:40] [INFO]base version was destroyed or not exist.[Firmware] [2021-03-08 08:46:40] [INFO]FEATURE_NVCNT_CHECK is : FEATURE_NVCNT_CHECK=n[Firmware] [2021-03-08 08:46:40] [INFO]reset_passwd=y[Firmware] [2021-03-08 08:46:40] [INFO]slogd is down[Firmware] [2021-03-08 08:46:40] [INFO]sklogd is down[Firmware] [2021-03-08 08:46:40] [INFO]log-daemon is down[Firmware] [2021-03-08 08:46:40] [INFO]freeSpace:5886M[Firmware] [2021-03-08 08:46:40] [INFO][1] mini pcie devices are scaned.[Firmware] [2021-03-08 08:46:41] [INFO]chips [0] are up.[Firmware] [2021-03-08 08:46:41] [INFO]the minimum devid is [0].[Firmware] [2021-03-08 08:46:41] [ERROR]not a physical-machine, firmware upgrade does not support.[Firmware] [2021-03-08 08:46:41] [ERROR]vmCheck failed.
  • [技术干货] LAN interconnection
    The architecture of bridge protocol is as follows网桥协议的体系结构:In IEEE802 architecture, the station address is described by the MAC sublayer protocol, and the bridge plays a relay role in the MAC sublayer. 在IEEE802体系结构中,站地址是由MAC子层协议来说明的,网桥在MAC子层中起中继作用。The bridge can connect two LANs directly, and the two LANs run the same Mac and LLC protocols.网桥可以直接连接两个局域网,此时这两个局域网运行相同的MAC和LLC协议。 If two LANs are far apart, two bridges can be used to connect one LAN, and the two bridges can be connected by communication lines. 如果两个局域网相距较远,也可以用两个网桥分别连接一个局域网,两个网桥之间再用通信线路相连。A bridge can connect multiple LANs, but when there are more than two LANs connected by the bridge, the bridge must have the function of routing. 一个网桥可以连接多个局域网,但网桥连接的局域网多于两个时,网桥必须具有路由选择的功能。In order to support bridge routing, MAC address should be divided into two parts: network address and station address. 为了对网桥的路由选择提供支持,MAC层地址应该分为两部分:网络地址和站地址。Ieee803.5 standard suggests: 16 bit MAC address is divided into 7-bit LAN address and 8-bit workstation address; 48 bit MAC address is divided into 14 bit LAN address and 32-bit workstation address; the remaining bits are used to distinguish packet address / single address, and local address / global address.IEEE803.5标准建议:16位MAC地址分成7位的局域网地址和8位的工作站地址,48位的MAC地址分成14位的局域网地址和32位的工作站地址,其余的位用于区分分组地址/单地址,以及局域地址/全局地址。Spanning tree bridge:生成树网桥:Spanning tree bridge is a kind of transparent bridge. 生成树网桥是一种透明网桥After the bridge is inserted into the cable, it can automatically complete the routing function, without the user loading the routing table or setting parameters. The address mapping table can be maintained dynamically inside the bridge. 这个网桥插入电缆后就可自动完成路由选择的功能,无须用户装入路由表或设置参数,桥内部可动态维护地址映射表。According to the address mapping table, the bridge decides that the received frame is forwarded to the corresponding subnet or further forwarded through the subnet.根据该地址映射表,网桥决定收到的帧被转发到对应的子网,或者通过该子网作进一步的转发。Source routing bridge:源路由网桥:The routing information is indicated by the sender of the frame. 由帧的发送者显示地指明路由信息。The routing information consists of a sequence of bridge address and LAN identifier, which is included in the frame header.路由信息由网桥地址和局域网标识符的序列组成,包含在帧头中。 Each received frame bridge can know whether it is in the forwarding path according to the address information in the frame header, and can determine the direction of forwarding. 每个收到帧的网桥根据帧头中的地址信息可以知道自己是否在转发路径中,并可以确定转发的方向。If the source node does not know the path, it sends a broadcast frame with test function, and the broadcast frame is received by each bridge. 如果源节点不知道路径,则发送一个具有测试功能的广播帧,广播帧被每个网桥接收。The bridge receiving the broadcast frame checks the routing information field in the broadcast frame. If the bridge number is already in the routing information, it will not do any processing; otherwise, it will add a segment number to the routing information and forward the frame to other subnets connected with it and whose network number does not appear in the frame.接到广播帧的网桥检查广播帧中的路由信息字段,如果本网桥号已经在路由信息中,则不作任何处理;否则,向路由信息中增加段号,并将该帧转发到与之连接且网号未在帧中出现的其他子网。 When the sink node receives the test frame, it returns a response frame to the source node.当信宿节点接到该测试帧后,向源发节点返回一个应答帧。 The response frame contains the required path information, which is transmitted reversely along the path of the test frame. 应答帧中包含了所需的路径信息,并沿着测试帧途经的路径反向传递。Because of the broadcast, the source node will receive multiple response frames, and choose a route from them by some algorithm.由于广播的缘故,源发节点会收到多个应答帧,通过某种算法从中选择一条路由。 The source routing bridge can get the best path, but its disadvantage is that the test frame may form a broadcast storm.源路由网桥可以获得最佳路径,其缺点是测试帧可能会形成广播风暴。地址信息 address information不知道 a stranger to ; have no idea ; I don't know ; No测试功能 test function段号 segment number信宿 a stay of two consecutive nights ; two nights' time局域网技术基础(拓扑结构、传输介质、IEEE802标准、逻辑链路控制子层、介质访问控制)IEEE803.3标准(CSMA/CD协议、以太网、高速以太网)虚拟局域网(概念、划分方法、标准、标记、中继、VLAN中继协议、VLAN中继协议修剪)局域网互联(网桥协议的体系结构、生成树网桥、源路由网桥)城域网(城域以太网、弹性分组网)总线、环型、星型若信道空闲,是否立即发送若信道忙,是否继续监听1000Base- CX    1000Base-LX   1000Base-SX  1000Base-TX*****网络互连与互联网*****网络互连设备(中继器、网桥、路由器、网关)广域网互连(网关、面向连接的网际互连、无连接的网际互连)IP协议(服务、地址、协议)TCP和UDP(特性、报文、端口)地址解析协议(地址解析过程)网关协议(自治系统、外部网关协议、内部网关协议、核心网关协议)路由器技术(NAT、CIDR、三层交换)IP组播技术(地址、管理、路由)IP QoS技术(集成服务、区分服务、流量工程)Internet基本服务(域名系统、远程登陆、文件传输、电子邮件、万维网)物理层、数据链路层、网络层、传输会话表示应用不可靠、无连接、尽力  A、B、C  、 私网、格式、分段、重装配、IP路由连接的、可靠的、面向流的、头部(20B)和数据/无连接、不可靠的IGP、EGP、RIP、GGP224.0.0.0RSVP、DS、MPLSDNS、TELNET、FTP、e-mail、WWW局域网体系结构IEEE802.3和以太网IEEE802.4和令牌总线IEEE802.5、令牌环网、FDDIIEEE802.6和SMDSIEEE802.11100VG-AnyLAN网络其他无线局域网无线个人网无线城域网网桥VLAN
  • [对接入门] 【PLC产品】【一周所遇到的问题总结,请求解答】
    【功能模块】【操作步骤&问题现象】1、调用MAC地址函数,发现得到的MAC地址和502网关里面通过sta指令查询到的MAC地址不同2、通过MSDK更改白名单认证设置为ESN认证,发现设置失败。3、通过关闭透传模式,开启UART-demo代码运行成功,但是串口没有数据,收发都没有。4、通过关闭透传模式,编译容器APP,通过UDP监听10051端口,connect的是尾端模块的IPV6地址,发现连接不上。通过502容器内手动发数据,头端的TX,RX会闪,说明我GE2口端口映射的没问题,头尾领域为通用领域。【截图信息】一个问题,一个截图,请大佬们,帮忙解答一下。【日志信息】(可选,上传日志内容或者附件)
  • [经验交流] 轻松定位MAC地址学不到的问题
    首先介绍几个基本概念MAC、MAC地址表项、MAC地址表的关系是什么呢?MAC地址表是由一条条的MAC地址表项组成。MAC地址表项是由MAC、VLAN和端口组成。所以这里所说的MAC地址学习不到,是指的MAC地址表项学习不到。MAC地址表项是怎么学习的呢?MAC地址表项是在交换机收到数据帧时,解析出数据帧的源MAC地址和VLANID,然后和接收数据帧的端口组合成的。如下图所示就是一条MAC地址表项。一起来看看“MAC地址学习不到问题”的定位步骤吧。第一步:判断端口是否收到报文查看方法:先在用户视图下执行reset counters interface GigabitEthernet3/0/0命令清空端口的计数,然后再在用户视图下执行display interface GigabitEthernet3/0/0查看入报文的统计计数是否为0。第二步:查看设备配置是否正确1.     VLAN是否创建并加入端口。查看方法:任意视图下执行displayvlan vlan-id命令,查看VLAN是否存在并加入端口。2.     端口下是否配置了MAC地址不学习功能。查看方法:接口视图下执行displaythis命令,查看是否存在mac-address learning disable配置。3.     端口下是否配置了MAC地址学习限制数功能。查看方法:接口视图下执行displaythis命令,查看是否存在mac-limit maximum配置。4.     VLAN下是否配置了MAC地址不学习功能。查看方法:VLAN视图下执行display this命令,查看是否存在mac-address learningdisable配置。5.     VLAN下是否配置了MAC地址学习限制数功能。查看方法:VLAN视图下执行display this命令,查看是否存在mac-limit maximum配置。第三步:查看端口是否被阻塞1.     查看端口是否被生成树协议阻塞。查看方法:任意视图下,执行display stp brief命令查看端口的状态。2.     查看端口是否被LBDT或LDT环路检测协议阻塞。查看方法:任意视图下,执行display loop-detection命令查看端口是否被LDT阻塞。在任意视图下,执行display  loopback-detect命令查看端口是否被LBDT阻塞。光说不练假把式,根据现象找出问题并解决问题才是真本事。那么现在就一起,来“定位两个MAC地址不学习”的问题吧。典型问题一:端口没有加入VLAN,导致MAC地址学习不到。组网说明PC1和PC2属于同一个网段,在同一个VLAN10内,通过两台交换机进行通信。问题现象PC1ping PC2不通交换机Switch1学习到了PC1的MAC地址交换机Switch2没有学习到PC1的MAC地址定位和解决第一步:判断Switch2设备的GE0/0/2端口是否收到报文哦?通过上图,发现端口入计数都是0, 看来是GE0/0/2端口没有收到报文才导致MAC地址学习不到呀,那到底什么原因导致的呢?还得进一步定位了。第二步:查看设备配置是否正确1.     判断VLAN是否创建,并且端口是否加入VLAN。有上图可以看出,VLAN10已经创建,但是GE0/0/2端口没有加入VLAN 10。这就是导致MAC地址学习不到的根本原因了。那就把GE0/0/2端口加入VLAN 10,再ping一下看看呢。哈哈,可以ping通了,我们再来查看一下MAC地址表项。
  • [经验交流] LACP
    简介本章节介绍了LACP的定义、基本原理及如何配置LACP。LACP是数通的基本特性,交换机、路由器、WLAN、防火墙等产品均支持配置LACP。本章节以华为S12700交换机为例进行介绍。了解LACP链路聚合控制协议LACP(Link Aggregation Control Protocol),是基于IEEE802.3ad标准的一种实现链路动态聚合与解聚合的协议,以供设备根据自身配置自动形成聚合链路并启动聚合链路收发数据,LACP模式就是采用LACP的一种链路聚合模式。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整链路聚合。如图1所示,DeviceA与DeviceB之间创建Eth-Trunk,需要将DeviceA上的四个接口与DeviceB**成一个Eth-Trunk。由于错将DeviceA上的一个接口与DeviceC相连,这将会导致DeviceA向DeviceB传输数据时可能会将本应该发到DeviceB的数据发送到DeviceC上。而手工模式的Eth-Trunk不能及时检测到此故障。如果在DeviceA和DeviceB上都启用LACP协议,经过协商后,Eth-Trunk就会选择正确连接的链路作为活动链路来转发数据,从而DeviceA发送的数据能够正确到达DeviceB。图1-1  Eth-Trunk错连示意图LACP协议中涉及的概念包括:系统LACP优先级系统LACP优先级是为了区分两端设备优先级的高低而配置的参数。LACP模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端具有更高的优先级,另一端根据高优先级的一端来选择活动接口即可。系统LACP优先级值越小优先级越高。接口LACP优先级接口LACP优先级是为了区别同一个Eth-Trunk中的不同接口被选为活动接口的优先程度,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。成员接口M:N备份LACP模式链路聚合由LACP确定聚合组中的活动和非活动链路,又称为M:N模式,即M条活动链路与N条备份链路的模式。这种模式提供了更高的链路可靠性,并且可以在M条链路中实现不同方式的负载均衡。如图2所示,两台设备间有M+N条链路,在聚合链路上转发流量时在M条链路上分担负载,即活动链路,不在另外的N条链路转发流量,这N条链路提供备份功能,即备份链路。此时链路的实际带宽为M条链路的总和,但是能提供的最大带宽为M+N条链路的总和。当M条链路中有一条链路故障时,LACP会从N条备份链路中找出一条优先级高的可用链路替换故障链路。此时链路的实际带宽还是M条链路的总和,但是能提供的最大带宽就变为M+N-1条链路的总和。图1-2  M:N备份示意图这种场景主要应用在只向用户提供M条链路的带宽,同时又希望提供一定的故障保护能力时。当有一条链路出现故障,系统能够自动选择一条优先级最高的可用备份链路变为活动链路。如果在备份链路中无法找到可用链路,并且目前处于活动状态的链路数目低于配置的活动接口数下限阈值,那么系统将会把聚合接口关闭。LACP模式实现原理LACP通过链路聚合控制协议数据单元LACPDU(Link Aggregation Control Protocol Data Unit)与对端交互信息,LACPDU报文中包含设备的系统优先级、MAC地址、接口优先级、接口号和操作Key等信息。LACP模式Eth-Trunk建立的过程如下:在LACP模式的Eth-Trunk中加入成员接口后,两端互相发送LACPDU报文。如图1所示,在DeviceA和DeviceB上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文。图1-3  LACP模式链路聚合互发LACPDU确定主动端和活动链路。如图2所示,两端设备均会收到对端发来的LACPDU报文。以DeviceB为例,当DeviceB收到DeviceA发送的报文时,DeviceB会查看并记录对端信息,然后比较系统优先级字段,如果DeviceA的系统优先级高于本端的系统优先级,则确定DeviceA为LACP主动端。如果DeviceA和DeviceB的系统优先级相同,比较两端设备的MAC地址,MAC地址小的一端为LACP主动端。选出主动端后,两端都会以主动端的接口优先级来选择活动接口,如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口。两端设备选择了一致的活动接口,活动链路组便可以建立起来,从这些活动链路中以负载分担的方式转发数据。图1-4  LACP模式确定主动端和活动链路的过程LACP模式负载分担在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,可能会产生同一数据流的第一个数据帧在一条物理链路上传输,而第二个数据帧在另外一条物理链路上传输的情况。这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。为了避免这种情况的发生,Eth-Trunk采用逐流负载分担的机制,把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担。逐流负载分担能保证包的顺序,但不能保证带宽利用率。您可以根据流量模型设置不同的负载分担方式,流量中某个参数变化越频繁,选择对应负载分担方式的流量就越均衡。例如,如果报文的IP地址变化较频繁,那么选择基于dst-ip、src-ip或src-dst-ip的负载分担模式更有利于流量在各物理链路间合理的负载分担;如果报文的MAC地址变化较频繁,IP地址比较固定,那么选择基于dst-mac、src-mac或src-dst-mac的负载分担模式更有利于流量在各物理链路间合理的负载分担。交换机可以基于报文的以下参数进行负载分担:源MAC地址;目的MAC地址;源MAC地址和目的MAC地址;源IP地址;目的IP地址;源IP地址和目的IP地址等。如何配置LACP执行命令system-view,进入系统视图。执行命令interface eth-trunk trunk-id,创建Eth-Trunk接口,并进入Eth-Trunk接口视图。执行命令mode lacp,配置Eth-Trunk的工作模式。缺省情况下,Eth-Trunk的工作模式为手工模式。执行命令quit,返回系统视图。请根据需要选择以下任一种方式:在Eth-Trunk接口视图下向聚合组中加入成员接口在成员接口视图下向聚合组中加入成员接口执行命令interface interface-type interface-number,进入接口视图。执行命令eth-trunk trunk-id [ mode { active | passive } ],将当前接口加入Eth-Trunk。执行命令interface eth-trunk trunk-id,进入Eth-Trunk接口视图。执行命令trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-8> [ mode { active | passive } ],增加成员接口。(可选)执行命令load-balance { dst-ip | dst-mac | src-ip | src-mac | src-dst-ip | src-dst-mac },配置Eth-Trunk负载分担方式。 缺省情况下,Eth-Trunk接口的负载分担模式为src-dst-ip。下面这个示例显示了如何创建一个LACP模式的Eth-Trunk接口,并将接口GE1/0/1~GE1/0/3加入此Eth-Trunk,然后查看配置结果。[HUAWEI] interface eth-trunk 1[HUAWEI-Eth-Trunk1] mode lacp[HUAWEI-Eth-Trunk1] trunkport gigabitethernet 1/0/1 to 1/0/3[HUAWEI-Eth-Trunk1] quit[HUAWEI] display eth-trunk 1Eth-Trunk1's state information is: Local: LAG ID: 1                   WorkingMode: LACP Preempt Delay: Disabled     Hash arithmetic: According to SIP-XOR-DIP System Priority: 32768      System ID: 00e0-fca8-0417 Least Active-linknumber: 1  Max Active-linknumber: 8 Operate status: up          Number Of Up Port In Trunk: 3 -------------------------------------------------------------------------------- ActorPortName          Status   PortType PortPri PortNo PortKey PortState Weight GigabitEthernet1/0/1   Selected 1GE      32768   1      305     10100010  1 GigabitEthernet1/0/2   Selected 1GE      32768   2      305     10100010  1 GigabitEthernet1/0/3   Selected 1GE      32768   3      305     10100010  1 Partner: -------------------------------------------------------------------------------- ActorPortName          SysPri   SystemID        PortPri PortNo PortKey PortState GigabitEthernet1/0/1   32768    00e0-fca6-7f85  32768   1      305     10100011 GigabitEthernet1/0/2   32768    00e0-fca6-7f85  32768   2      305     10100011 GigabitEthernet1/0/3   32768    00e0-fca6-7f85  32768   3      305     10100011LACP的其他配置如果您想了解LACP的其他配置,包括配置LACP优先级、配置LACP抢占、配置接收LACP报文超时时间、配置增强型负载分担等,请参见《S12700 V200R013C00 配置指南-以太网交换》中的“以太网链路聚合配置-配置LACP模式链路聚合”。
  • [经验交流] ERROR DOWN接口状态恢复
    简介在交换机设备上,有时用户会发现物理接口的状态是ERROR DOWN,进而想要了解接口发生ERROR DOWN的原因以及接口如何恢复。本文档描述了ERROR DOWN状态是什么,以及如何从中恢复。前提条件本文档适用于V200R001C00及后续版本的S系列交换机。设备上支持的down-cause字段值可能因版本、款型不同而有差异,请以实际设备为准。故障描述在对接的两个设备上的任意视图下,均执行命令display interface interface-type interface-number,查看接口当前运行状态和接口统计信息。其中,current state字段为ERROR DOWN(down-cause),此处以ERROR DOWN(as-not-ready)为例。<HUAWEI> display interface gigabitethernet 0/0/12GigabitEthernet0/0/12 current state : ERROR DOWN(as-not-ready)Line protocol current state : DOWN Description: Switch Port, Link-type : access(negotiated), PVID :1, TPID : 8100(Hex), The Maximum Frame Length is 9216 IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 000b-0974-a475  Last physical up time: 2013-08-10 21:09:51  Last physical down time : 2013-08-10 21:10:51 Current system time: 2013-08-10 21:15:06 Port Mode: COMMON COPPER Speed : 1000,   Loopback: NONE Duplex: FULL,   Negotiation: ENABLE故障恢复方法接口的current state字段为ERROR DOWN (down-cause),表示接口由于错误事件而被Shutdown。用户需要根据down-cause具体字段信息排查故障。常见down-cause字段值如下表所示。down-cause字段值场景说明as-not-ready当设备协商为AS模式时,端口状态会变为Down,待模板业务下发完成后,端口重新Up。auto-defend执行命令auto-defend action配置攻击溯源的惩罚措施后,设备会将攻击报文进入的接口shutdown,从而避免攻击源继续攻击设备。bpdu-protection在运行STP协议的网络中,边缘端口配置BPDU保护功能后,如果有人伪造BPDU报文恶意攻击交换设备,交换设备会在边缘端口接收到BPDU报文时将边缘端口状态变为Down,从而阻塞该接口上的所有业务。efm-remote-failure执行efm trigger error-down命令使能远端故障事件和当前接口联动功能时,当EFM检测到故障事件critical-event、dying-gasp、link-fault或timeout后,相应接口的协议状态变为Down,接口上的所有业务将全部被中断。efm-threshold-event当配置了链路监控功能后,如果在设置的观察时长内,接口检测到的误帧、误码或者误帧秒数量达到或者超过门限值,则用户可以认为此链路不可以用。在此情况下,使用EFM越限事件和当前接口联动功能将接口状态变为Down,从而阻塞该接口上的所有业务。error-statistics配置了备份链路的以太网接口,当接收到错误报文时,会导致业务丢包等故障。为了不影响业务的正常运行,当接收到的错误报文达到告警阈值时,则将接口shutdown,业务切换到备份链路。runts-error-statistics插拔光纤、网线或者光模块,执行shutdown、undo shutdown命令或者网络中存在Runts报文等情况会导致接口收到Runts错包。为了避免对设备或者运行的业务带来更坏的影响,设备会统计接口在1分钟内收到的Runts错包数,当Runts错包数超过告警阈值5时,将该接口shutdown。link-flap网线故障或主备倒换等问题会引起接口状态频繁Up/Down变化,此时可配置接口的Link-flap保护,设备在收到接口Up/Down消息时,查看接口振荡的次数和间隔时间,在指定时间内Up/Down振荡次数达到了设定值时,将该接口shutdown。storm-control配置了接口下风暴控制的动作为error-down后,在风暴控制检测时间间隔内,当接口上接收广播、组播或未知单播报文的平均速率大于指定的高阈值的时候,接口将进行关闭处理。port-security配置接口安全功能后,设备学习到的MAC地址变为安全动态MAC。若通过port-security protect-action命令配置接口安全保护动作为shutdown,当接口学习到的安全MAC地址数超过限制或配置静态MAC地址检测功能后出现静态MAC地址漂移时,就把接口关闭。mac-address-flapping当用户网络中由于环网等原因造成了MAC地址漂移时,可以在相应接口上配置发生MAC地址漂移后的处理动作来实现破环。接口配置了MAC地址漂移处理动作后,如果系统检测到是该接口学习的MAC发生漂移,会将该接口关闭。transceiver-power-low配置了备份链路的以太网光接口,当接口的光功率降低时,会导致业务丢包等故障。为了不影响业务的正常运行,当光功率低于设置的告警下限阈值时,触发接口error-down,及时切换业务。data-integrity-error设备长时间运行后,芯片内存标识符出现数据完整性错误。ERROR DOWN状态恢复措施包括手动和自动两种。手动恢复在接口视图下依次执行命令shutdown和undo shutdown命令或者执行命令restart,重启接口。自动恢复在系统视图下执行命令error-down auto-recovery cause down-cause interval interval-value,设置由具体原因引起的ERROR DOWN自动恢复Up功能。您可以使用该命令将接口从down-cause字段值中显示的原因中在指定间隔时间后将接口恢复为UP。例如,接口GE0/0/1接口的current state字段为ERROR DOWN(auto-defend),则可以通过以下命令,是接口在30秒之后恢复UP功能。<HUAWEI> error-down auto-recovery cause auto-defend interval 30您可以在接口UP的状态下,对引起接口ERROR DOWN的业务进行排查,进而从根本上解决故障。无论是手动恢复还是自动恢复,都不能将接口彻底从ERROR DOWN状态恢复。您需要对相应业务进行排查,从根本上排除引起接口ERROR DOWN的故障。否则,即使接口从ERROR DOWN状态恢复了,也会再次进入ERROR DOWN状态,直到您彻底排除故障。
  • [AI家园] 学习资源 贝叶斯优化 SMAC Hyperopt Spearmint
    ### 得知渠道 AI浪潮下的数据中心省钱攻略,就用这几招 * https://bbs.huaweicloud.com/live/DevRun_live/202012302000.html   ### 贝叶斯优化方法 ### SMAC 采用随机森林作为性能预测模型的贝叶斯优化方法 https://github.com/automl/SMAC3 简介(来自README.md) > SMAC is a tool for algorithm configuration to optimize the parameters of arbitrary algorithms across a set of instances. This also includes hyperparameter optimization of ML algorithms. The main core consists of Bayesian Optimization in combination with an aggressive racing mechanism to efficiently decide which of two configurations performs better. > > For a detailed description of its main idea, we refer to > > > Hutter, F. and Hoos, H. H. and Leyton-Brown, K. > > Sequential Model-Based Optimization for General Algorithm Configuration > > In: Proceedings of the conference on Learning and Intelligent OptimizatioN (LION 5) > > SMAC v3 is written in Python3 and continuously tested with Python 3.6 and python3.6. Its Random Forest is written in C++.   ### Hyperopt 采用TPE作为性能预测模型的贝叶斯优化方法 https://jaberg.github.io/hyperopt/ 简介(来自网址) > hyperopt is a Python library for optimizing over awkward search spaces with real-valued, discrete, and conditional dimensions.   ### Spearmint 采用GP遗传算法作为性能预测模型的贝叶斯优化方法 https://github.com/HIPS/Spearmint 简介(来自README.md) > Spearmint is a software package to perform Bayesian optimization. The Software is designed to automatically run experiments (thus the code name spearmint) in a manner that iteratively adjusts a number of parameters so as to minimize some objective in as few runs as possible. > > IMPORTANT: Spearmint is under an Academic and Non-Commercial Research Use License. Before using spearmint please be aware of the license. If you do not qualify to use spearmint you can ask to obtain a license as detailed in the license or you can use the older open source code version (which is somewhat outdated) at https://github.com/JasperSnoek/spearmint.   欢迎各位同学来讨论~!
  • [问题求助] 华为云桌面客户端只有s和linux版本?没有mac版本?
    华为云桌面客户端只有windows和linux版本?没有mac版本?
  • [技术干货] 吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习 红色石头
    作者:Peter红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路www.redstonewill.com0. 引言吴恩达(Andrew Ng),毫无疑问,是全球人工智能(AI)领域的大 IP!然而,吴恩达从最早的 CS229,到后来的 deeplearning.ai 深度学习专项课程,还有其它 AI 资源,大神发布的 AI 知名课程和资料非常多。说到吴恩达优秀的 AI 课程,首当其冲的就是几年前在 Coursera 上发布的《Machine Learning》课程!这门《Machine Learning》评分高达 4.9 分,共有超过 300w 人注册学习。其火爆程度可想而知!课程主页:https://www.coursera.org/learn/machine-learning/课程特色:这门课基本涵盖了机器学习的主要知识点:线性回归、逻辑回归、支持向量机、神经网络、K-Means、异常检测等。课程中没有复杂的公式推导和理论分析,让机器学习初学者能够快速对整个机器学习知识点有比较整体的认识,便于快速入门。完整中文笔记(pdf、word、markdown版本)、中英文字幕离线视频、复现的python作业:https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes在线笔记:http://www.ai-start.com/ml2014/课后作业(Python 版本):https://github.com/nsoojin/coursera-ml-py课后作业(Jupyter 版本):https://github.com/kaleko/CourseraML鉴于这门课程非常适合入门,在接下来的一段时间中,我们将推出吴恩达《Machine Learning》的系列笔记,方便大家配套学习!今天带来第一周课程的笔记:监督式学习和非监督式学习。主要内容:监督学习和无监督学习单变量线性回归问题代价函数梯度下降算法1-1. 监督学习Supervised Learning利用监督学习预测波士顿房价(回归问题)大多数情况下,可能会拟合直线有时候用二次曲线去拟合效果可能会更好的什么是回归问题?在监督学习中,我们给学习算法一个数据集,比如一系列房子的数据,给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的答案,我们需要估算一个连续值的结果,这属于回归问题利用监督学习来推测乳腺癌良性与否(分类问题)横轴表示肿瘤的大小纵轴表示1表示恶性,0表示良性什么是分类问题?机器学习的问题就在于,估算出肿瘤是恶性的或是良性的概率,属于分类问题。分类问题指的是,我们试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题中,输出可能不止两个值。比如说可能有三种乳腺癌,所以希望预测离散输出0、1、2、3。0 代表良性,1 表示第1类乳腺癌,2表示第2类癌症,3表示第3类,也是分类问题。应用垃圾邮件问题疾病分类问题1-2 无监督学习Unsupervised Learning监督学习中,数据是有标签的无监督学习中,数据是没有标签,主要提到了聚类算法应用基因学的理解应用社交网络分析组织大型计算机集群细分市场新闻事件分类2. 单变量线性回归Linear Regression with One Variable房价问题横轴是不同的房屋面积,纵轴是房屋的出售价格。监督学习:对于每个数据来说,给出了正确的答案。在监督学习中,我们有一个给定的数据,叫做训练集training set回归问题:根据之前的数据,预测出一个准确的输出值。分类问题:预测离散的输出值,例如寻找癌症肿瘤,并想要确定肿瘤是良性的还是恶性的,属于0/1离散输出的问题监督学习工作模式学习过程解释:将训练集中的房屋价格喂给学习算法学习算法工作,输出一个函数,用h表示h表示hypothesis,代表的是学习算法的解决方案或者函数。h根据输入的x值得到y值,因此h是x到的y的一个函数映射可能的表达式:hθ(x)=θ0+θ1x,只有一个特征或者出入变量,称为单变量线性回归问题3. 代价函数cost function代价函数也称之为平方误差函数,平方误差代价函数。在线性回归中我们有一个像这样的训练集,m代表了训练样本的数量,比如 m=47。而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式:hθ(x)=θ0+θ1x。函数解释m:训练样本的个数hθ(x)=θ0+θ1x:假设函数θ0和θ1:表示两个模型参数,即直线的斜率和y轴上的截距建模误差建模目标图中红色的点表示真实值yi,真实的数据集h(x)表示的是通过模型得到的预测值目标:选择出可以使得建模误差的平方和能够最小的模型参数代价函数直观解释1本例中是通过假设θ0=0来进行,假设函数h(x)是关于x的函数,代价函数J(θ0,θ1)是关于θ的函数,使得代价函数最小化代价函数直观解释2通过等高线图来进行解释。通过绘制出等高线图可以看出来,必定存在某个点,使得代价函数最小,即:可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点。4. 梯度下降Gradient Descent思想梯度下降是一个用来求函数最小值的算法。背后的思想:开始随机选取一个参数的组合(θ0,θ1,…,θn)计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。持续这么做,直到一个局部最小值(local minimum),因为并没有尝试完所有的参数组合,所以不能确定得到的局部最小值是否是全局最小值(global minimum)批量梯度下降batch gradient descent算法公式为特点:需要同步更新两个参数梯度下降直观解释算法公式:具体描述:对θ赋值,使得J(θ)按照梯度下降最快的方向进行,一直迭代下去,最终得到局部最小值。学习率:α是学习率它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。学习率太小:收敛速度慢需要很长的时间才会到达全局最低点学习率太大:可能越过最低点,甚至可能无法收敛梯度下降的线性回归GradientDescent-For-LinearRegression梯度下降是很常用的算法,它不仅被用在线性回归上和线性回归模型、平方误差代价函数。将梯度下降和代价函数相结合。梯度下降VS线性回归算法批量梯度下降算法对之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:这种梯度下降的算法称之为批量梯度下降算法,主要特点:在梯度下降的每一步中,我们都用到了所有的训练样本在梯度下降中,在计算微分求导项时,我们需要进行求和运算,需要对所有m个训练样本求和至此,第一周的课程笔记完毕!本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!——转自知乎/红色石头
  • [技术干货] 吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程
    作者:Peter红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路www.redstonewill.com今天带来第二周课程的笔记:梯度下降与正规方程。主要内容:多维特征多变量梯度下降梯度下降法实践正规方程多维特征Multiple Features还是利用房价模型的例子,增加了更多的特征,比如:房间楼层、房间数量、地理位置等,构成了一个含有多个变量的模型n:代表的是特征的数量x(i):代表第i个训练实例,是特征矩阵中的第i行,是一个向量vectorxij:表示的是第i个训练实例的第j个特征;i表示行,j表示列支持多变量的假设h表示为:为了简化公式,引入,公式转化为:特征矩阵X 的维度是m∗(n+1),公式简化为:多变量梯度下降算法目标与单变量线性回归类似,在多变量线性回归中,构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:其中:算法过程:Python代码给定特征矩阵X,输出y,学习率θ,求代价函数Jimport numpy as npdef computeCost(X,y,theta):   inner = np.power(((X * theta.T) - y), 2)  # 求解每个平方项   return np.sum(inner) / (2 / len(X))   # 求和再除以2*len(X)梯度下降法实践特征缩放面对多维度特征问题,我们需要保证这些特征具有相近的尺度,帮助梯度下降算法更快地收敛。以房价问题为例,假设仅用两个特征,房屋的尺寸和数量,以两个参数分别为横纵坐标,假设尺寸在0-2000平方英尺,数量在0-5之间。绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。解决办法:将所有的特征的尺度尽量缩放到-1到1之间,令:其中un为平均值,sn为标准差均值归一化学习率问题梯度下降算法的每次迭代受到学习率的影响如果学习率过小,则达到收敛所需的迭代次数会非常高,收敛速度非常慢如果学习率过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛常用学习率包含:α=0.01,0.03,0.1,0.31,3,10α=0.01,0.03,0.1,0.31,3,10特征和多项式回归如房价预测问题,同时房屋面积=宽度 * 深度在实际拟合数据的时候,可能会选择二次或者三次方模型;如果采用多项式回归模型,在运行梯度下降法之前,特征缩放很有必要。正规方程 Normal Equation梯度下降缺点需要多次迭代才能达到局部最优解正规方程demo正规方程具有不可逆性正规方程就是通过求解下面例子中的方程找出使得代价函数最小参数θ:不可逆矩阵不能使用正规方程求解Normal Equation VS Gradient Descent梯度下降和正规方程的比较:参数θ求解过程正规方程的Python实现import numpy as npdef normalEquation(X, y):   theta = np.linalg.inv(X.T@X)@X.T@Y   # X.T@X等价于X.T.dot(X)  @等价于.dot   return theta至此,第一周的课程笔记完毕!系列文章:吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!——转自知乎/红色石头
  • [技术干货] 吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化
    作者:Peter红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路www.redstonewill.com今天带来第三周课程的笔记:回归问题和正则化。主要讲解的内容包含:逻辑回归代价函数线性回归和逻辑回归的比较正则化问题逻辑回归分类问题假设预测的变量y是离散的值,需要使用逻辑回归Logistic Regression,LR的算法,实际上它是一种分类算法二元分类问题将因变量dependent variable可能属于的两个类分别称为负向类negative class和正向类positive class,因变量y的取值只能在0和1之间,其中0表示负类,1表示正类假说表示Hypothesis Representation分类器的输出值在0和1之间,因此,希望找出一个满足某个性质的假设函数,这个性质是它的预测值要在0和1之间引入一个新的模型:逻辑回归,该模型的输出变量范围始终在0和1之间。逻辑回归模型的假设是:其中X代表的是特征向量g的逻辑函数,常用的S型函数(上图的右边,sigmoid function)公式为Python代码实现sigmod激活函数:import numpy as npdef sigmod(z):   return 1 / (1 + np.exp(-z))hθ(x)作用是对于给定的输入变量,根据选择的参数计算输出变量=1的可能性,即:hθ(x)=P(y=1|x;θ)例如:对于给定的x,通过已经确定的参数计算得出hθ(x)=0.7hθ(x)=0.7,则表示有70%的几率y属于正类决策边界decision boundary解释逻辑回归在逻辑回归中h≥0.5h≥0.5预测y=1y=1;反之y=0在激活函数g(z)g(z)中:当z≥0z≥0则g(z)≥0.5g(z)≥0.5当z<0z<0则g(z)<0.5g(z)<0.5又因为 z=θTx ,即: θTx>=0 时,预测 y=1y=1 ;反之:θTx<0 时,预测 y=0实例demo在下图的中实例中,参数θ满足[-3,1,1],当−3+x1+x2≥0,即x1+x2≥3时,模型预测y=1;说明此时:直线x1+x2=3就是决策边界复杂的模型边界问题代价函数Cost Function如何拟合LR模型的参数θ1. 线性模型中代价函数是模型误差的平方和 :如果直接使用线性模型中的代价函数,即误差平方和,得到的代价函数是个非凸函数,但是实际上我们期望看的是凸函数(右边)重新定义逻辑回归的代价函数将上面的两个式子进行合并:hθ(x)和Cost(hθ(x),y)之间的关系根据y的不同取值来进行分别判断,同时需要注意的是:假设函数h的取值只在[0,1]之间y=1的情形y=0的情形Python代码实现代价函数利用Python实现下面的代价函数first 表示的是右边第一项second 表示的是右边第二项import numpy as npdef cost(theta, X, y):   # 实现代价函数   theta=np.matrix(theta)   X = np.matrix(X)   y = np.matrxi(y)   first = np.multiply(-y, np.log(sigmod(X * theta.T)))   second = np.multiply((1 - y), np.log(1-sigmod(X * theta.T)))   return np.sum(first - second) / (len(X))利用梯度下降来求解LR最小参数1、LR中的代价函数是 :2、最终结果:3、具体过程不断地迭代更新θj:如果存在n个特征,也就是θ=[θ0,θ1,…,θn]T。那么就需要根据上面的式子从0-n来更新所有的θ线性回归 VS 逻辑回归假设的定义规则发生变化线性回归:逻辑回归:因此,即使更新参数的规则看起来基本相同,但由于假设的定义发生了变化,所以逻辑函数的梯度下降,跟线性回归的梯度下降实际上是两个完全不同的东西。其他求解代价函数最小的算法共轭梯度conjugate gradient局部优化法Broyden fletcher goldfarb shann,BFGS有限内存局部优化法LBFGS多类别分类one-vs-all我们举一个实际中的例子来说明:假如现在需要一个学习算法能自动地将邮件归类到不同的文件夹里,或者说可以自动地加上标签,那么需要一些不同的文件夹,或者不同的标签来完成这件事,来区分开来自工作、朋友、家人或者有关兴趣爱好的邮件,那么,就有了这样一个分类问题:其类别有4个,分别用y=1,2,3,4 来代表。正则化问题Regularization正则化基础正则化技术主要是为了解决过拟合的问题。过拟合指的是:对样本数据具有很好的判断能力,但是对新的数据预测能力很差。第一个模型是一个线性模型,欠拟合,不能很好地适应我们的训练集第三个模型是一个四次方的模型,过于强调拟合原始数据,而丢失了算法的本质:预测新数据中间的模型似乎最合适如果是多项式拟合,x的次数越高,拟合的效果越好,但是相应的预测能力就可能变差。对于过拟合的处理:丢弃一些不能正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法,例如PCA正则化。保留所有的特征,但是减少参数的大小magnitude加入正则化参数在模型hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4中,主要是高次项产生的过拟合问题:加入正则化参数后能够防止过拟合问题,其中λλ是正则化参数Regularization Parameter那么,相应的代价函数变成为:Attention:一般地,不对θ0进行惩罚;加上正则化参数实际上是对参数θ进行惩罚。经过正则化处理后的模型和原模型的对比:如果λ过大,所有的参数最小化,模型变成了hθ(x)=θ0,造成了过拟合正则化线性回归Regularized Linear Regression正则化线性回归的代价函数:Attention:在线性回归中,不对θ0进行正则化:当j=1,2,…,n时:调整下变成:正则化逻辑回归Regularized Logistic RegressionLR问题两种优化方法:梯度下降法更高级优化算法加上正则惩罚项后的代价函数为:python代码实现import numpy as np# 实现代价函数def costReg(theta, X, y, lr):   theta= np.matrix(theta)   X = np.matrix(X)   y = np.matrix(y)   first = np.multiply(-y, np.log(sigmoid(X * theta.T)))   second = np.multiply((1 - y), np.log(1 - sigmoid(X * theta.T)))   reg = (lr / (2 * len(X)) * np.sum(np.power(theta[:, 1:theta.shape[1]], 2))   # theta[:, 1:theta.shape[1]] 代表的是 \theta_j   return np.sum(first - second) / len((X)) + reg通过求导,得到梯度下降算法,本质上就是对θ的不断更新:至此,第三周的课程笔记完毕!系列文章:吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!——转自知乎/红色石头
  • [技术干货] 吴恩达《Machine Learning》精炼笔记 4:神经网络基础
    作者:Peter红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路www.redstonewill.com今天带来第四周课程的笔记:神经网络基础。非线性假设神经元和大脑模型表示特征和直观理解多类分类问题非线性假设Non-linear Hypotheses线性回归和逻辑回归的缺点:特征太多的时候,计算负荷会非常大假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是否是一辆汽车),我们怎样才能这么做呢?一种方法是我们利用很多汽车的图片和很多非汽车的图片,然后利用这些图片上一个个像素的值(饱和度或亮度)来作为特征。假设采用的是50*50像素的小图片,将所有的像素视为特征,则有2500个特征。普通的逻辑回归模型不能处理的,需要使用神经网络神经元和大脑模型表示模型表示1每个神经元是可以被认为一个处理单元/神经核processing unit/Nucleus,主要包含:多个输入/树突input/Dendrite一个输出/轴突output/Axon神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型神经元称之为激活单元activation unit;在神经网络中,参数又可被成为权重(weight)类似神经元的神经网络神经网络下图是逻辑回归模型作为自身学习模型的神经元示例类似神经元的神经网络结构x1,x2,x3是输入单元,将原始数据输入给它们几个比较基础的概念输入层:数据节点所在的层网络层:输出hihi连同它的网络层参数w,bw,b隐藏层:网络层中间的层输出层:最后一层偏置单元:bias unit,每层加上偏置单元上面模型的激活单元和输出分别表示为:三个激活单元的表达式:输出的表达式为:将特征矩阵的每行(一个训练实例)喂给了神经网络,最终需要将整个训练集都喂给神经网络。这种从左到右计算的算法称之为:前向传播法FORWARD PROPAGATION模型标记的记忆方法其尺寸具体表示为:以第jj 层的激活单元数量为行数以第 j+1j+1层的激活单元数+1为列数的矩阵模型表示2FORWARD PROPAGATION相对于使用循环来编码,利用向量化的方法会使得计算更为简便,假如现在有:其中z满足:也就是上面三个激活单元式子中的括号里面部分,那么有:那么输出h可以表示为 :特征和直观理解神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)实现逻辑”与AND”实现逻辑"或OR"实现逻辑“非not”多类分类问题当输出中不止有两种分类时,比如使用神经网络算法来识别路人、汽车、摩托车等。输入向量有3个维度,两个中间层输出层有4个神经元表示4种分类,也就是每一个数据在输出层都会出现[a,b,c,d]T[a,b,c,d]T,且[a,b,c,d][a,b,c,d]中仅有一个为1,表示当前类TF中解决办法上述多类分类问题和TF中手写数字问题类似,解决办法如下:手写数字图片数据总类别数是10,即输出节点总数值dout=10dout=10,假设某个样本的类别是i,即图片中的数字是ii,需要一个长度为10的向量yy,索引号为ii的位置设置为1,其余是0。0的one-hot编码是[1,0,0,0,….]1的one-hot编码是[0,1,0,0,….]其余类推至此,第四周的课程笔记完毕!系列文章:吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!——转自知乎/红色石头
  • [技术干货] 吴恩达《Machine Learning》精炼笔记 5:神经网络
    作者:Peter红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路www.redstonewill.com系列文章:吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化吴恩达《Machine Learning》精炼笔记 4:神经网络基础今天带来第五周课程的笔记:神经网络。本文是在上节神经网络的基础上,做了进一步的阐述,内容包含:神经网络代价函数反向传播法及解释梯度检验神经网络的小结神经网络代价函数参数解释对几个参数的标记方法进行说明解释:分类讨论主要是两类:二分类和多类分类代价函数逻辑斯蒂回归(LR)中的代价函数:在逻辑斯蒂回归中,只有一个输出变量称之为标量scalar。但是在神经网络中会有多个输出变量,hθ(x)是一个K维的向量。假设第i个输出函数:代价函数J表示为:解释说明:反向传播法Backpropagation Algorithm首先计算最后一层的误差再一层层地反向求出各层的误差,直到倒数第二层前向传播例子假设有一个数据样本:前向传播法就是通过一层层地按照神经网络的顺序从输入层到输出层计算下去。反向传播例子1. 从最后一层的误差开始计算:2. 用δ表示误差,误差=模型预测值-真实值3. 前一层的误差4. 再前一层的误差第一层是输入变量,不存在误差5. 假设λ=0,如果不做正则化处理时对上面的式子中各个上下标的含义进行解释:l代表的是第几层j代表的是计算层中的激活单元的下标i代表的是误差单元的下标算法利用正向传播方法计算每层的激活单元利用训练集的真实结果与神经网络的预测结果求出最后一层的误差最后利用该误差运用反向传播法计算出直至第二层的所有误差。便可以计算代价函数的偏导数反向传播的直观理解前向传播原理2个输入单元;2个隐藏层(不包含偏置单元);1个输出单元上标ii表示的是第几层,下标表示的是第几个特征或者说属性图中有个小问题,看截图的右下角!!!根据上面的反向传播法得到的结论:反向传播原理参数展开上面的式子中实现了怎么利用反向传播法计算代价函数的导数,在这里介绍怎么将参数从矩阵形式展开成向量形式梯度检验如何求解在某点的导数在代价函数中怎么对某个参数θ求导神经网络小结首要工作在构建神经网络的时候,首先考虑的是如何选择网络结构:多少层和每层多少个神经单元第一层的单元数即我们训练集的特征数量。最后一层的单元数是我们训练集的结果的类的数量。如果隐藏层数大于1,确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数越多越好。训练神经网络步骤参数的随机初始化利用正向传播方法计算所有的hθ(x)编写计算代价函数 JJ的代码利用反向传播方法计算所有偏导数利用数值检验方法检验这些偏导数使用优化算法来最小化代价函数至此,第五周的课程笔记完毕!本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!——转自知乎/红色石头
  • [技术干货] SQLite数据库常用语句,MAC上的SQLite可视化工具MeasSQLlite的使用
    一、引言    移动开发的,通常会使用一些小型的数据库进行数据管理,Sqllite 是一款十分小巧的便捷的数据库,在ios中 的开发原生框架也有支持数据库存在的意义就在于其对数据的整合和管理,所以数据库的核心操作无非是对数据进行增,删,改,查得操作。1.建立数据表语句  一个数据库文件中可以由一些表组成,通过下面的语句在数据库文件中创建一张表:create table class(num integer PRIMARY KEY,name text NOT NULL DEFAULT "1班",count integer CHECK(count>10))上面的语句代码可以简化成如下的格式:create table 表名(参数名1 类型 修饰条件,参数名2,类型 修饰参数,···)sqlite中支持如下的类型: smallint 短整型 integer 整型 real 实数型 float 单精度浮点 double 双精度浮点 currency 长整型 varchar 字符型 text 字符串 binary 二进制数据 blob 二进制大对象 boolean 布尔类型 date 日期类型 time 时间类型 timestamp 时间戳类型 关于修饰条件,常用的有如下几种: PRIMARY KEY:将本参数这个为主键,主键的值必须唯一,可以作为数据的索引,例如编号。 NOT NULL :标记本参数为非空属性。 UNIQUE:标记本参数的键值唯一,类似主键。 DEFAULT:设置本参数的默认值 CHECK:参数检查条件,例如上面代码,写入数据是count必须大于时才有效。2.添加数据使用下面的语句来进行数据行的添加操作:insert into class(num,name,count) values(2,"三年2班",58)简化成如下格式:insert into 表名(键1,键2,···) values(值1,值2,···)使用下面的语句进行数据列的添加,即添加一个新的键:alter table class add new text alter table 表名 add 键名 键类型3.修改数据使用如下语句来进行改操作: update class set num=3,name="新的班级" where num=1 update 表名 set 键1=值1,键2=值2 where 条件4.删除数据 delete from class where num=1 delete from 表名 where 条件上面代码删除num为1的一条数据。删除一张表适用下面的语句:drop table class drop table 表名5.查询操作查询操作是数据库的核心功能,sqlite的许多查询命令可以快捷的完成复杂的查询功能。查询表中某些键值: select num from class select 键名,键名··· from 表名查询全部键值数据: select * from class select * from 表名*是一个全通配符,代表不限个数任意字符查询排序: select * from class order by count asc select 键名,键名,··· from 表名 order by 键名 排序方式order by 后面写要进行排序的键名,排序方式有 asc升序 desc降序查找数据条数与查找位置限制: select * from class limit 2 offset 0 select 键名 from 表名 limit 最大条数 offset 查询起始位置条件查询: select * from class where num>2 select 键名 from 表名 where 条件查询数据条数: select count(*) from class select count(键名) from 表名去重查询: select distinct num from class select distinct 键名 from 表名三、MesaSQLite的简单使用方法        MesaSQLite是一款可视化的SQLite数据库编辑软件,使用十分方便1.创建数据库文件打开MesaSQLite软件,在导航栏中选择File,选择弹出菜单中的New DataBase创建一个新的数据库文件,也可以选择Open Database打开一个数据库。注意:默认创建的数据库文件为rdb格式,手动改成db格式即可。2.创建表MesaSQLite有两种方式对数据库进行操作,一种是通过sql语句,一种是通过可视化的界面。在SQL Query工具窗口中,可以通过SQL语句对数据库进行操作,如下图:3.查询操作对于数据的查询操作,同样可以通过SQL Query工具通过语句进行查询或者在Content窗口中填写查询条件进行查询,如下: