网络多层的协议详述
网络层
1)地址管理:制定一系列的规则,通过地址,在网络上描述出一个设备的位置
2)路由选择:网络环境比较复杂,从一个节点到另一个节点,存在很多条不同的路径,需要规划出更适合的路径进行网络传输
TCP/IP协议栈
4位版本
4 => ipv4 6 => ipv6 目前大规模使用的两个版本
4位首部长度
IP协议的报头,也是变长的 0—0xf => *4 => 0-60字节
选项(如果有)
8位服务类型
能够让IP协议,切换形态
3位为优先权字段(已弃用),4位TOS字段,1位保留字段(必须设置为0)
TOS字段的四个位,彼此之间是相互冲突的,只有一位为1
不同的位设为1,表示IP协议不同的形态
最小延时,最大吞吐量,最高可靠性,最小成本
16位总长度(字节)
描述了IP数据包最长的长度
IP协议也存在64kb的限制,但是IP协议自身支持“拆包组包”功能——
16位标识——将一个大的数据包拆成若干个小包,16位标识就是相同的值
3位标志——一位表示是否允许拆包,一位表示是否是最后一个包
13位片偏移——描述当前每个小的数据包(分片)的相对位置
8位生存时间
描述了一个IP数据包,在网络上还能存活多久
TTL的单位是次数
数据包被构造出来,TTL会被设置成一个初始值,数据包在转发过程中,每次经过一个路由器,TTL就会减1
如果数据包把TTL耗尽,还没顺利到达对方,就被丢弃了
8位协议
描述的是IP数据包的载荷部分,是一个UDP数据包,还是TCP数据包(传输层是那个协议)
16位首部校验和
这个校验和,只是校验IP首部,不管IP的载荷(UDP/TCP这样数据,自身都是有校验和的)
32位源IP地址 —— 32位目的IP地址
IP地址,本质上是一个32位的整数,一般写作 点分十进制
地址管理
IP地址,是一个32位整数 2*32 => 42亿9千万
地址理论上是不能重复的,互联网发展至今,能上网的设备早已超过IP地址的范围
此时如何解决IP地址不够用的问题:
1)动态分配IP
提高了IP地址的利用率,但是没有增加IP地址的数量(广泛使用的过渡方案)
2)NAT机制(网络地址转换)
本质上是让一个IP地址,代表一批设备
把IP地址分成两大类:
1. 内网IP(局域网IP)
在同一个局域网内部,内网IP之间不能重复
在不同局域网中,内网IP可以重复
2. 外网IP(广域网IP)
外网IP始终不允许重复,务必唯一
例如现在要传输一个数据:
此时IP地址是相同,但是每台主机的端口号是不同的
如果此时恰好两台主机分配端口号相同——>
请求到达路由器后,路由器会发现这两个数据包的目的IP地址和目的端口都一样(访问同一个服务器),源端口也一样
路由器会把源端口也一起替换掉(路由器内部会记录映射关系)
当前的网络环境就是以 NAT + 动态分配 的方式解决IP地址不够用的问题
NAT机制是“纯软件”的方案,因此局域网内部的设备能够主动访问外网的设备,外网的设备不能主动访问局域网的设备
3)IPv6
IPv6 使用16个字节表示IP地址 0—2*128
地球上所有的设备都可以有一个自己的 IPv6地址
IPv6 和 IPv4 是不兼容的
网段划分
同一个局域网中的设备,网络号必须相同,主机号必须不同
不同的局域网,网络号不能相同
子网掩码
一个IP地址,哪部分是网络号,哪部分是主机号,是不一定的
子网掩码,就是用来确定网络号的
32位整数(左边全是1,右边全是0)
子网掩码格式和 IP 地址一样,也是一个 32 位的二进制数。其中左边是网络位,用二进制数字 “1” 表示,1 的数目等于网络位的长度;右边是主机位,用二进制数字 “0” 表示, 0 的数目等于主机位的长度子网掩码也可以使用二进制所有高位1相加的数值来表示
将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络号。将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号
十进制 | 二进制 | |
IP地址 | 180.210.242.131 | 10110100.11010010.11110010.10000011 |
子网掩码 | 255.255.248.0 | 11111111.11111111.11111000.00000000 |
网络号 | 180.210.240.0 | 10110100.11010010.11110000.00000000 |
主机号 | 0.0.2.131 | 00000000.00000000.00000010.10000011 |
早期的网络分段形式:A类 B类 C类 D类 E类
0 | 网络号(7位) | 主机号(24位) |
1 | 0 | 网络号(14位) | 主机号(16位) |
1 | 1 | 0 | 网络号(21位) | 主机号(8位) |
1 | 1 | 1 | 0 | 多播组号(28位) |
1 | 1 | 1 | 1 | 0 | 留后待用(27位) |
1)将 IP 地址中的主机地址全部设为 0 ,就成为了网络号,代表这个局域网2)将 IP 地址中的主机地址全部设为 1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包3)127.* 的 IP 地址用于本机环回( loop back )测试,通常是 127.0.0.1本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信操作系统提供了一套“虚拟网卡”,关联到这个IP上4).255UDP能天然支持 广播,和这个IP有关使用UDP socket给这个IP发送UDP数据报,此时局域网中的所有设备,都能收到这个数据TCP无法与这个IP建立连接
路由选择
描述了IP协议(IP数据报)转发的过程
IP数据进行转发的时候,无法知道网络的全貌,只知道一些局部信息(一个路由器知道哪些设备和它是相连的),这就意味着IP数据报,在转发的过程中是一个“探索式”/“启发式”的过程
一个网络层数据报,每次到达一个路由器,都会进行“问路”过程
每个路由器内部都有一个数据结构“路由表”,根据数据报中的 目的IP,查路由表
如果查到了,就直接按照路由表中给定的方向(从哪个网口进行转发),继续转发
如果没查到,路由表里有一个“默认的表项”“下一个地址”,按照默认的表项转发
路由表——>
1. 手动配置
2. 自动获取
以太网协议
" 以太网 " 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等通过网线/光纤,来通信,使用的协议是以太网协议
以太网横跨数据链路层和物理层
以太网数据帧:帧头 + 载荷(IP数据报)+ 帧尾
目的地址/源地址
6个字节
不是IP地址,是网络中的另一套地址体系,Mac地址(物理地址)
目前来说,每个设备都是有唯一的Mac地址
Mac地址通常是十六进制表示的,两个十六进制数字就是一个字节
字节和字节之间通常使用 - 或者 : 来分割
IP协议立足于全局,完成整个通信过程中的路径规划工作
以太网则是关注于局部,相邻两个局部之间的通信过程
网络层 与 数据链路层 的路径侧重:
网络层无论有多少条路线,源IP和目的IP始终是整个通信过程中的最初起点和最后终点(不考虑NAT)
数据链路层关注的是“相邻节点”之间的如何转发
源mac和目的mac会根据当前转发的过程,每次到达一个节点,往下一个节点转发的时候,源mac和目的mac都会随之改变
IP数据报的最大长度不超过1500字节
MTU:数据链路层数据报能携带的最大载荷长度
不同数据链路层的协议,MTU不同(和物理层的介质也有关系)
IP数据报的分包组包,大概路是因为MTU,而不是触发64kb上限
这两种协议不是传输“业务数据”,而是辅助转发的协议
像交换机这样的设备,收到以太网数据报时,就需要要进行转发
转发的过程中就需要能根据Mac地址,判定数据要走那个网口
此处的网口是“物理意义”上插网线的接口(IP协议,路由器,走哪个网络接口,都是抽象的概念,最后还是要在数据链路层才能决定走哪个网口)
具体的转发过程:
交换机内部有一个数据结构“转发表”,和前面的路由器表有点像
转发表示一个简单的像hash的映射(此处不一定由软件实现)
转发表中的内容主要由 arp 协议实现
DNS
DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统
使用IP地址,描述设备在网络上的位置(应用层协议)
最早的域名解析系统,是通过一个简单文件实现——> hosts文件
现在搭建了一套DNS系统(一组服务器)
如果要访问服务器,先给这个DNS服务器发起请求,查询一下当前的域名对应的IP,再访问目标网站
一个服务器硬件资源是有限的(CPU,内存,硬盘,网络带宽...)
服务器处理每个请求,都会消耗一定的资源
如果单位时间内访问次数超过服务器的上限,机器就挂了——>
1)开源
搭建“镜像服务器”,同步与主根的数据,用户会先访问距离自己最近的镜像服务器
2)节流
让请求量变少,让每个上网的设备,设置网络缓存
对于短时间的多次访问,只让第一次请求DNS即可,把到的结果保存到本地,后面的请求都是用第一次的结果即可
相关文章:
网络多层的协议详述
网络层 1)地址管理:制定一系列的规则,通过地址,在网络上描述出一个设备的位置 2)路由选择:网络环境比较复杂,从一个节点到另一个节点,存在很多条不同的路径,需要规划出…...
【C#】方法参数的修饰符ref 与 out
在 C# 中,ref 和 out 是方法参数的修饰符,用于将参数 按引用传递,而不是按值传递。这允许方法修改调用者传递的变量的值。尽管它们的行为类似,但有重要的区别和适用场景。 1. ref 的含义与使用 含义 引用传递: 参数通…...
hpe服务器更新阵列卡firmware
背景 操作系统:RHEL7.8 hpe服务器经常出现硬盘断开,阵列卡重启问题,导致系统hang住。只能手动硬重启。 I/O error,dev sda smartpqi 0000:5c:00:0: resettiong scsi 1:1:0:1 smartpqi 0000:5c:00:0: reset of scsi 1:1:0:1:…...
arcgisPro相接多个面要素转出为完整独立线要素
1、使用【面转线】工具,并取消勾选“识别和存储面邻域信息”,如下: 2、得到的线要素,如下:...
【机器学习】【集成学习——决策树、随机森林】从零起步:掌握决策树、随机森林与GBDT的机器学习之旅
这里写目录标题 一、引言机器学习中集成学习的重要性 二、决策树 (Decision Tree)2.1 基本概念2.2 组成元素2.3 工作原理分裂准则 2.4 决策树的构建过程2.5 决策树的优缺点(1)决策树的优点(2)决策树的缺点(3࿰…...
YOLOv8目标检测——详细记录使用ONNX Runtime进行推理部署C++/Python实现
概述 在之前博客中有介绍YOLOv8从环境安装到训练的完整过程,本节主要介绍ONNX Runtime的原理以及使用其进行推理加速,使用Python、C两种编程语言来实现。 https://blog.csdn.net/MariLN/article/details/143924548?spm1001.2014.3001.5501 1. ONNX Ru…...
联合物种分布模型(JSDM)与Hmsc包:群落生态学数据分析与预测技术
联合物种分布模型(Joint Species Distribution Modelling,JSDM)在生态学领域,特别是群落生态学中发展最为迅速,它在分析和解读群落生态数据的革命性和独特视角使其受到广大国内外学者的关注。在学界不同研究团队研发出…...
蓝桥杯——竞赛省赛国赛题分享
目录 一.[蓝桥杯 2013 省 AB] 错误票据 代码如下: 二.[蓝桥杯 2024 省 Java B] 报数游戏 代码如下: 讲解: 三.[蓝桥杯 2014 国 C] 拼接平方数 代码如下: 四.三步问题(递归,上台阶) 代码…...
【ubuntu18.04】ubuntu18.04挂在硬盘出现 Wrong diagnostic page; asked for 1 got 8解决方案
错误日志 [ 8754.700227] usb 2-3: new full-speed USB device number 3 using xhci_hcd [ 8754.867389] usb 2-3: New USB device found, idVendor0e0f, idProduct0002, bcdDevice 1.00 [ 8754.867421] usb 2-3: New USB device strings: Mfr1, Product2, SerialNumber0 [ 87…...
Hive其一,简介、体系结构和内嵌模式、本地模式的安装
目录 一、Hive简介 二、体系结构 三、安装 1、内嵌模式 2、测试内嵌模式 3、本地模式--最常使用的模式 一、Hive简介 Hive 是一个框架,可以通过编写sql的方式,自动的编译为MR任务的一个工具。 在这个世界上,会写SQL的人远远大于会写ja…...
如何在 Ubuntu 上安装 NodeBB 并使用 Nginx 反向代理
简介 NodeBB 是一款基于 Node.js 的开源论坛软件,为在线社区提供了现代化和响应式的解决方案。在 Ubuntu Linux 上运行的 NodeBB 利用了操作系统的强大性和灵活性,以提供高性能和可扩展性。它结合了 MongoDB 或 Redis 进行数据库管理,使其能…...
Linux脚本语言学习--下
4.Bash的变量 4.1.用户自定义变量 4.1.1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息的时候,如一个文件名或是一个数字,就把他存放在一个变量中。每个变量有一个名字,所以很容易引用…...
基于Spring Boot的医院质控上报系统
一、系统背景与意义 医院质控上报系统旨在通过信息化手段,实现医院质量控制的标准化、流程化和自动化管理。该系统能够帮助医院实时监控医疗质量数据,及时发现和处理潜在的质量问题,从而确保医疗服务的安全性和有效性。同时,系统…...
React 第十七节 useMemo用法详解
概述 useMemo 是React 中的一个HOOK,用于根据依赖在每次渲染时候缓存计算结果; 大白话就是,只有依赖项发生变化时候,才会重新渲染为新计算的值,否则就还是取原来的值,有点类似 vue 中的 computed 计算属性…...
大模型呼入机器人系统如何建设?
大模型呼入机器人系统如何建设? 作者:开源呼叫中心系统 FreeIPCC, Github地址:https://github.com/lihaiya/freeipcc 大模型呼叫中心呼入机器人系统的建设是一个涉及多个环节和领域的综合性工程。以下是一个详细的步骤指南,涵盖了…...
【Java 学习】详细讲解---包和导包、Scanner类、输入源
1. 包 1.1 什么是包? 举个例子,你和你的同学有不同的家庭,你们都有自己的爸爸妈妈,都有自己的家。在自己的家中你们可以按照自己爱好摆放东西,都互不干扰。但是,假如你们的家都在一起,你们就不…...
java开发入门学习四-运算符
运算符 运算符: 运算法是一种特殊的符号,标识数据的运算,赋值等 根据分类 算数运算符 和前端运算法的方式是一致的,这里简单的描述% -- %: 取余 :增加 --: 减少 class Computed {public static voi…...
2009 ~ 2019 年 408【操作系统】大题解析
2009 年 讲解视频推荐:【BOK408真题讲解-2009年(催更就退网版)】 1. 同步与互斥(7’) 三个进程 P1, P2, P3 互斥使用一个包含 N(N > 0)个单元的缓冲区。P1 每次用 produce() 生成一个正整数…...
RestTemplate实时接收Chunked编码传输的HTTP Response
学习调用AI接口的时候,流式响应都是使用的 Transfer-Encoding: chunked,图方便想用RestTemplate,但是平时用到的都是直接返回响应对象的类型。使用bing搜索到一种方式,使用下面的代码来读取,于是掉这个坑里了ÿ…...
Java设计模式 —— 【结构型模式】适配器模式(类的适配器、对象适配器、接口适配器)详解
文章目录 基本介绍一、类的适配器二、对象适配器三、接口适配器总结 基本介绍 生活中有很多例子: 不同国家的插座接口不同,需要转换器;家用电源220V,手机只接受5V充电,需要转换器;读卡器,拓展…...
RabbitMQ 消息持久化/镜像队列/lazy对时延影响
测试背景: 不同条件下RabbitMQ不同队列类型的生产时延测试: 测试环境: 机型:rabbimtq.2u4g.cluster 背景流量:1000 TPS 测试条件: 消息大小 4k,消息条数为1000条,时延取值为平均…...
SQL在线格式化 - 加菲工具
SQL在线格式化 打开网站 加菲工具 选择“SQL 在线格式化” 或者直接访问 https://www.orcc.online/tools/sql 输入sql,点击上方的格式化按钮即可 输入框得到格式化后的sql结果...
【vue】在页面右下角添加悬浮按钮组件
效果图: 如上图所示,需要在页面的左下角添加一个悬浮按钮,鼠标放上去时候展示更多详细按钮,点击触发相应方法。 <div class"floating-component"><!-- 悬浮内容 --><el-tooltip placement"left&qu…...
MyBatis-Plus中isNull与SQL语法详解:处理空值的正确姿势
目录 前言1. 探讨2. 基本知识3. 总结 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全&#x…...
C语言(指针练习2)
编写函数,要求用指针做形参,分别实现以下功能: (1)求一个字符串长度 (2)在一个字符 串中统计大写字母的个数 (3)在一个字符串中统计数字字符的个数 #include <stdio.h>int str…...
ES6学习Symbol(五)
这里写目录标题 一、概述二、代码 一、概述 ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。 它是 JavaScript 语言的第七种数据类型,前六种是: undefined 、 null 、布尔值(Boolean)、字符串(St…...
简易分页制作
简易分页功能实现 分页是一种常见的前端功能,特别是在需要展示大量数据时。它通过将数据分割成多个页面,帮助用户更容易浏览并提高页面加载性能。本文将介绍一个简易分页的实现思路及其代码实现,旨在帮助开发者快速理解并实现分页功能。 功…...
概率论得学习和整理27:关于离散的数组 随机变量数组的均值,方差的求法3种公式,思考和细节。
目录 1 例子1:最典型的,最简单的数组的均值,方差的求法 2 例子1的问题:例子1只是1个特例,而不是普遍情况。 2.1 例子1各种默认假设,导致了求均值和方差的特殊性,特别简单。 2.2 我觉得 加权…...
arXiv-2024 | NavAgent:基于多尺度城市街道视图融合的无人机视觉语言导航
作者:Youzhi Liu, Fanglong Yao*, Yuanchang Yue, Guangluan Xu, Xian Sun, Kun Fu 单位:中国科学院大学电子电气与通信工程学院,中国科学院空天信息创新研究院网络信息系统技术重点实验室 原文链接:NavAgent: Multi-scale Urba…...
WPF 布局控件
wpf 布局控件有很多,常用的有:Grid, UniformGrid, Border, StackPanel, WrapPanel, DockPanel。 1. Grid Grid 经常作为控件的 Content 使用,常作为 Windows, UserControl 等 UI 元素的根节点。它用来展示一个 n 行 n 列的排版。 因此就有…...
在Mac电脑上安装adb环境
当你在命令行输入 adb version 或adb devices, 报错:zsh: command not found: adb ,那么说明你的 Mac 上没有安装 ADB(Android Debug Bridge),或者它没有添加到你的路径中。你可以按照以下步骤安装和配置 ADBÿ…...
方正畅享全媒体新闻采编系统 reportCenter.do SQL注入漏洞复现
0x01 产品简介 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、发…...
Linux SHELL脚本中的常用命令
一.设置主机名称 1.文件的方式 [rootlocalhost 桌面]# vim /etc/hostname [rootlocalhost 桌面]# cat /etc/hostname shell.aaa.org 修改完毕文件后在当前的shell中是不生效的 如果需要看到效果,关闭当前shell后重新开启新的shell 2.通过命令更改主机名 [rootl…...
Go语言启动独立进程
文章目录 问题解决方案1. **将 npc.exe 启动为独立的进程**2. **修改 exec.Command 函数**示例代码解释为什么这样有效注意 问题 在你当前的代码中,调用 exec.Command("XXX.exe") 启动 XXX.exe 程序时,这个程序是由 Go 程序直接启动的。如果 …...
STM32中ADC模数转换器
一、ADC简介 ADC模拟-数字转换器 ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转换时间 输入电压范围: 0~3.3V,转换结果范围:0~4095 18个输入…...
为什么要用单例模式?
单例模式是一种创建型设计模式,用于确保某个类只有一个实例,并提供一个全局访问点,使得其他类可以轻松访问该实例。 使用单例模式的主要原因包括以下几点: 确保唯一性:在某些情况下,我们需要确…...
线性表查找:Python 实现与性能分析
引言 在数据处理领域,查找操作是一项基础且关键的任务。线性表作为一种常见的数据结构,其查找算法的效率直接影响程序的性能。本文将深入探讨线性表查找的原理、Python 实现以及性能分析,为你揭示如何在 Python 中高效地进行线性表查找。 一…...
QT3学习之进阶理解信号和槽:如何自定义一个类信号,供其它类调用槽函数
下面是QWidget源码,定义了两个事件 /*!This event handler can be reimplemented in a subclass to receivewidget enter events.An event is sent to the widget when the mouse cursor enters thewidget.\sa leaveEvent(), mouseMoveEvent(), event() */void QWi…...
(Image Signal Processor)ISP简介
文章目录 ISP功能简介ISP的主要功能ISP的主要模块1. **黑电平校正(Black Level Correction, BLC)**2. **噪声去除(Denoise)**3. **色彩校正(Color Correction Matrix, CCM)**4. **自动曝光(Auto…...
upload-labs靶场保姆级攻略
第一关:删除前端js校验 写一个一句话木马,命名为1.php 一句话木马 浏览上传 我们发现不可以上传,右键检查,依次点击 找到return checkFile()删掉,再上传 去看一下是否已经写入进去一句话木马 页面什么也没有ÿ…...
02、10个富士胶片模拟的设置
二色彩 1、色彩的加减控制全局的饱和度增减; 2、色彩效果只提升暖色系饱和度; 3、FX蓝色大幅度提升蓝色系饱和度; 4、三个参数都不改变颜色的色相。 2.1 色彩 色彩调整的是拍摄画面整体的色彩饱和程度 2.2色彩效果 调整的是画面中暖色…...
大模型呼出机器人详解
大模型呼出机器人详解 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 大模型呼出机器人是基于大规模深度学习模型构建的智能化客服系统,它能够处理海量数据并学习其中的规律,从而实现高…...
计算机基础知识——数据结构与算法(三)(山东省大数据职称考试)
大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 数据结构与算法…...
【Unity功能集】TextureShop纹理工坊(三)图层(下)
项目源码:在终章发布 索引 图层渲染绘画区域图层Shader 编辑器编辑模式新建图层设置当前图层上、下移动图层删除图层图层快照 图层 在PS中,图层的概念贯穿始终(了解PS图层),他可以称作PS最基础也是最强大的特性之一。…...
基于 SSM 框架 Vue 电脑测评系统:引领电脑评测新方向
4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…...
Android笔记【19】
具体示例 run: val result someObject.run {// 这里可以使用 thisthis.someMethod() }let: val result someObject?.let {// 这里使用 itit.someMethod() }with: val result with(someObject) {// 这里使用 thissomeMethod() }apply: val obj SomeClass().apply {// 这里使…...
Redis 中 IntSet 底层数据结构
IntSet 底层数据结构 序言: 像字符串 SDS 只是保存了一个变量的值,但是像 Redis 中也是需要保存一些集合元素的,这里就介绍一下其中一种集合 IntSet,由于是 Set 所以也有 Set 的一些特性,不过也多加了一些特性: ● 唯…...
自然语言处理:我的学习心得与笔记
Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…...
Altair: 轻松创建交互式数据可视化
Altair: 轻松创建交互式数据可视化 Altair 是一个基于 Vega-Lite 的 Python 数据可视化库,它旨在简化数据可视化的创建过程,尤其适用于统计图表的生成。Altair 强调声明式编码方式,通过简单的语法,用户能够快速创建复杂的交互式图…...
【NLP】序列到序列(seq2seq)建模工具fairseq使用详解
文章目录 一、fairseq简介二、安装方式2.1 pip安装2.2 源码安装 三、fairseq命令工具3.1 fairseq-preprocess3.2 fairseq-train3.3 fairseq-generate3.4 fairseq-interactivate3.5 fairseq-score3.6 fairseq-eval-lm 4. 常见报错报错1 参考资料 一、fairseq简介 fairseq 是 Fa…...