<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Loading

      模型文件硬塞進 Git,GitHub 直接打回原形:使用Git-LFS管理大文件

      前言

      最近接手了一個計算機視覺項目

      代碼是屎山就不說了,反正我也不看代碼

      主要就是構(gòu)建一下 docker 鏡像,測試一下部署的兼容性

      這本來不難

      但是,國內(nèi)服務(wù)器的網(wǎng)絡(luò)環(huán)境實在是惡劣,需要配置各種鏡像(docker鏡像、apt鏡像、pip鏡像),這些鏡像還各有各的問題,結(jié)果就是搭配下來一直無法構(gòu)建成功。

      之后我靈機一動,利用 GitHub Actions 來構(gòu)建鏡像,以 GitHub 的服務(wù)器網(wǎng)絡(luò),所有問題不就迎刃而解了嗎?

      試了之后果然可以成功構(gòu)建出鏡像

      不過中途也踩了一些坑,比如大文件的問題

      之前的項目沒遇到過大文件,因為我從不把 PyTorch 的模型文件放在代碼里跟著提交到 git 里!

      能做出這種操作的,多少帶點那啥??

      GitHub對大文件的限制

      GitHub 文件大小限制

      • 單個文件 > 50MB 會有警告
      • 單個文件 > 100MB 會直接被拒絕推送

      結(jié)果就是:

      Writing objects: 100% (304/304), 463.41 MiB | 3.23 MiB/s, done. Total 304 (delta 32), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (32/32), done. remote: warning: File fire_detection/yolov5l.pt is 88.50 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: error: Trace: 52267c96d371181694b02dad5eebead817ce6d985e2f8d356c2b458adfbb2a09 remote: error: See https://gh.io/lfs for more information. remote: error: File runs/detect/fire_smoke_detection/weights/best.pt is 166.91 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: File runs/detect/fire_smoke_detection/weights/best.pt is 250.32 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. To github.com:cppstudio/fire-detection.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'github.com:studio/fire-detection.git'
      

      解決辦法就是用 Git LFS (Large File Storage),GitHub 官方提供的專門存儲大文件(模型權(quán)重、二進制、音頻視頻)的功能。

      不過這個也挺摳門的,GitHub LFS 免費額度只有 1GB 存儲 + 1GB 流量,超出需要買額外配額(或者用 HuggingFace/百度網(wǎng)盤/OSS 等托管模型文件)。

      如果只是存 .pt 模型,可以考慮把權(quán)重放 HuggingFace,然后在 README 里寫下載鏈接。

      安裝 git-lfs 工具

      每個系統(tǒng)都能很容易安裝

      # Linux (Ubuntu/Debian)
      sudo apt install git-lfs
      
      # macOS (brew)
      brew install git-lfs
      
      # Windows (scoop)
      scoop install git-lfs
      

      然后初始化

      git lfs install
      

      跟蹤大文件類型

      比如說在本文的場景里,.pt 模型文件很大,可以指定讓 LFS 管理

      git lfs track "*.pt"
      

      這會在倉庫生成一個 .gitattributes 文件,內(nèi)容大概是

      *.pt filter=lfs diff=lfs merge=lfs -text
      

      記得把這個 .gitattributes 也提交進 git

      git add .gitattributes
      git commit -m "track large files with Git LFS"
      

      重新提交大文件

      之前的提交如果包含了大文件

      需要把這些大文件重新提交到 LFS

      好在 git-lfs 提供了很方便的命令來清理歷史,不然就得用我之前發(fā)的那篇文章里的方法來清理大文件了。詳見: 如何清理誤提交到git的歷史大文件?

      # 用 git lfs migrate 自動替換歷史中的大文件
      git lfs migrate import --include="*.pt"
      
      # 強制推送
      git push origin master --force
      

      之后正常執(zhí)行推送操作就行了

      git push origin master
      

      GitHub 就會把大文件存到 LFS,而不是普通 Git 倉庫里。

      拉取大文件

      用了 Git LFS 之后,倉庫里保存的大文件(比如 .pt)在普通 git clone 的時候只會看到一個 指針文件(幾十字節(jié),記錄了真實文件在 LFS 存儲里的位置)。

      要把大文件本體下載下來,必須要安裝過 Git LFS

      具體情況

      • 如果機器上沒裝 Git LFS:clone 下來后,大文件就是“指針文件”,打不開、用不了。
      • 如果機器上裝了 Git LFS:clone 時會自動替換成真正的大文件。
      • 如果已經(jīng) clone 過但大文件沒拉下來:可以手動執(zhí)行:git lfs pull

      所以通常項目 README 里會寫一句提示:

      ## 注意
      
      本項目使用 [Git LFS](https://git-lfs.github.com/) 管理大文件(模型權(quán)重等)。
      
      請先執(zhí)行:
      
      ```bash
      git lfs install
      git lfs pull
      ```
      

      小結(jié)

      這次折騰 GitHub 大文件問題,其實給了我?guī)c啟發(fā):

      1. GitHub 的限制:超過 100MB 的文件是絕對過不去的,別想著強行提交。
      2. Git LFS 的價值:官方解決方案簡單好用,但免費額度很摳,適合小規(guī)模文件管理。
      3. 替代方案:如果模型文件動輒幾百 MB,推薦放在 HuggingFace、OSS、百度網(wǎng)盤等專門的存儲平臺,再在代碼里提供下載腳本或鏈接。
      4. 最佳實踐:代碼就是代碼,模型就是模型,別混著提交;把倉庫保持干凈,后期協(xié)作和部署都省心。

      簡單一句話總結(jié):學會用 Git LFS,能應(yīng)急;但別把它當免費網(wǎng)盤用。

      另外,再多嘴一句:這個項目看著就像典型的“大學生作業(yè)倉庫”——代碼像屎山,模型直接丟進 git 里,八成還是教授一拍腦袋甩給研究生的“科研成果”。說實話,能跑起來已經(jīng)算奇跡了 ??。

      posted @ 2025-08-28 09:28  程序設(shè)計實驗室  閱讀(382)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 麻豆亚洲自偷拍精品日韩另| 九九热在线观看精品视频| 欧美喷水抽搐magnet| 久久99日韩国产精品久久99| 国产精品久久久久久久网| 亚洲精品专区永久免费区| 成在线人视频免费视频| 色猫咪av在线观看| 欧美综合自拍亚洲综合图| 亚洲国产免费图区在线视频 | 精品亚洲一区二区三区在线播放 | 天堂网国产| 桃花岛亚洲成在人线AV| 老熟妇欲乱一区二区三区| 阳东县| 久久精品99国产精品日本| 亚洲国产欧美一区二区好看电影| 久久香蕉国产亚洲av麻豆| 蜜桃av一区二区高潮久久精品| 日本欧美大码a在线观看| 色综合一本到久久亚洲91| 久久99亚洲网美利坚合众国| 国产成人精品亚洲资源| 国产精品日日摸夜夜添夜夜添无码| 成熟妇女性成熟满足视频| 亚洲高清国产自产拍av| 亚洲18禁一区二区三区| 2021精品亚洲中文字幕| 国产免费午夜福利在线播放| 99精品热在线在线观看视| 亚洲综合国产一区二区三区| 国产精品午夜福利在线观看| 国产精品亚洲一区二区z| 亚洲中文字幕日韩精品| 扒开女人内裤猛进猛出免费视频| 激情国产一区二区三区四区| 国产二区三区不卡免费| 国内精品视频一区二区三区八戒| 国产精品综合av一区二区| 99久久精品免费看国产电影| 国产男女猛烈无遮挡免费视频|