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

Uploaded CPython 3.11Windows x86-64

phm_algo_ias-1.5.4-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.4-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.4-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.4-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.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for phm_algo_ias-1.5.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fb0b6bbcb9e7cee34cb6e9fd6158b2b830b48e4320003f41743cc1cebf748c39
MD5 23cdb47c1423a311907f3ca615dff3a1
BLAKE2b-256 6e78e740825a0bb83b0719050da2a887399497528751ccd0417baf55b5529190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 04382a79ca7a1f2f99574ca6924a1b624d1d9163d7368827192a9c2b24577fdc
MD5 a4b049f7a4dd922fa072c3419e5bdcc8
BLAKE2b-256 07ccfd6b9e8a8d51b90c5b2d066ccbdaea5132c863970e608635e12dec21a2bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.4-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 48d756c5048ec388daaf53239ea8edbf1fc671e9a7eeb17dd5721021635f8abf
MD5 e97f5975b67455430bfd5460e75a07ca
BLAKE2b-256 ab9721100dcc0d928d934d12dc86b5b3302a231547155790172efd3f090bf4c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8021d621111be37e831576b38d097c202a75ce5c9d38bff2a746bbeba571bd98
MD5 deea07ea8806921109a2cbf30e6d88b5
BLAKE2b-256 11e2f4fc2ad9f81c9f8253dfb1e4a3f82f535466f2384f109678327a833ddf97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.4-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d500a7794450aa87347ae9fa55f301f576d53d839f03999fffbb85cec6407a3
MD5 f2ea7ecc58a1a137bc4c9345c1a50474
BLAKE2b-256 d18618893f79d19613328a3bd79224f442b11d5ab5b8ccebfa9a159af7de1b5e

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