單選擇SAM模型檢查點(diǎn)?3分鐘看懂ViT-H/L/B的區(qū)別)
如何簡(jiǎn)單選擇SAM模型檢查點(diǎn)3分鐘看懂ViT-H/L/B的區(qū)別【免費(fèi)下載鏈接】segment-anythingThe repository provides code for running inference with the SegmentAnything Model (SAM), links for downloading the trained model checkpoints, and example notebooks that show how to use the model.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/se/segment-anythingSegment AnythingSAM是用點(diǎn)或框提示就能生成目標(biāo)掩碼的圖像分割模型官方倉(cāng)庫(kù)提供了 ViT-Huge、ViT-Large、ViT-Base 三種檢查點(diǎn)。這篇文章帶你一次搞定 SAM 模型選擇多數(shù)人直接下 ViT-L 就夠。30 秒快速?zèng)Q策三類人各用哪個(gè)版本個(gè)人嘗鮮先跑vit_b效果和大版本相差無(wú)幾下載也最快。生產(chǎn)部署用vit_l精度貼近vit_h顯存和速度都居中??蒲?/ 離線批處理上vit_h掩碼質(zhì)量最高但請(qǐng)準(zhǔn)備 12GB 以上顯存。 一個(gè)小提醒注冊(cè)表里default實(shí)際指向vit_h見(jiàn) build_sam.py。沒(méi)顯式指定版本時(shí)你加載的其實(shí)是最大的那個(gè)。三個(gè)版本到底差在哪ViT-B/L/H 核心參數(shù)三個(gè)版本結(jié)構(gòu)相同一個(gè)大號(hào)圖像編碼器 同一個(gè)輕量掩碼解碼器差異全部在主干上。加載只差一個(gè)字符串from segment_anything import sam_model_registry sam sam_model_registryvit_lViT-Basevit_b實(shí)時(shí)場(chǎng)景的經(jīng)濟(jì)款定位主干最小顯存門(mén)檻最低效果略遜但夠用。嵌入維度 76812 層 Transformer12 個(gè)注意力頭全局注意力層索引 [2, 5, 8, 11]檢查點(diǎn)文件僅約 375MB是三版中最小的適用Web 演示、移動(dòng)側(cè)或任何先跑起來(lái)再說(shuō)的場(chǎng)景。ViT-Largevit_l均衡的中配定位精度和成本都居中但居中剛好夠用。嵌入維度 102424 層16 個(gè)注意力頭全局注意力層索引 [5, 11, 17, 23]文件約 1.25GB約為vit_b的三倍適用大多數(shù)生產(chǎn)環(huán)境從工業(yè)質(zhì)檢到內(nèi)容平臺(tái)。ViT-Hugevit_h追求極致的旗艦款定位主干最大掩碼細(xì)節(jié)最強(qiáng)成本也最高。嵌入維度 128032 層16 個(gè)注意力頭全局注意力層索引 [7, 15, 23, 31]文件約 2.4GB三版中最大適用離線科研、精度要求苛刻且算力不受限的任務(wù)。用起來(lái)有什么差別SAM 顯存與速度估算三個(gè)版本的差別不在能不能跑而在速度和顯存。以下是單張 1024×1024 圖推理、8GB 消費(fèi)級(jí)顯卡如 RTX 3080上的粗估僅供量級(jí)參考維度vit_bvit_lvit_h檢查點(diǎn)大小~375MB~1.25GB~2.4GB顯存粗估含圖像編碼特征~3GB~5GB~8GB主干推理體感最快明顯更慢最慢批處理時(shí)差距最直觀兩點(diǎn)補(bǔ)充主要開(kāi)銷在圖像編碼器三版共用同一個(gè)掩碼解碼器提示解碼環(huán)節(jié)基本無(wú)差做全圖自動(dòng)掩碼生成時(shí)耗時(shí)由編碼器主導(dǎo)大小版本的差距會(huì)被放大。選型時(shí)容易踩的三個(gè)坑坑 1盲目選最大的。第一次看到三個(gè) .pth 文件直覺(jué)是越大越強(qiáng)。但零樣本場(chǎng)景下vit_l和vit_h肉眼差距常??床怀鰜?lái)顯存和時(shí)間卻近乎翻倍。別寧大勿小???2不算顯存直接跑。SAM 會(huì)把圖像重采樣到 1024×1024編碼特征還要一直留在顯存里。遇到 CUDA OOM先換小一號(hào)版本而不是加大 swap 硬扛。??坑 3誤解零樣本精度。SAM 是通用基礎(chǔ)模型不是任何具體任務(wù)上的精度冠軍。任務(wù)如果在窄領(lǐng)域如醫(yī)療 CT微調(diào)過(guò)的小模型往往比它還準(zhǔn)別指望零樣本 SAM 替代領(lǐng)域微調(diào)。常見(jiàn)問(wèn)題SAM 部署與檢查點(diǎn)切換Q1三個(gè)檢查點(diǎn)都要下載嗎不用。一個(gè)就夠。三個(gè)版本共用同一套加載接口換版本只改model_type字符串和文件路徑其他代碼不用動(dòng)。各版本的下載地址都列在 README 的 Model Checkpoints 一節(jié)。Q2Web / 前端部署選哪個(gè)官方路線是把輕量掩碼解碼器導(dǎo)出成 ONNX 放進(jìn)瀏覽器主干仍在 GPU 側(cè)跑。代碼沒(méi)裝的話先git clone https://gitcode.com/GitHub_Trending/se/segment-anything再pip install -e .流程參考 ONNX 導(dǎo)出 notebook。Q3顯存不夠除了換模型還能怎么辦先確認(rèn)沒(méi)有傳入超大圖內(nèi)部固定 1024。實(shí)在緊張就分批處理、中間釋放顯存或用命令行離線跑python scripts/amg.py --checkpoint sam_vit_l_0b3195.pth --model-type vit_l --input images/ --output masks/現(xiàn)在就去下載sam_vit_l_0b3195.pth在自己的硬件上跑一遍官方 predictor_example notebook體感速度和效果后再?zèng)Q定要不要升配或降配。【免費(fèi)下載鏈接】segment-anythingThe repository provides code for running inference with the SegmentAnything Model (SAM), links for downloading the trained model checkpoints, and example notebooks that show how to use the model.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/se/segment-anything創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考