Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

phm_algo_ias-1.5.7-cp311-cp311-win_amd64.whl (288.8 kB view details)

Uploaded CPython 3.11Windows x86-64

phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_x86_64.whl (506.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_aarch64.whl (452.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_x86_64.whl (503.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_aarch64.whl (450.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

File details

Details for the file phm_algo_ias-1.5.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for phm_algo_ias-1.5.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e1a3127df69751363bba7d4bd21c0dddca5d80cd1c2b92b2d50963d60fe3863e
MD5 5c1249792d4557a60fcaefe32df07279
BLAKE2b-256 a0c141eacefec6e9640c673996152220628d866bfd89e582f67e16f85823d02c

See more details on using hashes here.

File details

Details for the file phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 09dfa416f2224973ba17dc3115d28ef145ac4418010f655b9129f4ba1a2aaf65
MD5 b94feaca26704c9c7f42fa375db21d34
BLAKE2b-256 2f32384d6371d95bfc31800f381b4fb939725b51dc0f6e1c68025f4b22162464

See more details on using hashes here.

File details

Details for the file phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for phm_algo_ias-1.5.7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e6336adae5fd4445e150e5442e5c428cbf56371fc4b8af813c5978b8272e7ef6
MD5 29340f3e1e0024917e0091766bcf1437
BLAKE2b-256 effa233836b598e643460f0ef5a2ee909e5dd670555adb2a1a6bd3bc33f43a2c

See more details on using hashes here.

File details

Details for the file phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 defa49e52d5721691238f836212b36cd0ed7dc224e8b9e564a3a7d168ffea2f0
MD5 2b8da9f7db78984a3464fc4629722399
BLAKE2b-256 739ea4c63ccbd9be64e2081a63e3f2367400ee8b35f65edbafc5195f42309eee

See more details on using hashes here.

File details

Details for the file phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for phm_algo_ias-1.5.7-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6ca0ea491fdd828519d2a71547324b3840be56282ed057578abf263bf5ec2c54
MD5 f39bda610ae25014c83e8316e442f336
BLAKE2b-256 1fb1798de3def26a36e088fb7fcbba0cd14cd56be28a17ac8c1081543b08dfea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page