【llama_factory】qwen2_vl训练与批量推理

训练llama factory配置文件

文件:examples/train_lora/qwen2vl_lora_sft.yaml

### model
model_name_or_path: qwen2_vl/model_72b
trust_remote_code: true### method
stage: sft
do_train: true
finetuning_type: lora
lora_target: all### dataset
dataset: car_item  # video: mllm_video_demo
template: qwen2_vl
cutoff_len: 2048
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16### output
output_dir: saves/qwen2_vl-72b/lora/sft
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true### train
per_device_train_batch_size: 1
gradient_accumulation_steps: 1
learning_rate: 1.0e-4
num_train_epochs: 25.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
bf16: True
ddp_timeout: 180000000
deepspeed: examples/deepspeed/ds_z3_config.json
#有坑,默认的配置文件没有设置deepspeed参数,会每张显卡都并行加载一个72B模型导致显卡OOM,经过查阅文献设置deepspeed分布式训练参数,有五种,训练大模型设置显存最低的,训练7b可以设置为ds_z0_config.json
#ds_z0_config.json          ds_z2_config.json          ds_z2_offload_config.json  ds_z3_config.json          ds_z3_offload_config.json  
### eval
val_size: 0.1
per_device_eval_batch_size: 0
eval_strategy: steps
eval_steps: 500
llamafactory-cli train  examples/train_lora/qwen2vl_lora_sft.yaml 

批量推理

文件:examples/train_lora/qwen2vl_lora_sft.yaml

### model
model_name_or_path: qwen2_vl/model_7b
trust_remote_code: true
# method
stage: sft
do_train: false
do_predict: true
predict_with_generate: true
finetuning_type: full# dataset
eval_dataset: car_item  #修改为测试集
template: qwen2_vl
cutoff_len: 2048
max_samples: 200
overwrite_cache: true
preprocessing_num_workers: 16
# output
output_dir: saves/qwen2_vl-7b/lora/sft-infer-1 #修改为保存地址
logging_steps: 1
overwrite_output_dir: true# eval
per_device_eval_batch_size: 4
# generation
max_new_tokens: 128
temperature: 0.1
top_k: 1
```bash
llamafactory-cli train  examples/train_lora/qwen2vl_lora_sft.yaml 
# 总结
总的来说,训练时显存不足需要设置分布式训练方式,deepspeed。
推理时,设置eval_dataset eval相关参数。
另外数据集要进行预处理,搞成标准llama处理格式,加载到data/dataset_info.json中```bash
{"identity": {"file_name": "identity.json"},"alpaca_en_demo": {"file_name": "alpaca_en_demo.json"},"alpaca_zh_demo": {"file_name": "alpaca_zh_demo.json"},"glaive_toolcall_en_demo": {"file_name": "glaive_toolcall_en_demo.json","formatting": "sharegpt","columns": {"messages": "conversations","tools": "tools"}},"glaive_toolcall_zh_demo": {"file_name": "glaive_toolcall_zh_demo.json","formatting": "sharegpt","columns": {"messages": "conversations","tools": "tools"}},"car_item": {"file_name": "car_item/train.json","columns": {"images": "image","prompt": "instruction","query": "input","response": "output"}},"mllm_demo": {"file_name": "mllm_demo.json","formatting": "sharegpt","columns": {"messages": "messages","images": "images"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"mllm_video_demo": {"file_name": "mllm_video_demo.json","formatting": "sharegpt","columns": {"messages": "messages","videos": "videos"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"alpaca_en": {"hf_hub_url": "llamafactory/alpaca_en","ms_hub_url": "llamafactory/alpaca_en","om_hub_url": "HaM/alpaca_en"},"alpaca_zh": {"hf_hub_url": "llamafactory/alpaca_zh","ms_hub_url": "llamafactory/alpaca_zh"},"alpaca_gpt4_en": {"hf_hub_url": "llamafactory/alpaca_gpt4_en","ms_hub_url": "llamafactory/alpaca_gpt4_en"},"alpaca_gpt4_zh": {"hf_hub_url": "llamafactory/alpaca_gpt4_zh","ms_hub_url": "llamafactory/alpaca_gpt4_zh","om_hub_url": "State_Cloud/alpaca-gpt4-data-zh"},"glaive_toolcall_en": {"hf_hub_url": "llamafactory/glaive_toolcall_en","formatting": "sharegpt","columns": {"messages": "conversations","tools": "tools"}},"glaive_toolcall_zh": {"hf_hub_url": "llamafactory/glaive_toolcall_zh","formatting": "sharegpt","columns": {"messages": "conversations","tools": "tools"}},"lima": {"hf_hub_url": "llamafactory/lima","formatting": "sharegpt"},"guanaco": {"hf_hub_url": "JosephusCheung/GuanacoDataset","ms_hub_url": "AI-ModelScope/GuanacoDataset"},"belle_2m": {"hf_hub_url": "BelleGroup/train_2M_CN","ms_hub_url": "AI-ModelScope/train_2M_CN"},"belle_1m": {"hf_hub_url": "BelleGroup/train_1M_CN","ms_hub_url": "AI-ModelScope/train_1M_CN"},"belle_0.5m": {"hf_hub_url": "BelleGroup/train_0.5M_CN","ms_hub_url": "AI-ModelScope/train_0.5M_CN"},"belle_dialog": {"hf_hub_url": "BelleGroup/generated_chat_0.4M","ms_hub_url": "AI-ModelScope/generated_chat_0.4M"},"belle_math": {"hf_hub_url": "BelleGroup/school_math_0.25M","ms_hub_url": "AI-ModelScope/school_math_0.25M"},"belle_multiturn": {"script_url": "belle_multiturn","formatting": "sharegpt"},"ultra_chat": {"script_url": "ultra_chat","formatting": "sharegpt"},"open_platypus": {"hf_hub_url": "garage-bAInd/Open-Platypus","ms_hub_url": "AI-ModelScope/Open-Platypus"},"codealpaca": {"hf_hub_url": "sahil2801/CodeAlpaca-20k","ms_hub_url": "AI-ModelScope/CodeAlpaca-20k"},"alpaca_cot": {"hf_hub_url": "QingyiSi/Alpaca-CoT","ms_hub_url": "AI-ModelScope/Alpaca-CoT"},"openorca": {"hf_hub_url": "Open-Orca/OpenOrca","ms_hub_url": "AI-ModelScope/OpenOrca","columns": {"prompt": "question","response": "response","system": "system_prompt"}},"slimorca": {"hf_hub_url": "Open-Orca/SlimOrca","formatting": "sharegpt"},"mathinstruct": {"hf_hub_url": "TIGER-Lab/MathInstruct","ms_hub_url": "AI-ModelScope/MathInstruct","columns": {"prompt": "instruction","response": "output"}},"firefly": {"hf_hub_url": "YeungNLP/firefly-train-1.1M","columns": {"prompt": "input","response": "target"}},"wikiqa": {"hf_hub_url": "wiki_qa","columns": {"prompt": "question","response": "answer"}},"webqa": {"hf_hub_url": "suolyer/webqa","ms_hub_url": "AI-ModelScope/webqa","columns": {"prompt": "input","response": "output"}},"webnovel": {"hf_hub_url": "zxbsmk/webnovel_cn","ms_hub_url": "AI-ModelScope/webnovel_cn"},"nectar_sft": {"hf_hub_url": "AstraMindAI/SFT-Nectar","ms_hub_url": "AI-ModelScope/SFT-Nectar"},"deepctrl": {"ms_hub_url": "deepctrl/deepctrl-sft-data"},"adgen_train": {"hf_hub_url": "HasturOfficial/adgen","ms_hub_url": "AI-ModelScope/adgen","split": "train","columns": {"prompt": "content","response": "summary"}},"adgen_eval": {"hf_hub_url": "HasturOfficial/adgen","ms_hub_url": "AI-ModelScope/adgen","split": "validation","columns": {"prompt": "content","response": "summary"}},"sharegpt_hyper": {"hf_hub_url": "totally-not-an-llm/sharegpt-hyperfiltered-3k","formatting": "sharegpt"},"sharegpt4": {"hf_hub_url": "shibing624/sharegpt_gpt4","ms_hub_url": "AI-ModelScope/sharegpt_gpt4","formatting": "sharegpt"},"ultrachat_200k": {"hf_hub_url": "HuggingFaceH4/ultrachat_200k","ms_hub_url": "AI-ModelScope/ultrachat_200k","formatting": "sharegpt","columns": {"messages": "messages"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"agent_instruct": {"hf_hub_url": "THUDM/AgentInstruct","ms_hub_url": "ZhipuAI/AgentInstruct","formatting": "sharegpt"},"lmsys_chat": {"hf_hub_url": "lmsys/lmsys-chat-1m","ms_hub_url": "AI-ModelScope/lmsys-chat-1m","formatting": "sharegpt","columns": {"messages": "conversation"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "human","assistant_tag": "assistant"}},"evol_instruct": {"hf_hub_url": "WizardLM/WizardLM_evol_instruct_V2_196k","ms_hub_url": "AI-ModelScope/WizardLM_evol_instruct_V2_196k","formatting": "sharegpt"},"glaive_toolcall_100k": {"hf_hub_url": "hiyouga/glaive-function-calling-v2-sharegpt","formatting": "sharegpt","columns": {"messages": "conversations","tools": "tools"}},"cosmopedia": {"hf_hub_url": "HuggingFaceTB/cosmopedia","columns": {"prompt": "prompt","response": "text"}},"stem_zh": {"hf_hub_url": "hfl/stem_zh_instruction"},"ruozhiba_gpt4": {"hf_hub_url": "hfl/ruozhiba_gpt4_turbo"},"neo_sft": {"hf_hub_url": "m-a-p/neo_sft_phase2","formatting": "sharegpt"},"magpie_pro_300k": {"hf_hub_url": "Magpie-Align/Magpie-Pro-300K-Filtered","formatting": "sharegpt"},"magpie_ultra": {"hf_hub_url": "argilla/magpie-ultra-v0.1","columns": {"prompt": "instruction","response": "response"}},"web_instruct": {"hf_hub_url": "TIGER-Lab/WebInstructSub","columns": {"prompt": "question","response": "answer"}},"openo1_sft": {"hf_hub_url": "llamafactory/OpenO1-SFT","ms_hub_url": "llamafactory/OpenO1-SFT","columns": {"prompt": "prompt","response": "response"}},"llava_1k_en": {"hf_hub_url": "BUAADreamer/llava-en-zh-2k","subset": "en","formatting": "sharegpt","columns": {"messages": "messages","images": "images"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"llava_1k_zh": {"hf_hub_url": "BUAADreamer/llava-en-zh-2k","subset": "zh","formatting": "sharegpt","columns": {"messages": "messages","images": "images"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"llava_150k_en": {"hf_hub_url": "BUAADreamer/llava-en-zh-300k","subset": "en","formatting": "sharegpt","columns": {"messages": "messages","images": "images"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"llava_150k_zh": {"hf_hub_url": "BUAADreamer/llava-en-zh-300k","subset": "zh","formatting": "sharegpt","columns": {"messages": "messages","images": "images"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"pokemon_cap": {"hf_hub_url": "llamafactory/pokemon-gpt4o-captions","formatting": "sharegpt","columns": {"messages": "conversations","images": "images"}},"mllm_pt_demo": {"hf_hub_url": "BUAADreamer/mllm_pt_demo","formatting": "sharegpt","columns": {"messages": "messages","images": "images"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"oasst_de": {"hf_hub_url": "mayflowergmbh/oasst_de"},"dolly_15k_de": {"hf_hub_url": "mayflowergmbh/dolly-15k_de"},"alpaca-gpt4_de": {"hf_hub_url": "mayflowergmbh/alpaca-gpt4_de"},"openschnabeltier_de": {"hf_hub_url": "mayflowergmbh/openschnabeltier_de"},"evol_instruct_de": {"hf_hub_url": "mayflowergmbh/evol-instruct_de"},"dolphin_de": {"hf_hub_url": "mayflowergmbh/dolphin_de"},"booksum_de": {"hf_hub_url": "mayflowergmbh/booksum_de"},"airoboros_de": {"hf_hub_url": "mayflowergmbh/airoboros-3.0_de"},"ultrachat_de": {"hf_hub_url": "mayflowergmbh/ultra-chat_de"},"dpo_en_demo": {"file_name": "dpo_en_demo.json","ranking": true,"formatting": "sharegpt","columns": {"messages": "conversations","chosen": "chosen","rejected": "rejected"}},"dpo_zh_demo": {"file_name": "dpo_zh_demo.json","ranking": true,"formatting": "sharegpt","columns": {"messages": "conversations","chosen": "chosen","rejected": "rejected"}},"dpo_mix_en": {"hf_hub_url": "llamafactory/DPO-En-Zh-20k","subset": "en","ranking": true,"formatting": "sharegpt","columns": {"messages": "conversations","chosen": "chosen","rejected": "rejected"}},"dpo_mix_zh": {"hf_hub_url": "llamafactory/DPO-En-Zh-20k","subset": "zh","ranking": true,"formatting": "sharegpt","columns": {"messages": "conversations","chosen": "chosen","rejected": "rejected"}},"ultrafeedback": {"hf_hub_url": "llamafactory/ultrafeedback_binarized","ms_hub_url": "llamafactory/ultrafeedback_binarized","ranking": true,"columns": {"prompt": "instruction","chosen": "chosen","rejected": "rejected"}},"rlhf_v": {"hf_hub_url": "llamafactory/RLHF-V","ranking": true,"formatting": "sharegpt","columns": {"messages": "conversations","chosen": "chosen","rejected": "rejected","images": "images"}},"vlfeedback": {"hf_hub_url": "Zhihui/VLFeedback","ranking": true,"formatting": "sharegpt","columns": {"messages": "conversations","chosen": "chosen","rejected": "rejected","images": "images"}},"orca_pairs": {"hf_hub_url": "Intel/orca_dpo_pairs","ranking": true,"columns": {"prompt": "question","chosen": "chosen","rejected": "rejected","system": "system"}},"hh_rlhf_en": {"script_url": "hh_rlhf_en","ranking": true,"columns": {"prompt": "instruction","chosen": "chosen","rejected": "rejected","history": "history"}},"nectar_rm": {"hf_hub_url": "AstraMindAI/RLAIF-Nectar","ms_hub_url": "AI-ModelScope/RLAIF-Nectar","ranking": true},"orca_dpo_de": {"hf_hub_url": "mayflowergmbh/intel_orca_dpo_pairs_de","ranking": true},"kto_en_demo": {"file_name": "kto_en_demo.json","formatting": "sharegpt","columns": {"messages": "messages","kto_tag": "label"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"kto_mix_en": {"hf_hub_url": "argilla/kto-mix-15k","formatting": "sharegpt","columns": {"messages": "completion","kto_tag": "label"},"tags": {"role_tag": "role","content_tag": "content","user_tag": "user","assistant_tag": "assistant"}},"ultrafeedback_kto": {"hf_hub_url": "argilla/ultrafeedback-binarized-preferences-cleaned-kto","ms_hub_url": "AI-ModelScope/ultrafeedback-binarized-preferences-cleaned-kto","columns": {"prompt": "prompt","response": "completion","kto_tag": "label"}},"wiki_demo": {"file_name": "wiki_demo.txt","columns": {"prompt": "text"}},"c4_demo": {"file_name": "c4_demo.json","columns": {"prompt": "text"}},"refinedweb": {"hf_hub_url": "tiiuae/falcon-refinedweb","columns": {"prompt": "content"}},"redpajama_v2": {"hf_hub_url": "togethercomputer/RedPajama-Data-V2","columns": {"prompt": "raw_content"},"subset": "default"},"wikipedia_en": {"hf_hub_url": "olm/olm-wikipedia-20221220","ms_hub_url": "AI-ModelScope/olm-wikipedia-20221220","columns": {"prompt": "text"}},"wikipedia_zh": {"hf_hub_url": "pleisto/wikipedia-cn-20230720-filtered","ms_hub_url": "AI-ModelScope/wikipedia-cn-20230720-filtered","columns": {"prompt": "completion"}},"pile": {"hf_hub_url": "monology/pile-uncopyrighted","ms_hub_url": "AI-ModelScope/pile","columns": {"prompt": "text"}},"skypile": {"hf_hub_url": "Skywork/SkyPile-150B","ms_hub_url": "AI-ModelScope/SkyPile-150B","columns": {"prompt": "text"}},"fineweb": {"hf_hub_url": "HuggingFaceFW/fineweb","columns": {"prompt": "text"}},"fineweb_edu": {"hf_hub_url": "HuggingFaceFW/fineweb-edu","columns": {"prompt": "text"}},"the_stack": {"hf_hub_url": "bigcode/the-stack","ms_hub_url": "AI-ModelScope/the-stack","columns": {"prompt": "content"}},"starcoder_python": {"hf_hub_url": "bigcode/starcoderdata","ms_hub_url": "AI-ModelScope/starcoderdata","columns": {"prompt": "content"},"folder": "python"}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2253.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VM(虚拟机)和Linux的安装

文章目录 1.虚拟机1.1 VM的安装和删除1.1.1 安装前提1.1.2 安装步骤 1.2 虚拟机快照1.3 虚拟机的克隆 2.Linux的安装2.1 CentOS2.2 Ubuntu 1.虚拟机 (1)Linux系统的安装方式 ①物理机安装:直接将操作系统安装到服务器硬件上 ②虚拟机安装&am…

C++算法第十五天

复习周终于结束了,这也是复习周结束后的第一篇文章,请各位小伙伴们细细品尝,废话不多说,我们开始今天的讲解。 第一题 题目链接 918. 环形子数组的最大和 - 力扣(LeetCode) 题目解析 代码原理 注意&…

mysql-5.7.18保姆级详细安装教程

本文主要讲解如何安装mysql-5.7.18数据库: 将绿色版安装包mysql-5.7.18-winx64解压后目录中内容如下图,该例是安装在D盘根目录。 在mysql安装目录中新建my.ini文件,文件内容及各配置项内容如下图,需要先将配置项【skip-grant-tab…

<OS 有关>Ubuntu 24 安装 openssh-server, tailscale+ssh 慢增加

更新日志: Created on 14Jan.2025 by Dave , added openssh-server, tailescape Updated on 15Jan.2025, added "tailescape - tailscape ssh" 前期准备: 1. 更新可用软件包的数据库 2. 升级系统中所有已安装的软件包到最新版本 3. 安装 cur…

STM32-keil安装时遇到的一些问题以及解决方案

前言: 本人项目需要使用到STM32,故需配置keil 5,在配置时遇到了以下问题,并找到相应的解决方案,希望能够为遇到相同问题的道友提供一些解决思路 1、提示缺少(missing)version 5编译器 step1:找…

HTTP1.0/1.1/2.0/3.0 的区别?

HTTP(Hypertext Transfer Protocol)是用于传输超文本的协议。各版本的主要区别体现在性能优化、数据传输方式以及支持的功能上。 每一次协议的更新都是对旧协议的改进: 1. HTTP1.0 发布于1996年 无连接(Connectionless&#…

蓝桥杯_B组_省赛_2022(用作博主自己学习)

题目链接算法11.九进制转十进制 - 蓝桥云课 进制转换 21.顺子日期 - 蓝桥云课 时间与日期 31.刷题统计 - 蓝桥云课 时间与日期 41.修剪灌木 - 蓝桥云课 思维 51.X 进制减法 - 蓝桥云课 贪心 61.统计子矩阵 - 蓝桥云课 二维前缀和 71.积木画 - 蓝桥云课 动态规划 82.扫雷 - 蓝桥…

C++|CRC校验总结

参考: Vector - CAPL - CRC算法介绍 开发工具 > CRC校验工具 文章目录 简介CRC-8CRC-16CRC-32 简介 循环冗余校验(Cyclic Redundancy Check,简称CRC)是一种数据校验算法,广泛用于检测数据传输或存储过程中的错误。…

迅翼SwiftWing | ROS 固定翼开源仿真平台正式发布!

经过前期内测调试,ROS固定翼开源仿真平台今日正式上线!现平台除适配PX4ROS环境外,也已实现APROS环境下的单机飞行控制仿真适配。欢迎大家通过文末链接查看项目地址以及具体使用手册。 1 平台简介 ROS固定翼仿真平台旨在实现固定翼无人机决策…

C语言数据结构与算法(排序)详细版

大家好,欢迎来到“干货”小仓库!! 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!无人扶我青云志,我自踏雪至山巅!!&am…

微信小程序获取openid

2025年1月15日: 注意:其中appid,secret,还有服务器网址都按自己实际的填写 1、先在云服务器上安装nodejs,然后写个get接口: const express require(express); const app express();app.get(/getOpenid,(req,res)&…

C语言:-三子棋游戏代码:分支-循环-数组-函数集合

思路分析: 1、写菜单 2、菜单之后进入游戏的操作 3、写函数 实现游戏 3.1、初始化棋盘函数,使数组元素都为空格 3.2、打印棋盘 棋盘的大概样子 3.3、玩家出棋 3.3.1、限制玩家要下的坐标位置 3.3.2、判断玩家要下的位置是否由棋子 3.4、电脑出棋 3.4.1、…

FPGA工程师成长四阶段

朋友,你有入行三年、五年、十年的职业规划吗?你知道你所做的岗位未来该如何成长吗? FPGA行业的发展近几年是蓬勃发展,有越来越多的人才想要或已经踏进了FPGA行业的大门。很多同学在入行FPGA之前,都会抱着满腹对职业发…

vscode的安装与使用

下载 地址:https://code.visualstudio.com/ 安装 修改安装路径(不要有中文) 点击下一步,创建桌面快捷方式,等待安装 安装中文插件 可以根据自己的需要安装python和Jupyter插件

懒饭 3.0.2 | 谷歌版纯净无广告教做菜软件

这款教做菜的软件是谷歌版,提供了一个纯净无广告的学习环境。即使没有会员,普通版也足够满足日常使用需求。软件内含分类和排行榜功能,支持搜索,教程形式多样,包括文字和视频,是学习烹饪技巧、追女朋友的好…

【数模学习笔记】插值算法和拟合算法

声明:以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料,仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…

计算机二级-Java系列(Java的特点)

java语言的特点 简单,面向对象,分布式,结构中立,可移植性,解释执行,健壮,安全,高性能,多线程和动态。 Java具有面向对象的三个基本特性为:封装,…

【Vue3 入门到实战】1. 创建Vue3工程

目录 ​编辑 1. 学习目标 2. 环境准备与初始化 3. 项目文件结构 4. 写一个简单的效果 5. 总结 1. 学习目标 (1) 掌握如何创建vue3项目。 (2) 了解项目中的文件的作用。 (3) 编辑App.vue文件,并写一个简单的效果。 2. 环境准备与初始化 (1) 安装 Node.js 和 …

vim使用指南

🏝️专栏:计算机操作系统 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 一、Vim 的基本概念 1.Vim 的主要模式: 1.1普通模式 (Normal Mode) 1.2插入…

TCP-IP详解卷 TCP的超时与重传

TCP-IP详解卷1-21:TCP的超时与重传(Timeout and Retransmission) 一:介绍 1: 与数据链路层的ARQ协议相类似,TCP使用超时重发的重传机制。 即:TCP每发送一个报文段,就对此报文段设置…