
safetensors 跨平臺張量存儲與部署1 個文件在 Windows、Linux、macOS 之間通用【免費下載鏈接】safetensorsSimple, safe way to store and distribute tensors項目地址: https://gitcode.com/GitHub_Trending/sa/safetensors模型在 Linux GPU 服務器上訓練完發版前要在 Windows 筆記本上做一輪推理驗證。用 pickle 搬運權重得擔心版本不匹配和任意代碼執行風險換成 safetensors——跨平臺張量存儲格式——同一個文件在三臺機器上直接可用加載時不復制數據加載代碼也完全一樣。三平臺安裝速查平臺最簡安裝命令最常見的一個坑Windowspip install safetensors想從源碼編譯卻沒裝 Visual Studio Build ToolsLinuxpip install safetensors缺 build-essential編譯時報找不到 gccmacOSpip install safetensors系統 Python 無寫權限報 Permission denied注pip 默認下載的是預編譯的 wheel已編譯好的二進制包上表命令在三臺機器上通用。只有從源碼編譯時才需要先裝 Rust 工具鏈并把 cargo 加入 PATH。跨平臺加載模型的最小代碼import torch from safetensors.torch import save_file # 保存入口 from safetensors import safe_open # 加載入口按上下文打開文件 tensors {w: torch.zeros(1024, 1024)} # 示例張量 save_file(tensors, model.safetensors) # 寫盤頭部 數據緩沖區 with safe_open(model.safetensors, frameworkpt, devicecpu) as f: for key in f.keys(): # 遍歷頭部里的全部張量名 print(key, f.get_tensor(key)) # 讀取時不復制數據這段代碼在三平臺上原樣可用。文件格式統一為 JSON 頭部 二進制數據緩沖區字節序統一為小端序——即低位字節排在內存前面的存儲方式——任何一臺機器存出的文件在另一臺機器上按同一套規則解析即可。踩坑實錄Windows 上看到 Microsoft Visual C 14.0 or greater is required原因是你在從源碼編譯而機器上沒有 C 構建工具。解法安裝 Visual Studio Build Tools 并勾選桌面 C 開發組件不想編譯的話跑pip install safetensors直接用預編譯包即可繞開。Linux 上看到 No such file or directory: gcc 或 command cc failed原因是缺少基礎 C/C 構建環境。解法Ubuntu/Debian 跑sudo apt install build-essentialCentOS/RHEL 跑sudo yum groupinstall Development Tools。macOS 上看到 Permission denied原因是系統 Python 目錄沒有寫權限。解法跑pip install --user safetensors或者先用 venv/conda 建隔離環境再裝后者更干凈。同一文件在生成端能讀、在目標端報錯原因是兩端 safetensors 版本不一致。解法各節點跑pip show safetensors核對版本號對齊后再部署。部署前檢查清單每個節點跑pip show safetensors確認版本號一致文件搬運后核對大小與源端一致防止傳輸截斷先在同版本環境用 CPU 試加載再進 GPU 推理鏈路用 venv/conda 隔離環境不混用系統 Python加載后抽查一個張量的 shape 與數值別只看沒報錯【免費下載鏈接】safetensorsSimple, safe way to store and distribute tensors項目地址: https://gitcode.com/GitHub_Trending/sa/safetensors創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考