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

Uploaded CPython 3.11Windows x86-64

phm_algo_ias-1.5.6-cp311-cp311-musllinux_1_2_x86_64.whl (499.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

phm_algo_ias-1.5.6-cp311-cp311-musllinux_1_2_aarch64.whl (445.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

phm_algo_ias-1.5.6-cp311-cp311-manylinux_2_28_x86_64.whl (496.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

phm_algo_ias-1.5.6-cp311-cp311-manylinux_2_28_aarch64.whl (444.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1a5dfd7e3c76c085c92465b8a62ff11580851cc94a14b6d953f3b87576edcfc0
MD5 08d1e6dac88b577b7cdcc3e10e5901f5
BLAKE2b-256 c9e88fc0172414cb064361133a21504f0da985dc2e5fe460da38c989f080e3aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c0e63baf4923f1f5b8f1401bedb15187b2dc5333a2379ac9b9b81d5f863947b
MD5 2f0faca0a5efe6330d47b8d449663e79
BLAKE2b-256 59c6790af784270251138c0ef15bc6e95d90780730637386a9c5782dde982607

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.6-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fb74421c1c45e93eacd4ce2abd94138f32508396900ccab726f81b4654fae767
MD5 461c35e87075ef96fefac01f499118b3
BLAKE2b-256 e8ffae958fb5cf315a50ff162d3ddef9e1040b26ae40d0ec05fec9d157e935d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.6-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bed244876d3784c60bd184cf2880acbddc660e55fdf7743c21eca1e0d34d9f0d
MD5 92e46159ab28ed61eb3358b249e85bf7
BLAKE2b-256 f6ed80655bf758740f09b9aa60508433ca3d869f7e7b25c7b5a130dd316480df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for phm_algo_ias-1.5.6-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 25961fa4bc4a79769f0f155561ac7a39ac9ab610e39499527e406788e66da063
MD5 c4e3227da8fbce12f8ea33dcdc59ac4b
BLAKE2b-256 5f1bc11f483c8a9afdad5158eac4669d9fe68aa95af1f2ee3c37911ae4b7b147

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