- ZSD-YOLO:2021
- YOLO-World:2024
其中 YOLO-World 又有 demo,所以就在 DGX Spark 上 setup 起來試試看。
GB10 的Cuda 有些限制,所以做了些修改才能 run,所以記錄在 GB10_SETUP.md 上。
demo 是用 gradio,上傳照片,promt 寫要偵測的東西,result 就是 object bounding box.
說明如何在 Raspberry Pi 4 環境下,透過 NetworkManager 將無線熱點設定為 5GHz (802.11ac) 模式。
執行以下指令確認無線網卡支援 5GHz 頻段:
iw list
輸出內容若包含 Band 2 相關資訊,即代表硬體支援。
假設既有的熱點連線名稱為 wifi-ap。若要切換至 AC 模式,必須指定頻段與頻道。
將 wifi.band 參數設定為 a,這代表強制使用 5GHz 頻段。
sudo nmcli connection modify wifi-ap wifi.band a
建議手動指定一組非 DFS 頻道 (例如 36, 40, 44, 48) 以加速啟動時間。
sudo nmcli connection modify wifi-ap wifi.channel 36
重新啟動連線以生效設定:
sudo nmcli connection up wifi-ap
使用以下工具檢視目前的運作頻率與頻寬:
iw dev wlan0 info
正確範例輸出:
channel 36 (5180 MHz), width: 20 MHz
若顯示頻率為 5000 MHz 以上 (例如 5180 MHz),且用戶端連線速率超過 72 Mbps,即確認已運作於 802.11ac 模式。
使用 NetworkManager 建立熱點時,預設會鎖定頻寬為 20 MHz。雖然運作於 5GHz 頻段,但最高理論速率限制約為 86.6 Mbps。此設定是為了確保最高的裝置相容性與連線穩定度。
另外使用nmcli設定完,nmcli會自動更新 /etc/NetworkManager/system-connections/ 目錄下的 .nmconnection。 讓設定永久保存。
Language server killed with signal SIGILL找到一個很像 language server 的 : ./bin/94...af/extensions/antigravity/bin/language_server_linux_arm
~/.antigravity-server $ ./bin/94f...6af/extensions/antigravity/bin/language_server_linux_arm --version Illegal instruction所以用 gdb 來看,用這些參數:
* `-ex "run"`: Tells GDB to start the program immediately.
* `-ex "x/i \$pc"`: This is the most important part.
* x = Examine memory.
* /i = Format the output as a CPU instruction.
* $pc = Look at the Program Counter (the exact address where the CPU stopped because of the error).
* `-ex "bt"`: Generates a Backtrace to show the function call stack leading up to the crash.
* `--batch`: Runs GDB in non-interactive mode and exits once the commands are finished.
* `--args`: Allows you to pass the binary path and any flags it needs (like --version).
結果
~/.antigravity-server $gdb -ex "run" -ex "x/i \$pc" -ex "bt" --batch --args ./bin/94...6af/extensions/antigravity/bin/language_server_linux_arm --version [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. 0x000000555d5426ac in ?? () => 0x555d5426ac: ldaddal x8, x8, [x9] #0 0x000000555d5426ac in ?? () #1 0x0000007ff7fc1cdc in ?? () from /lib/ld-linux-aarch64.so.1 #2 0x0000007ff7fd83a0 in ?? () from /lib/ld-linux-aarch64.so.1所以是 ldaddal
在沒有顯示器與鍵盤的情況下(Headless 模式),可以透過在 SD 卡的 boot 分割區中建立特定檔案,來完成系統初始化設定。
在 boot 分割區的根目錄下,建立一個檔名為 ssh 的空白檔案(不含任何副檔名)。系統在開機過程中偵測到此檔案後,會自動啟動 OpenSSH 服務並在完成後移除該檔案。
自 Raspberry Pi OS 更新後,預設不再提供預設的 pi 使用者。必須手動建立 userconf.txt 檔案來定義使用者資訊。
在 boot 分割區根目錄下建立名為 userconf.txt 的純文字檔案,其內容格式如下:
使用者名稱:加密後的密碼字串產生加密密碼字串的參考指令(以 Linux 系統為例):
echo -n "你的密碼" | openssl passwd -6 -stdin範例檔案內容:
charles-chang:$6$0k2ljc4fIQEb9rWU$fo9gJ10kBqy7dcrJqj41W3ENmKVcIBRzeazsRSAqtqadQodTZRETA5LsTjb3TfjyafIOuRfNE8QNNDFmwBrr11將設定完成的 SD 卡插入樹莓派並連接乙太網路線後送電開機。待系統啟動完成後,即可透過 SSH 客戶端連線。連線指令如下:
ssh charles-chang@raspberrypi.local或者使用分享器分配給樹莓派的 IP 地址進行連線。
首次登入後,建議立即執行 passwd 指令更換初始密碼,以確保系統安全性。
方法一:使用 PowerShell 檢查 SSH 服務
1. 開啟 PowerShell (以系統管理員身分執行)
2. 輸入以下指令檢查 SSH 相關服務:
Get-Service -Name *ssh*
3. 檢查 sshd 服務狀態,若狀態為 "Running" 則表示服務已啟動
方法二:使用命令提示字元檢查
1. 開啟命令提示字元 (cmd)
2. 輸入以下指令:
3. 檢查 SSH 服務詳細狀態:
方法三:檢查 SSH 服務監聽的連接埠
1. 在命令提示字元中執行:
2. 若有顯示 "LISTENING" 狀態,表示 SSH 服務正在監聽連接埠 22
確認 SSH 服務正在運行後,您就可以使用 SCP 命令來傳輸檔案:
scp file user-name@ip:/path/
注意:請確保防火牆允許連接埠 22 的流量,並有正確的使用者帳號與密碼。
triton.runtime.errors.PTXASError: PTXAS error: Internal Triton PTX codegen error `ptxas` stderr: ptxas fatal : Value 'sm_121a' is not defined for option 'gpu-name'transformers calling 順序
gpt-oss-120b (uses MXFP4 quantization) ↓ transformers (loads model) ↓ kernels package (provides MXFP4 Triton kernels) ↓ Triton (compiles GPU kernels at runtime) ↓ ptxas (NVIDIA's PTX assembler, bundled with Triton) ↓ ❌ Doesn't recognize sm_121a (Blackwell)然後 ptxas fatal : Value 'sm_121a' is not defined for option 'gpu-name' 說:
The issue should be fixed by using PTXAS shipped with CUDA 13. Try setting TRITON_PTXAS_PATH to /usr/local/cuda/bin/ptxas etc.所以看 python 自己的 triton ptxas 版本:
$ ./lib/python3.12/site-packages/triton/backends/nvidia/bin/ptxas --version ptxas: NVIDIA (R) Ptx optimizing assembler Copyright (c) 2005-2025 NVIDIA Corporation Built on Fri_Feb_21_20:22:20_PST_2025 Cuda compilation tools, release 12.8, V12.8.93 Build cuda_12.8.r12.8/compiler.35583870_0系統的:
$ ptxas --version ptxas: NVIDIA (R) Ptx optimizing assembler Copyright (c) 2005-2025 NVIDIA Corporation Built on Wed_Aug_20_01:53:56_PM_PDT_2025 Cuda compilation tools, release 13.0, V13.0.88 Build cuda_13.0.r13.0/compiler.36424714_0所以依照說明宣告PATH 之後,GB10 就可以用 transformers正常的支援 gpt-oss:120b 的 MXFP4 了。
export TRITON_PTXAS_PATH=/usr/local/cuda/bin/ptxas
Python.h)。sudo apt install python3-devTriton 套件內建的 ptxas (PTX 組譯器) 版本太舊,不認識最新的 Blackwell GPU 架構代號 sm_121a。
相關 GitHub Issue: triton-lang/triton#8539
export TRITON_PTXAS_PATH=/usr/local/cuda/bin/ptxas
python llmchat.py或使用啟動腳本 run_chat.sh 自動設定此環境變數。RuntimeError: Tensor on device meta is not on the expected device cuda:0!當使用 device_map="auto" 載入大型模型時,accelerate 套件會使用「meta device」作為權重的佔位符號,延遲載入實際資料。
在 MXFP4 量化與 DGX Spark 的組合下,部分權重 (特別是 MoE router) 可能未能正確從 meta device 轉移到 CUDA device,導致運算失敗。
self.model = AutoModelForCausalLM.from_pretrained(
self.model_id,
torch_dtype=torch.bfloat16, # 使用明確的資料型別
device_map="auto",
low_cpu_mem_usage=False, # 停用延遲載入
)