Example algo package with Cython-compiled submodules
Project description
應用場域
| 機台種類 | 特徵採用 | ||
|---|---|---|---|
| 固定式轉動機械 | 時域、頻域、fail mode | ||
| 非固定式轉動機械 | 時域、頻域 |
參數列表
| 演算法功能 | 建模參數 | 適用機械 | 客戶、用途 | |
|---|---|---|---|---|
| 0.1 | DEMO_1 (每分鐘訓練以及推論) | "0, 0, 1, 1, 2, 1, 1, 1" | 固定式轉動機械 | DEMO (Segmentation) |
| 0.2 | DEMO_2 (時窗=60s, step=30s做訓練以及推論 ) | "0, 0, 1, 1, 2, 1, 1, 4" | 固定式轉動機械 | DEMO (Rolling) |
| 0.3 | DEMO_1 (每分鐘訓練以及推論) | "0, 0, 1, 2, 2, 1, 1, 1" | 非固定式轉動機械 | DEMO (Segmentation) |
| 0.4 | DEMO_2 (時窗=60s, step=30s做訓練以及推論) | "0, 0, 1, 2, 2, 1, 1, 4" | 非固定式轉動機械 | DEMO (Rolling) |
| 1-1 | Rolling 一般建模 (時域、頻域、fail mode) | "1, 0, 1, 1, 2, 1, 1, 3" | 固定式轉動機械 | |
| 1-2 | Rolling 一般建模 (時域、頻域) | "1, 0, 1, 2, 2, 1, 1, 3" | 非固定式轉動機械 | KDY、USUN、南科TSMC |
| 2-1 | 快速建模-暫態 (頻域) | "1, 0, 1, 2, 2, 1, 1, 2" | 非固定式轉動機械 | 南科TSMC |
| 2-2 | 快速建模-穩態 (頻域) | "1, 0, 1, 2, 2, 1, 1, 3" | 非固定式轉動機械 | 南科TSMC |
參數意義
| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 1. 時間長度設定 | min | hour | |||
| 2. 測試資料群值處理 | close | open | |||
| 3. 低解析度特徵篩選 | close | open | |||
| 4. 特徵選擇 | Time, Frequency, fail mode | Time, Frequency | Frequency | ||
| 5. Scale | df_scaled = df | Standardize() | minmax() | ||
| 6. 模型 | PCA + T² | ||||
| 7. rul_deadline | T² + 12 * σ(T²) → Score | Warning: T² + 24 * σ(T²) → Score rul_deadline = 0 |
|||
| 8. feature_extraction_setting | 每小時取特徵 小時不足1800筆則刪除 |
依資料進行rolling計算 Window = 120s Step = 60s (暫態) |
Rolling計算 Window = 3600s Step = 1800s (穩態) |
Rolling計算 Window = 60s ,Step = 30s |
error_stage列表
| Training | error_stage | 程式步驟 |
|---|---|---|
| Error_01 | df 轉換成每秒一筆資料 | |
| Error_02 | 出廠設定參數 | |
| Error_03 | 前處理 | |
| Error_04 | 特徵分類/挑選 | |
| Error_05 | 低解析度特徵篩選 | |
| Error_06 | 特徵萃取 | |
| Error_07 | 資料正規化 | |
| Error_08 | 建模 | |
| Error_09 | RUL 計算 |
| Inference | error_stage | 程式步驟 |
|---|---|---|
| Error_01 | df 轉換成每秒一筆資料 | |
| Error_02 | 檢查資料筆數 (是否<301) | |
| Error_03 | 出廠設定參數 | |
| Error_04 | 前處理 | |
| Error_05 | 特徵萃取 | |
| Error_06 | 資料正規化 | |
| Error_07 | 計算 HI & T2 & 嫌疑度變量 |
產生 whl 檔案
本專案使用 pyproject.toml 搭配 setup.py 進行打包,setup.py 會透過 Cython 將 algo package 內的 Python 模組編譯後放入 wheel。
本機產生 wheel
建議使用 Python 3.11 環境,並先安裝建置工具:
python -m pip install -U pip
python -m pip install build setuptools==80.9.0 wheel==0.45.1 Cython==3.1.3 setuptools-scm
確認目前 git tag,例如:
git describe --tags --abbrev=0
產生 wheel:
SETUPTOOLS_SCM_PRETEND_VERSION=1.5.2 python -m build --wheel
完成後,wheel 檔案會產生在:
dist/
SETUPTOOLS_SCM_PRETEND_VERSION請依實際要發佈的版本調整;若目前最新 tag 是v1.5.2,可填1.5.2。
產生 Linux manylinux wheel
專案內已有 build_multarch.sh,主要使用 cibuildwheel 建置 Linux wheel。若要手動建置,可參考以下流程:
python -m pip install -U pip cibuildwheel
export CIBW_ARCHS_LINUX="x86_64 aarch64"
export CIBW_BUILD="cp311-*"
export CIBW_MANYLINUX_X86_64_IMAGE="quay.io/pypa/manylinux_2_28_x86_64"
export CIBW_MANYLINUX_AARCH64_IMAGE="quay.io/pypa/manylinux_2_28_aarch64"
export CIBW_TEST_SKIP="*"
export CIBW_REPAIR_WHEEL_COMMAND='auditwheel repair --only-plat -w {dest_dir} {wheel}'
export CIBW_ENVIRONMENT='SETUPTOOLS_SCM_PRETEND_VERSION="1.5.2"'
cibuildwheel --platform linux
完成後,wheel 檔案會產生在:
wheelhouse/
注意:build_multarch.sh 最後包含 twine upload,會將 wheelhouse/* 上傳到 PyPI repository。如果只想產生 whl 檔案,請不要直接執行整支 build_multarch.sh,或先移除/註解最後的 upload 指令。
清理建置產物
若需要清理本機產生的 build artifact,可執行:
python setup.py clean
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phm_algo_ias-1.5.7-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: phm_algo_ias-1.5.7-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 288.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1a3127df69751363bba7d4bd21c0dddca5d80cd1c2b92b2d50963d60fe3863e
|
|
| MD5 |
5c1249792d4557a60fcaefe32df07279
|
|
| BLAKE2b-256 |
a0c141eacefec6e9640c673996152220628d866bfd89e582f67e16f85823d02c
|
File details
Details for the file phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 506.6 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09dfa416f2224973ba17dc3115d28ef145ac4418010f655b9129f4ba1a2aaf65
|
|
| MD5 |
b94feaca26704c9c7f42fa375db21d34
|
|
| BLAKE2b-256 |
2f32384d6371d95bfc31800f381b4fb939725b51dc0f6e1c68025f4b22162464
|
File details
Details for the file phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 452.2 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6336adae5fd4445e150e5442e5c428cbf56371fc4b8af813c5978b8272e7ef6
|
|
| MD5 |
29340f3e1e0024917e0091766bcf1437
|
|
| BLAKE2b-256 |
effa233836b598e643460f0ef5a2ee909e5dd670555adb2a1a6bd3bc33f43a2c
|
File details
Details for the file phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 503.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
defa49e52d5721691238f836212b36cd0ed7dc224e8b9e564a3a7d168ffea2f0
|
|
| MD5 |
2b8da9f7db78984a3464fc4629722399
|
|
| BLAKE2b-256 |
739ea4c63ccbd9be64e2081a63e3f2367400ee8b35f65edbafc5195f42309eee
|
File details
Details for the file phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 450.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ca0ea491fdd828519d2a71547324b3840be56282ed057578abf263bf5ec2c54
|
|
| MD5 |
f39bda610ae25014c83e8316e442f336
|
|
| BLAKE2b-256 |
1fb1798de3def26a36e088fb7fcbba0cd14cd56be28a17ac8c1081543b08dfea
|