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

Uploaded CPython 3.11Windows x86-64

phm_algo_ias-1.5.5-cp311-cp311-musllinux_1_2_x86_64.whl (483.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

phm_algo_ias-1.5.5-cp311-cp311-musllinux_1_2_aarch64.whl (432.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

phm_algo_ias-1.5.5-cp311-cp311-manylinux_2_28_x86_64.whl (480.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

phm_algo_ias-1.5.5-cp311-cp311-manylinux_2_28_aarch64.whl (431.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e59879edf7f8aba3fcd841133f678d8f0358170874725e0abd219e42db21e7a1
MD5 cee5d15c858b541de5b5225e0885aa21
BLAKE2b-256 a7b4fc1008c9575b155c3f16df48a8bf8ca9b3768553411b72ec8b5e965d1734

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3454b94f7d766a3425203d54184b69e1dcf5767c4801bff0edd84e204804c5a8
MD5 7399f751a2115c30626058ceb196cdaa
BLAKE2b-256 882557b53f2d86f328b7aa57ac6dff4ceeebcbb0877672bf59e2cf8194a71dd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 63ec02c6e9800960a06ad58ce779b6b1d4acfec9f495be77d59f7400e2e8dae1
MD5 9f52c61cdcb7fb093f4fb1499a5e69c1
BLAKE2b-256 86483d26e94e1903c5be6596c15c0e62ebd88e26a6aaeee80413ec0b646cd807

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b9b50ac15d4e8767e4d3c132e4436226f1ee7baee890205249ad0e11ad4aef23
MD5 5c74e1dc5677398b4b496c686bb53548
BLAKE2b-256 e86e02631c5f0088deea5be2ecd88bb3745ce963b6dbab12fe2a75f924d8e17a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.5-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0716d421751fce8ab214dbe9f929def98674a184e89f1a7e38ce6d94acbdd7ac
MD5 eaf08e365caa86e549dde0647d764ec7
BLAKE2b-256 4c515ef7e1e406935db3d093f99ac3735e7b67b338f4eb9089f9ed4c503ebde7

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