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.3-cp311-cp311-win_amd64.whl (275.2 kB view details)

Uploaded CPython 3.11Windows x86-64

phm_algo_ias-1.5.3-cp311-cp311-musllinux_1_2_x86_64.whl (481.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

phm_algo_ias-1.5.3-cp311-cp311-musllinux_1_2_aarch64.whl (430.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

phm_algo_ias-1.5.3-cp311-cp311-manylinux_2_28_x86_64.whl (477.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

phm_algo_ias-1.5.3-cp311-cp311-manylinux_2_28_aarch64.whl (429.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 278ad227a3ff14db8cca84a0410b243c1865c0b7a30f8c544e307436a8139e49
MD5 bfbd617eb2df4810e2b793d45471d8a2
BLAKE2b-256 d669523f0c513dd1ad4ed3ce70f98ddf519d2c8f039027d3cf5d300943ce3ffb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 97a53eaef81973a35ebeccc228c47e5bc1c18b285c934169f20d0f8a93ae8b8c
MD5 7805a1381870625ed349e188eec18b5a
BLAKE2b-256 164ae694b0540523ef8090f32d8d9a7556d615e30e1fedd63acf68c037795927

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d68b70f3516672c26e8e9d563e50014238cf3960024b0c632f60ed95629121c6
MD5 e26de1172edb49e02cc288887d87b49c
BLAKE2b-256 2f852e7c5edcb829f9740a9bab91d1d400932e74e5c51bdb2ecb1c8f373a1a7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8a5dd67ca0774b9ac1fd4ec5897d90871ad0309a1bb77d3c0d312ff2e4dbf80
MD5 90a5fd732c1447243f18b93d14ed9657
BLAKE2b-256 15ab55dd53cefb3fd46fcee7e1868be0d19fc944c4a8e165755fbb1296ae8bda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.3-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c18a3bdec6bf9c79bc41ca61ef7606404249860518a77c8772eb76270142aa8
MD5 83388ee4747f2bae165b35fdb3c03a53
BLAKE2b-256 c3d3bb788d21e055c551f50ed70d4b5b22451d715c37a2b9a7b8304a7a52dabd

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