所以在我移除掉一直發送通知、讓我更加難以集中注意力的各種 SNS Apps 後,我索性打算連 SNS Web sites 也暫時不碰了。
分類: General
-
接下來想做的事情
卸下 “Professional Android App Development” 這虧錢又讓自己不愉快的定位後,我接下來想做的事情有:
- 打造一個不被 Apple FindMy 或 Google Find Hub 特規綁死、開放規格的失智症患者協尋的無線電網路。
- 承上,利用低功率長距離技術與感測器在容易塞車的點(平交道、百貨公司、夜市、風景區…)即時提供改道建議。
- 先從打造一台多旋翼無人機開始,做 robotics 相關研發。
- 學習自行車手編輪與氬焊,做個性化自行車改裝、維修。(這個到後來會需要有廠房)
- 把 nostdlib.cc 做起來。(圖書館學、資訊社會學主題媒體)
- 客製寵物傢俱。
行有餘力的話:
- 考日檢、領隊執照。
- 在 postmarketOS 上製作輸入法編輯器。
-
樸實注音鍵盤 3.4.0 版釋出&調整開發步調
3.4.0 版最大的更動,是把長期使用下來最後一個連自己也覺得困擾很顯著(特別是在輸入 TOTP 驗證碼時)的毛邊打磨掉:在輸入數字時,應該自動切換到英數鍵盤。
至此我覺得我對樸實注音鍵盤沒有什麼需要再打磨的了。
當然想提 issue 的人還是可以提 issue,但是我不會再像過去那般積極、燃燒熱血卻在「健康且有文化的最低限度生活」這點難以為繼,除非是影響可用性幅度極大的、或攸關資訊安全的 issue。
且說到我這麼勤於更新,結果還有這麼多人死守在一個一季之前的舊版本,我是為誰辛苦為誰忙?其實在某個時間點,這個軟體的功能就已經能滿足很多人了,近期做的一些改動,甚至只是滿足單一用戶的特異環境需求,連我自己都用不到。
看到這裡你可能會想問:「115 人很多?」是的,很多,因為我經營這個專案這麼久,也才 2,000 出頭的安裝數而已。
如果不是手機王的那篇報導,樸實注音鍵盤的安裝數甚至是直接砍半的。
不,我不是在抱怨說我的 App 沒人用,而是我拿出真本事、真工夫,努力了這麼久,卻也失業了這麼久,什麼六度分隔理論、社群的力量、talk is cheap, show me the code,好像對我都沒有了效力。
所以我決定去做別的事情了。
-
TensorFlow 使用 CPU 加速指令集 (e.g. AVX-512) 的自訂編譯
This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE3 SSE4.1 SSE4.2 AVX AVX2 AVX512F AVX512_VNNI AVX512_BF16 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.使用 pip 直接從 Python Package Index 安裝 TensorFlow,之後 import 時,會冒出上面這則提示。
我目前使用的 CPU 是 AMD Ryzen 5 8500G,雖然內建的 GPU 不在 TensorFlow 支援之列(更嚴謹地說,是不在 AMD ROCm 框架支援之列),但是既然 CPU 有 AVX-512 指令集可用,那聊勝於無、不用白不用。
但是為了要啟用 AVX-512,就得自己編譯 TensorFlow,並指定需要的編譯旗標。
網上不少過時、無效的指引,這篇也不知道何時會過時、無效,純粹做個筆記。
- 用 virtualenv 安裝目前 TensorFlow 支援的 Python 3.12 版本(發文當下 Python 最新正式版是 3.13,不過 TensorFlow 還不支援)。裝好後,在 terminal 下啟用 (activate) 這個 virtualenv。
- 裝 LLVM & Clang 17(是的,發文當下 TensorFlow 也只支援 Clang 17 版)
- 裝 patchelf
- 裝 Bazelisk 這個 TensorFlow 使用的建置系統 Bazel 的版本管理器兼指令 wrapper(有點拗口?)
- 下載 TensorFlow 原始碼
- 找一處容量比 OS 預設的 /tmp(暫存檔專用目錄)更充裕的地方,建個目錄,設定
export TMPDIR=$PWD
,不然最後在打包 wheel package 階段,會因為 /tmp 容量不足而失敗 - 進到 TensorFlow 目錄下,執行
./configure
回答幾個配置問題,如果前面幾點都有妥當安裝配置好,應該是一路 Enter 使用偵測到的預設值即可 - 執行
bazelisk build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu --copt="-march=native"
讓它建置出「偵測到可用、但預設未啟用」(如原始訊息所示)的那些 CPU 加速指令集的 TensorFlow,這步驟需要一點時間。 - 順道一提,如果好奇
-march=native
背後做了哪些工,可以跑bash -c 'echo | clang-17 -E - -march=native -###'
(如果缺乏這樣的好奇心,我覺得也…沒事) - 先解除安裝既有的 TensorFlow,改安裝剛剛建置好、產出的 wheel package:
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow_cpu-2.20.0-cp312-cp312-linux_x86_64.whl
之後
import tensorflow as tf
時,理應就不會看到最上面那段訊息了。