LLaMA-Factory大模型微調全流程指南

該文檔為LLaMA-Factory大模型微調提供了完整的技術指導,涵蓋了從環境搭建到模型訓練、推理和合并模型的全流程,適用于需要進行大模型預訓練和微調的技術人員。

一、docker 容器服務

請參考如下資料制作 docker 容器服務,其中,掛載的目錄關系如下:

1、制作 docker 容器服務的資料列表

  • 《基于docker的LLaMA-Factory全流程部署指南》

2、掛載目錄列表

宿主機目錄容器目錄(如:docker)
./LLaMA-Factory/hf_cache/root/.cache/huggingface
./LLaMA-Factory/ms_cache/root/.cache/modelscope
./LLaMA-Factory/om_cache/root/.cache/openmind
./LLaMA-Factory/data/app/data
./LLaMA-Factory/output/app/output

二、下載模型

前往 ModelScope 下載模型,以 Qwen/Qwen2.5-3B-Instruct 模型舉例,獲取模型下載地址。

# 執行下面的命令,根據您的實際情況選擇不同的下載方式
# 以 modelscope 方式下載(注:宿主機目錄 )
# modelscope download --model Qwen/Qwen2.5-3B-Instruct README.md --local_dir ./LLaMA-Factory/ms_cache/Qwen2.5-3B-Instruct
# 以 git 方式下載(注:宿主機目錄 )
git clone https://www.modelscope.cn/Qwen/Qwen2.5-3B-Instruct.git ./LLaMA-Factory/ms_cache/Qwen2.5-3B-Instruct

三、準備待微調數據

準備待微調的數據,假設已經創建文件 ./LLaMA-Factory/data/alpaca_zh_test.json(注:宿主機目錄 ) 且 已經添加內容如下:

注:該 json 文件編碼格式必須為UTF-8,否則,訓練的模型輸出內容會亂碼,在linux環境可以執行file -i ./LLaMA-Factory/data/alpaca_zh_test.json 命令判斷文件編碼類型。

[{"instruction": "正式禮貌詢問","input": "您好,能否請您詳細做一下自我介紹呢?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "日常隨意詢問","input": "嘿,來跟我說說你自己唄","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "好奇探索式詢問","input": "我很好奇,你能講講自己是個怎樣的存在嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "開門見山式詢問","input": "介紹下你自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "委婉請求式詢問","input": "不知是否方便,能請您做個自我介紹嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "引導式詢問","input": "想必你有很多特別之處,能給我講講自己嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "友好互動式詢問","input": "哈嘍,我們認識一下,你能介紹下自己嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌請教式詢問","input": "您好,想請教下您能做個自我介紹嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "輕松調侃式詢問","input": "嘿,快自報家門啦","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "好奇追問式詢問","input": "我對您很好奇,您能詳細說說自己嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "簡潔命令式詢問","input": "做個自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌邀請式詢問","input": "您好,誠摯邀請您做個自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "溫和建議式詢問","input": "要不您給我講講自己吧","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "俏皮詢問","input": "嘿,小可愛,介紹下自己唄","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "期待式詢問","input": "好期待了解您,能做個自我介紹嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "試探式詢問","input": "我想了解下您,不知能否做個自我介紹?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "尊重式詢問","input": "尊敬的您,能做個自我介紹讓我認識下嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "熱情詢問","input": "哇,好激動,快介紹下你自己呀","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "委婉好奇式詢問","input": "有點好奇您的情況,能給我講講嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌請求補充式詢問","input": "您好,麻煩做個自我介紹,詳細些更好哦","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "輕松聊天式詢問","input": "咱聊聊,你先介紹下自己唄","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "直截了當初識詢問","input": "初次交流,介紹下你自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌詢問用途式","input": "您好,能介紹下自己以及您能做什么嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "日常交流式詢問","input": "嘿,跟我說說你是干嘛的,順便介紹下自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "正式商務式詢問","input": "您好,在開展交流前,煩請您做個自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "友好好奇式詢問","input": "你好呀,我很好奇你,能介紹下自己不?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "溫和請求式詢問","input": "可以請您介紹下自己嗎,非常感謝","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "俏皮活潑式詢問","input": "哈嘍呀,快蹦出你的自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "期待好奇式詢問","input": "好期待你介紹自己,快說說吧","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌求知式詢問","input": "您好,想學習了解下您,能做個自我介紹嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "輕松調侃好奇式詢問","input": "嘿,神秘的你,快揭秘下自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "簡潔直接式詢問","input": "介紹下自己,謝謝","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌邀請詳細式詢問","input": "您好,邀請您詳細介紹下自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "溫和建議友好式詢問","input": "要不你友好地介紹下自己呀","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "俏皮可愛式詢問","input": "小可愛,快亮出你的自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "期待熱情式詢問","input": "超級期待你熱情介紹自己,快開始吧","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "試探禮貌式詢問","input": "我想進一步認識您,不知能否麻煩您介紹下自己?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "尊重正式式詢問","input": "尊敬的您,在交流前請您做個正式自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "熱情友好式詢問","input": "哇哦,友好地介紹下你自己吧","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "委婉好奇深入式詢問","input": "有點好奇您更深入的情況,能詳細講講自己嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌請求豐富式詢問","input": "您好,麻煩豐富地介紹下自己,謝謝","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "輕松聊天深入式詢問","input": "咱深入聊聊,你先詳細介紹下自己唄","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "直截了當初次交流式詢問","input": "初次交流,全面介紹下你自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌詢問多方面式","input": "您好,能介紹下自己以及您擅長的方面嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "日常交流深入式詢問","input": "嘿,深入跟我說說你是干嘛的,順便好好介紹下自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "正式商務詳細式詢問","input": "您好,在合作探討前,煩請您詳細做個自我介紹","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "友好好奇全面式詢問","input": "你好呀,我很好奇你各方面情況,能全面介紹下自己不?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "溫和請求細致式詢問","input": "可以請您細致介紹下自己嗎,十分感謝","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "俏皮活潑豐富式詢問","input": "哈嘍呀,快用豐富的方式介紹下自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "期待好奇全面式詢問","input": "好期待你全面介紹自己,趕緊的","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "禮貌求知深入式詢問","input": "您好,想深入學習了解下您,能詳細做個自我介紹嗎?","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "輕松調侃好奇深入式詢問","input": "嘿,神秘的你,快深入揭秘下自己","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"},{"instruction": "簡潔直接詳細式詢問","input": "詳細介紹下自己,謝謝","output": "我是人工智能模型小智同學,具備多種能力,不管是知識問答還是內容創作等方面的問題,都可以問我。"}
]

./LLaMA-Factory/data/dataset_info.json (注:宿主機目錄 ) 文件里面添加數據集信息,假設已經創建該文件且添加內容如下:

{"alpaca_zh_test": {"file_name": "alpaca_zh_test.json","formatting":"alpaca","columns": {"prompt":"instruction","query": "input","response": "output"}}
}

注:alpaca_zh_test.json 必須跟 dataset_info.json 放在同一個目錄下,否則會找不到文件。

四、訓練及測試

1、命令行方式

./LLaMA-Factory/data/alpaca_zh_test_train.yaml (注:宿主機目錄 ) 文件里面添加用于【模型微調】的配置參數,假設已經創建該文件且添加內容如下:

# ========== 基礎訓練配置 ==========
# 訓練階段類型:指令監督微調(SFT)
stage: sft
# 啟用訓練模式(必須開啟以啟動訓練流程)                     
do_train: true
# 模型權重路徑(Hugging Face標識符或本地路徑【注:容器目錄】,需確保與模板匹配)
model_name_or_path: /root/.cache/modelscope/Qwen2.5-3B-Instruct
# 對話模板(Qwen系列必須使用default模板,否則影響對話格式)
template: default# ========== 數據集配置 ==========
# 數據集配置文件目錄【注:容器目錄】
dataset_dir: data
# 注冊數據集名稱(支持多個數據集逗號分隔)
dataset: alpaca_zh_test
# 文本處理最大長度(超過此值觸發截斷,長文本任務建議8192)
cutoff_len: 2048
# 最大訓練樣本數(用于限制大規模數據集內存占用)
max_samples: 100000# ========== 訓練參數 ==========
# 單卡批次大小(4090顯卡建議2到4,根據顯存調整)
per_device_train_batch_size: 2
# 梯度累積(等效總批次=2*8=16,顯存不足時優先調高此值)
gradient_accumulation_steps: 8
# 訓練輪次(建議至少3輪,復雜任務需50+輪)
num_train_epochs: 50
# 初始學習率(LoRA建議0.00005,全參數微調建議0.00001)
learning_rate: 0.00005
# 學習率調度器(穩定收斂首選,對比step需配置warmup)
lr_scheduler_type: cosine
# 梯度裁剪閾值(防止梯度爆炸,常規任務建議0.5-1.0)
max_grad_norm: 1.0
# 優化器類型(優先選torch原生優化器)
optim: adamw_torch
# 首次訓練/全新任務時設為false
resume_from_checkpoint: false
# 常規任務建議開啟以優化內存
remove_unused_columns: true# ========== LoRA配置 ==========
# 微調策略(LoRA比QLoRA精度更高,4-bit量化選QLoRA),【注:如果是預訓練模型,必須選擇full】
finetuning_type: lora
# 矩陣分解維度(默認8,效果不足時可升到16)
lora_rank: 8
# 縮放系數(建議為秩的2倍,過高易過擬合)
lora_alpha: 16
# 丟棄率(常規任務設為0,數據量少時可設0.1)
lora_dropout: 0.0
# 作用模塊(Qwen模型默認作用于c_attn,attn.c_proj等線性層)
lora_target: all# ========== 硬件加速配置 ==========
# 混合精度訓練(A100/V100等支持BF16的顯卡必開啟)
bf16: true
# 自動啟用FlashAttention(長序列任務顯存降低30%)
flash_attn: auto
# 數據預處理線程數(建議等于CPU核數)
preprocessing_num_workers: 16
# 分布式訓練超時(多卡訓練需調高,單位毫秒)
ddp_timeout: 180000000# ========== 日志與模型輸出 ==========
# 輸出目錄【注:容器目錄】(含檢查點和日志)
output_dir: saves/Qwen2.5-3B-Instruct/lora/train_000000001
# 覆蓋已有輸出目錄
overwrite_output_dir: true
# 日志記錄間隔(調試時建議1,常規訓練5-10)
logging_steps: 5
# 模型保存間隔(根據存儲空間調整,頻繁保存影響速度)
save_steps: 100
# 生成損失曲線圖(用于監控過擬合/欠擬合)
plot_loss: true# ========== 高級配置 ==========
# 信任遠程代碼(加載自定義模型結構時必須開啟)
trust_remote_code: true
# 新增適配器(多任務訓練時設為True防覆蓋)
create_new_adapter: false
# 統計處理token數(用于計算訓練成本)
include_num_input_tokens_seen: true

./LLaMA-Factory/data/alpaca_zh_test_chat.yaml (注:宿主機目錄 ) 文件里面添加用于【模型推理】的配置參數,假設已經創建該文件且添加內容如下:

# 模型權重路徑(Hugging Face標識符或本地路徑【注:容器目錄】,需確保與模板匹配)
model_name_or_path: /root/.cache/modelscope/Qwen2.5-3B-Instruct
# 輸出目錄【注:容器目錄】(含檢查點和日志)
adapter_name_or_path: saves/Qwen2.5-3B-Instruct/lora/train_000000001
# 對話模板(Qwen系列必須使用default模板,否則影響對話格式)
template: default
# 推理引擎(huggingface/vllm)
infer_backend: huggingface
# 信任遠程代碼(加載自定義模型結構時必須開啟)
trust_remote_code: true

./LLaMA-Factory/data/alpaca_zh_test_export.yaml (注:宿主機目錄 ) 文件里面添加用于【模型合并】的配置參數,假設已經創建該文件且添加內容如下:


# ========== 模型配置 ==========
# 模型權重路徑(Hugging Face標識符或本地路徑【注:容器目錄】,需確保與模板匹配)
model_name_or_path: /root/.cache/modelscope/Qwen2.5-3B-Instruct
# 輸出目錄【注:容器目錄】(含檢查點和日志)
adapter_name_or_path: saves/Qwen2.5-3B-Instruct/lora/train_000000001
# 對話模板(Qwen系列必須使用default模板,否則影響對話格式)
template: default
# 信任遠程代碼(加載自定義模型結構時必須開啟)
trust_remote_code: true# ========== 合并輸出配置 ==========
# 必須修改:合并模型的輸出目錄(保存LoRA合并后的完整模型)
export_dir: output/Qwen2.5-3B-Instruct-new
# 量化后模型分片數量(僅限GPTQ量化生效,FP16/8-bit量化無效)
export_size: 5
# 導出設備類型(顯存不足時設為cpu,可用gpu加速導出過程)
export_device: cpu
# 是否導出為舊版格式(兼容老版本推理框架需設為true)
export_legacy_format: false

注:以上三個文件建議跟 ./LLaMA-Factory/data/dataset_info.json 放在同一個目錄下。

在宿主機的控制臺執行該命令 docker exec -it llamafactory /bin/bash 進入 docker 容器,并且,在 docker 容器執行如下命令:

# 模型微調
llamafactory-cli train /app/data/alpaca_zh_test_train.yaml
# 模型推理
llamafactory-cli chat /app/data/alpaca_zh_test_chat.yaml
# 模型合并
llamafactory-cli export /app/data/alpaca_zh_test_export.yaml

2、WEB方式

請在瀏覽器中訪問 http://localhost:7860/ ,即可訪問 LLaMA-Factory 的 WEB 服務。

模型微調:除了用箭頭標志的地方需要修改,其他地方建議使用默認值。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

模型微調:除了用箭頭標志的地方需要修改,其他地方建議使用默認值。
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900056.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900056.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900056.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【HCIA】靜態綜合實驗練習筆記

實驗拓撲圖如下: 實驗配置思路如下: 1、網段劃分、配置IP地址 2、配置DHCP,使客戶端獲得ip地址 3、配置靜態明細路由,內網全網通 4、配置空接口防環 5、配置優先級,實現選路最佳 6、配置缺省路由,實現公網通…

大數據(4.5)Hive聚合函數深度解析:從基礎統計到多維聚合的12個生產級技巧

目錄 背景一、Hive聚合函數分類與語法1. 基礎聚合函數2. 高級聚合函數 二、6大核心場景與案例場景1:基礎統計(SUM/COUNT)場景2:多維聚合(GROUPING SETS)場景3:層次化聚合(ROLLUP&…

RTOS基礎 -- NXP M4小核的RPMsg-lite與端點機制回顧

一、RPMsg-lite與端點機制回顧 在RPMsg協議框架中: Endpoint(端點) 是一個邏輯通信端口,由本地地址(local addr)、遠程地址(remote addr)和回調函數組成。每個消息都會發送到特定的…

NineData云原生智能數據管理平臺新功能發布|2025年3月版

本月發布 15 項更新,其中重點發布 3 項、功能優化 11 項、性能優化 1 項。 重點發布 基礎服務 - MFA 多因子認證 新增 MFA 多因子認證,提升賬號安全性。系統管理員開啟后,所有組織成員需綁定認證器,登錄時需輸入動態驗證碼。 數…

DAY 35 leetcode 202--哈希表.快樂數

題號202 編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」 定義為: 對于一個正整數,每一次將該數替換為它每個位置上的數字的平方和。然后重復這個過程直到這個數變為 1,也可能是 無限循環 但始終變不到 1。如果這個過程 結果為 1&a…

Maven+Spring實現后端開發

一、前置知識的介紹 1.Spring 輕量級的 DI / IoC 和 AOP 容器的開源框架 容器的開源框架網址:https://spring.io/projects/spring-framework 作用:可簡化管理創建和組裝對象之間的依賴關系 將controller----->service------->dao層的依賴配置…

解鎖界面設計密碼,打造極致用戶體驗

界面設計是對軟件、網站、移動應用等產品的用戶界面進行設計的過程,旨在為用戶提供美觀、易用、高效的交互體驗。以下是關于界面設計的一些主要方面: 一、設計原則 用戶中心原則:以用戶為中心,了解用戶的需求、期望、行為和習慣…

Joint Receiver Design for Integrated Sensing and Communications

摘要——在本文中,我們研究了集成感知與通信(ISAC)系統的聯合接收機設計,其中通信信號和目標回波信號同時被接收和處理,以在兩種功能之間實現平衡性能。特別地,我們提出了兩種設計方案來解決聯合感知和通信問題中的接收信號處理。…

DeepSeek接入飛書多維表格,效率起飛!

今天教大家把DeepSeek接入飛書表格使用。 準備工作:安裝并登錄飛書;可以準備一些要處理的數據,確保數據格式正確,如 Excel、CSV 等,也可直接存儲到飛書多維表格。 創建飛書多維表格:打開飛書,點…

【C語言入門】由淺入深學習指針 【第二期】

目錄 1. 指針變量為什么要有類型? 2. 野指針 2.1 未初始化導致的野指針 2.2 指針越界導致的野指針 2.3 如何規避野指針 3. 指針運算 3.1 指針加減整數 3.2 指針減指針 3.3 指針的關系運算 4. 二級指針 5. 指針數組 5.1 如何使用指針數組模擬二維數組 上…

OpenCV 圖形API(13)用于執行兩個矩陣(或圖像)逐元素乘法操作的函數mul()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 描述 計算兩個矩陣的每個元素的縮放乘積。 mul函數計算兩個矩陣的逐元素乘積: dst ( I ) saturate ( scale ? src1 ( I ) ? src2 ( I ) ) …

人工智能混合編程實踐:C++調用封裝好的DLL進行圖像超分重建

人工智能混合編程實踐:C++調用封裝好的DLL進行圖像超分重建 前言相關介紹C++簡介ONNX簡介ONNX Runtime 簡介**核心特點**DLL 簡介**核心特點****創建與使用****應用場景****優點與挑戰**圖像異常檢測簡介應用場景前提條件實驗環境項目結構C++調用封裝好的DLL進行圖像超分重建C…

Linux內核之高效緩沖隊列kfifo

一、先說FIFO 隊列是常見的一種數據結構,簡單看來就是一段數據緩存區,可以存儲一定量的數據,先存進來的數據會被先取出,First In Fist Out,就是FIFO。 FIFO主要用于緩沖速度不匹配的通信。 例如生產者(數…

【面試篇】Kafka

一、基礎概念類 問題:請簡述 Kafka 是什么,以及它的主要應用場景有哪些? 答案:Kafka 是一個分布式流處理平臺,它以高吞吐量、可持久化、可水平擴展等特性而聞名。其主要應用場景包括: 日志收集&#xff1a…

解釋回溯算法,如何應用回溯算法解決組合優化問題?

一、回溯算法核心原理 回溯算法本質是暴力窮舉的優化版本,采用"試錯剪枝"策略解決問題。其核心流程如下: ?路徑構建:記錄當前選擇路徑?選擇列表:確定可用候選元素?終止條件:確定遞歸結束時機?剪枝優化…

Vue 學習隨筆系列二十二 —— 表格高度自適應

表格高度自適應 文章目錄 表格高度自適應1、方法一2、方法二 1、方法一 根據頁面元素計算各自占比 <template><div class"main"><div class"query-form" ref"Query"><QueryFormref"QueryForm"query"query&q…

ubuntu22.04.5安裝docker,解決安裝出現的錯誤,解決Docker hello-world沒打印出來

文章目錄 前言一 安裝失敗解決1結合具體報錯分析2 首先懷疑是VPN的問題3 直接百度報錯信息4最終解決問題 二 驗證Docker hello-world沒打印出來總結 前言 先說一下前面的情況&#xff0c;使用的是公司的工作站&#xff0c;登錄公司一個帳號使用的公司網絡&#xff0c;使用網上…

idea插件(自用)

.ignore git排除文件插件&#xff1a;.ignore介紹 Grep console 自定義日志顏色&#xff1a;Grep console介紹 AceJump 光標快速定位&#xff1a;AceJump介紹 Key promoter 提示插件:Key promoter介紹 MetricsReloaded 分析代碼復雜度的插件&#xff1a;MetricsReload…

讓AI再次偉大-MCP-Client開發指南

&#x1f44f;作者簡介&#xff1a;大家好&#xff0c;我是愛吃芝士的土豆倪&#xff0c;24屆校招生Java選手&#xff0c;很高興認識大家&#x1f4d5;系列專欄&#xff1a;Spring原理、JUC原理、Kafka原理、分布式技術原理、數據庫技術、JVM原理、AI應用&#x1f525;如果感覺…