简单了解几种常见的网络通信协议

网络通信协议 网络通信协议 今天学习了网络通信协议,总结出来的知识点,不足之处请大家多多指教! 网络通信协议:负责在网络上建立通信通道和控制通过通道的信息流的规则 为了进行网络通信,通信双方必须遵守通信协议 网络通信协议的组成: 语法(syntax):包括数据格式、数据编码以及信号等。 语义(semantics):包括用于协调和差错处理的控制信息。 定时(Tim 阅读详情
AI摘要

本文详细介绍了网络协议中的TCP/IP协议、UDP协议和HTTP协议。TCP/IP协议是互联网通信的基础,由应用层、运输层、网络层和网络接口层组成,保证数据的及时、完整传输。UDP协议是一种无连接的协议,提供快速传输,适合实时数据传输。HTTP协议用于超文本传输,基于客户/服务器模式,以请求-响应的方式工作,广泛应用于网页浏览。此外,还分别阐述了这三种协议的特点和报文格式。

  常见的网络协议有:TCP/IP协议、UDP协议、HTTP协议、FTP协议、Telnet协议、SMTP协议、NFS协议等。这里主要简述一下前三种协议。

一.TCP/IP协议

1.什么是TCP/IP协议?

  TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。

2.TCP/IP协议的组成

TCP/IP协议由四个层次组成:

应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。

(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。 

(2)应用层还能加密、解密、格式化数据。

(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。 

运输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。 

网络层:网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。 

网络接口层:在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和      数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。

3.TCP/IP协议的特点

(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。

(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。

(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。

(4)高层协议标准化,可以提供多种多样可靠网络服务。

二.UDP协议

1.什么是UDP协议?

  Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768描述了 UDP。

  Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。

2.UDP协议的报文格式

  在UDP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据包。IP数据包的数据部分即为UDP数据包。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段(segment)有8个字节的报头和有效载荷字段构成。

  UDP报头由4个域组成,其中每个域各占用2个字节,具体包括源端口号、目标端口号、数据包长度、校验值。

3. UDP协议的特点

(1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

(2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包而言UDP的额外开销很小。

(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

(5)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

三.HTTP协议

1.什么是HTTP协议?

  超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。

2.HTTP的工作原理

HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程: 

(1)客户与服务器建立连接;

(2)客户向服务器提出请求;

(3)服务器接受请求,并根据请求返回相应的文件作为应答;

(4)客户与服务器关闭连接。

3.HTTP协议的运作方式

  在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

4. HTTP协议的报文格式

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下: 

请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

  请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

应答报文格式如下:

状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

  状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

5.HTTP的状态消息

HTTP状态码大致分为5类:

1xx : 消息,这一类型的状态码,代表请求已被接受,需要继续处理。但是一般服务器禁止向客户端发送此类状态码;

2xx : 成功,这一类型的状态码,代表请求已成功被服务器接收、理解、并接受;

3xx : 重定向,这类状态码代表需要客户端采取进一步的操作才能完成请求;

4xx : 请求错误,这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理;

5xx : 服务器错误,这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。

6.HTTP协议的特点

1、无状态协议,HTTP协议对于事务处理没有记忆能力

2、无连接,限制每次连接只处理一个请求

3、HTTP协议支持客户和服务器模式

4、HTTP协议非常的灵活,允许传输任意类型的数据对象

5、HTTP协议非常的简单快速,客户向服务器请求服务的时候,只要传送请求方法和路径

常见的通信协议——UART、SPI、IIC、CAN......(更新中) 仲裁段的内容主要为本数据帧的 ID 信息 (标识符),数据帧具有标准格式和扩展格式两种,区别就在于 ID 信息的长度,标准格式的 ID 为 11 位,扩展格式的 ID 为 29 位,它在标准 ID 的基础上多出 18 位。需要说明的是,对于异步通信来说,要进行时钟同步,只能依据电平的变化。假如有多个 CAN 通讯节点,在同一时间,一些输出隐性电平,另一些输出显性电平,那么那么根据“线与逻辑”的规定,此时CAN 总线为显性电平 (逻辑 0),显性电平的名字就是这样来的,即可以认为显性具有优先的意味。 阅读详情

相关推荐

通信协议知识—CAN、Modbus、SPI、IIC等

通信协议基础知识、UART、RS485、IIC、SPI、CAN、modbus等通信协议介绍学习

2201_75466937的博客 5779

常见的通讯协议总结(USART、IIC、SPI、485、CAN)

计算机通信是指将计算机技术和通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息交换。按照数据传输方式的不同,可以分为串行通信和并行通信两类。

分享一些自己的学习心得体会和总结! 7万+

一分钟了解TCP/IP网络通信协议

TCP/IP协议 丰富多彩的互联网世界实际上就是一些数据在网络、计算机或者应用程序之间按照一定的规则传来传去,这些规则就是互联网的通信协议,在互联网发展之初,只有TCP(传输控制协议)和IP(网际协议)这两种协议,但是随着互联网的发展,数据的类型也越来特多,从最初的文本到图片视频等各种各样的数据类型,于是在TCP和IP这两个协议的基础上开始不断的拓展丰富新的协议,形成了一个通信协议大集合,也就是我们常说的协议族,统称为TCP/IP,随后便出现了我们经常听说的OSI七层模型。 OSI模型简单来说就是所

qq_34139393的博客 3581

【网络】十大网络协议

http、https、http/3、tcp、udp、ftp、smtp、websocket、ip、ssh

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 7270

《网络安全自学教程》- TCP协议详解

TCP三次握手四次挥手,TCP连接状态,wireshark抓包分析TCP报文格式,TCP可靠传输机制,粘包,拆包,半包,滑动窗口,重传机制,UDP协议检错原理

wangyuxiang946的博客 1万+

设计自己的网络通信协议

设计网络通信协议是为了建立一个标准化、可靠、安全的通信基础,使不同设备、系统和应用能够高效地协作和互通。通信协议是现代网络运行的核心,没有协议,全球互联网和数字通信将无法实现。#include // 用于字节序转换// 定义协议结构体// 消息头// 数据类型// 数据长度// CRC 校验值// 数据主体(可变长度)} Packet;结构体封装了协议的核心字段。序列化与反序列化函数保证了数据可以在网络上传输和接收。CRC 校验函数增强了数据的完整性校验。

m0_49476241的博客 2213

学习资料之常见的通信协议,只需要这一篇就足够啦

1、I2C 概述:I2C是一种两线式串行总线,用于连接微控制器和外围设备 组成:I2C总线是由数据线SDA和时钟SCL构成的串行总线,可以接受和发送数据 信号类型:I2C总线在传输数据一共有三种类型的信号分别为开始信号、结束信号、应答信号 特点: 最主要的优点是简单性和有效性,其接口直接在组件之上,所以I2C的所占空间很小; 另外一个优点是支持多主控,其中任何一个可以接收或者发送的设备都可以成为主控线; 接口线少、控制方式简单、器件封装形式小、通信速率较高等优点 非常适合在器件之间进行近距离

qq_52673687的博客 5459

[pcie]gen6 下 L0p

000b~100b: 触发L0p 操作流程协商工作link width 到target link width.为111b:link width 硬件动态调整。硬件动态:Device control 3 register.target link width=111b当pcie链路检测到空闲状态时,设备可以主动进入L0p状态。L0p 是pcie gen6 新引入的链路状态,是L0的子状态。(5)LINK WIDTH:当LINK WIDTH CHANGE.cmd为Request时表示请求的链路宽度。

BIG_APPLE1的博客 1676

常见的网络通信协议

网络通信协议是计算机网络中用于规定通信数据格式、传输方式、传输速率、错误检测和纠错等方面的一套标准化的规范。为连接不同。

backtwo的博客 3599

PINN内嵌物理知识神经网络入门及文献总结

内嵌物理知识深度学习方法(PINN)已经成功用于解决各类科学计算问题,其本质是将物理先验知识嵌入神经网络训练中,将一个求解PDE的问题转化为一个优化问题。这篇博客主要记录PINN相关论文

山里娃的博客 7万+

大模型学习笔记四:LangChain开发框架解析

1、模型I/O封装LLMs:大语言模型Chat Models:一般基于LLMs,但按对话结构重新封装PromptTemple:提示词模板OutputParser:解析输出2、数据连接封装Document Loaders:各种格式文件的加载器Document transformers:对文档的常用操作,如:split,filter,translate,extract metadata,etcTextr Embedding Models:文本向量化表示,用于检索等操作。

谢白羽 4284

几种常见的网络协议

常见的网络协议有:TCP/IP协议、UDP协议、HTTP协议、FTP协议、Telnet协议、SMTP协议、NFS协议等。 TCP/IP 协议 传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4...

huangpb的博客 3万+

避坑指南:RK3588上编译EtherCAT 1.6时遇到的权限问题和模块安装错误

本文详细解析了在RK3588平台上编译EtherCAT 1.6时常见的权限问题和模块安装错误,提供了两种实战解决方案和嵌入式开发的通用权限管理策略。通过优化内核配置和编译参数,显著提升实时性能,帮助开发者高效完成EtherCAT主站部署。

weixin_33724046的博客 453

网络通信,UDP.TCP协议

网络通信,UDP.TCP协议 网络通信 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 网络通信三要素 IP地址:InetAddress 网络中设备的标识,不易记忆,可用主机名 端口号 用于标识进程的逻辑地址,不同进程的标识

shaonianayang的博客 3564

利用baostock获取上市公司财务指标

利用baostock获取上市公司的财务指标 1、导入模块,登录baostock import baostock as bs import pandas as pd import time # 登陆系统 lg = bs.login() # 显示登陆返回信息 print('login respond error_code:'+lg.error_code) print('login respond error_msg:'+lg.error_msg) 2、查询股票代码、行业板块 # 查询股票代码 rs=.

firefox_yau的博客 2098

【Python计量】linearmodels面板数据回归(一)

我们以伍德里奇《计量经济学导论现代方法》的”第14章高级面板数据方法“的案例14.1为例,使用jtrain中的数据来进行固定效应估计。

mfsdmlove的博客 9277

常见网络通信协议(http、https、ws)及安全协议(SSL、TLS、XTLS)

常见(合法?)的网络协议。

风高秋月白,雨霁晚霞红 2万+

Unreal Engine开发:角色动画与状态机_动画混合:通过混合节点实现平滑动画过渡

动画混合是提升游戏动画质量的关键技术之一。Unreal Engine提供了多种混合节点,包括BlendSpace1D、Blend Two By Bool、Blend Two By Alpha和Sequencer,每种节点适用于不同的场景。通过合理使用这些节点,可以实现平滑、自然且高效的动画过渡效果。此外,遵循最佳实践和高级应用技巧,可以进一步优化动画质量和性能。希望本节内容对你在Unreal Engine中实现动画混合有所帮助,使你的游戏角色动作更加流畅和自然。

chenlz2007的博客 1245

常见网络通信协议

常见网络通信协议 应用层 TCP 常见使用TCP协议的应用层服务 HTTP: 超文本传输协议(版本1) SMTP: 简单邮件传输协议 XMPP: 可扩展和通讯表示协议 HTTP2: 超文本传输协议(版本2) FTP: 文件传输协议 POP3: 邮局协议(第三版) NNTP: 网络新闻传输协议 Finger: 用户信息协议 TELNET: TCP/IP远程终端协议 IMAP4: 因特网信息访问协议(第四版) Unix网络服务 LPR: Unix远程打印协议 Rwho: Unix远程Who协议 Rsync

Sc.Crits 4627

YOLOv8 改进涨点 | 模块即插即用 直接可用

在目标检测任务中,注意力机制能够帮助模型聚焦于图像中的关键区域,显著提升检测精度。。创建模块代码注册模块修改任务解析tasks.py创建YAML配置文件模块核心优势适用场景计算开销SOCA捕获二阶统计信息,增强通道间相关性需要精细特征区分的场景中等SK自适应多尺度核选择多尺度目标检测中等偏高显式特征聚集-分配机制全局上下文建模中等A2-Net双线性注意力,高效全局交互复杂场景理解中等偏高CrissCross线性复杂度全局上下文高分辨率输入,长距离依赖较低。

u012133341的博客 2257

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

网络通信--协议设计

网络通信--协议设计1 介绍2 编码3 TLV编码3.1 TLV介绍3.2 TLV优缺点3.3 定长不定长4 CRC校验参考 1 介绍 通信协议:两个节点间信息交换的规则语法。 类比的话,国人间语言交流,普通话就是通信协议。 常见的有tcp,udo,http,sip等常见协议。 2 编码 3 TLV编码 3.1 TLV介绍 TLV: TLV是指由数据的类型Tag,数据的长度Lengt...

天道酬勤 7070

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【计算机网络】常见的网络通信协议

常用网络通信协议在互联网通信中扮演着至关重要的角色,它们定义了电子设备如何连入互联网,以及数据如何在这些设备之间传输。

大雨淅淅的博客 5486

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

常见网络通信协议简单总结

传输层协议网络层协议应用层协议OSI七层模型TCP/IP四层模型数据封装 数据在传输过程中会经过多层封装:错误控制流量控制加密协议认证协议

m0_62171526的博客 632

IOT中几种常见的网络通信技术总结

物联网常见的网络配置以及协议的组合,自用,不定时更新

2203_75650990的博客 1685

网络通信协议详解

1,网络通信协议:是指两个(或多个)终端之间信息交换和资源共享所遵守的规则(多个客户端,手机,电脑,ipad,之间的通信需要大家都懂的语言,就相当于人与人之间的交流有中文,英文); 举例说明: 例如一个手机和一个电脑进行通信,由于这两个数据终端所用字符集不同,因此所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网...

每一个不曾起舞的日子,都是对生命的辜负 4205

深入理解网络通信协议(互联网协议)

深入理解网络通信协议(互联网协议)

m0_73912575的博客 1767
上一篇: 浅析HTTP协议
下一篇: 简单了解数据库连接池
cdfdddcs
博客等级 码龄5年 34粉丝 13原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值