Generalize architecture: remove hardcoding (e.g., "cwru") and make config-driven #4
Replies: 6 comments
|
Hii @TasfinMahmud , Can you take a look at this. This was the most severe enhancement we discussed. |
|
@abhiprd2000, I'll take this on! I’m going to dig through the codebase tonight to map out all the hardcodings. I’ll drop an inventory and a proposed config design here soon so we can align before I start touching the loaders. |
|
I’ve finished scanning the codebase. Here is the proposed YAML config structure to replace the hardcoding, followed by the inventory of files that need to be refactored. Proposed Config Structure (
|
|
The inventory looks comprehensive and matches the areas I expected to be dataset-specific. I have one architectural suggestion before implementation: let's avoid embedding bearing-specific concepts directly into the root config schema. Since the goal is a general industrial framework, I'd like the config to remain domain-agnostic where possible so future gearbox, motor, and process-monitoring datasets can plug in without schema changes. Adding configurable target columns and feature definitions would also help. If you're aligned with that direction, you can start with the config loader and dataset abstraction layer. For example see this section: This can still be assumed as a bearing hardcode. I would add something like Or Where later a user can customize according to need, like replacing bearing with gearbox. Another thing I'd request: Add And For example Which can make the api more simple and cleaner. Current refactor objective is to Move all dataset-specific assumptions (CWRU frequencies, taxonomies, RPM mappings, physics constants, labels, sampling rates) into the Configuration Layer and Dataset Abstraction Layer. All downstream layers should operate on a unified internal representation and remain dataset-agnostic and universal. |
|
@abhiprd2000, the flowcharts are a huge help. The shift to a live streaming architecture ( Decoupling the new ingestion buffer from the inference layers is exactly why we need this schema to be strictly domain-agnostic. By abstracting the sensor specifics (like the 12kHz rate and bearing physics) out of the core logic and into a generic I'll incorporate your structural feedback (adding |


Uh oh!
There was an error while loading. Please reload this page.
Background
The repository currently contains hardcoded values (for example: references to "cwru") that prevent the codebase from being reused with other datasets, organizations, or environments. This makes onboarding, testing, and deployment brittle and error-prone.
Goal
Generalize the project architecture and remove all hardcoding so the codebase is configurable and reusable across datasets/environments.
Scope / Acceptance criteria
Acceptance Tests
Estimate
All reactions