You need to agree to share your contact information to access this dataset

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this dataset content.

Roles

Roles: canon repo — annot is the source label, kept machine-parseable as the gold for verification and reward parsing; there is no filled reasoning column and this repo is not itself a training view. Derived repos each state their own regime on their own card.

IMS / NASA-Bearing — fault classification from the envelope spectrum (reasoning track)

Second signal dataset in the AI4Manufacturing FORGE corpus (Category C, task T-C1), from three run-to-failure experiments. Each record is the envelope spectrum of a 1 s vibration window with fault frequencies marked — the representation for faithful compute-then-check CoT. reasoning is empty; the IMS-annotated sibling fills it.

Records: 542 (splits {'train': 434, 'test': 108}); labels {'normal': 195, 'inner_race': 36, 'ball': 30, 'outer_race': 281}; evidence_tier {'confirmed': 542}.

Schema (7-field unified record)

field meaning
query the classification instruction (one of 30 deterministic paraphrases per representation)
image the rendered signal image (bytes embedded)
annot gold fault class: normal / inner_race / outer_race / ball
reasoning chain-of-thought (empty here; filled in the -annotated sibling)
cate / task C / T-C1 (signal fault classification)
metadata JSON string: representation, set, timestamp, time_frac, channel, bearing, bearing_group, rpm, fs, fr_hz, features, fault_freqs, computed_verdict, computed_snr, evidence_tier, line_evidence, image_sha256, split

Figures (style pool)

The spectra in this repo come from the figure-style pool: each record is drawn in one of 11 styles. What the style varies: colours, canvas, title placement and presence, tick spacing and minor ticks, grid, spines, fill, the fault-frequency marker drawn as a line or as a band, label placement and orientation, one colour per family plus a legend, font family, scientific notation, and tick direction. The style is picked by sha256("figstyle|" + image_path) % 11 -- deterministic, reproducible, and drawn independently of the opener / knowledge / skeleton pools.

What never varies is the content: the curve; the plotted band; which lines are marked (six on these figures -- the four families plus 2xBPFO and 2xBPFI); and the y-limits, autoscaled once per record and reused by every style, so a peak is the same height whichever style drew it. No threshold bar and no noise-floor line is ever drawn, and no marker is styled differently for being the answer. The point is that a model cannot pass by memorising one house plotting style. The -perception repo's images are unchanged.

Three things made these figures and no single pin covers all three, so provenance.json carries one for each:

  • Signals and manifest -- forge_agent 0574e0e25d.
  • The curve and the producer's plotting parameters -- forge_agent 733a683. This pin fixes what is plotted; it does not produce the image bytes below.
  • The published image bytes -- figure_manifest_sha256 = 203e42bb5cd0491fa8a61faf569d0891c3f44db62d5b3b07b2961571e791c2db, the roll-up of one sha256 per image across the whole style pool. The style layer that draws them (_figstyle_corpus/_src/style_pool.py) lives outside this repository and is not under version control, and the pool has been re-rendered since the commit above -- so this checksum, not a commit, is what identifies these exact images.

Provenance & reproducibility

Generated deterministically by forge_agent/examples/ims/convert.py (0574e0e25d) → forge_model/IMS/convert_ims.py (4b4cda0231); see provenance.json.

Gold = the documented end-state defect (readme / manufacturer teardown): Set 1 → bearing 3 inner-race + bearing 4 roller(ball); Set 2 → bearing 1 outer-race; Set 3 → bearing 3 outer-race. normal = the early files of each run; fault = the late files of the failed bearing (per-set window from the degradation onset). A computed evidence_tier (confirmed/weak/absent) flags detectability.

Caveats

  • Evidence-gated, conflict-free release — every image supports (and never fights) its label. IMS faults are WEAK run-to-failure signatures (the dataset's own reference paper, Qiu/Lee/Lin JSV 2006, studies weak-signature detection), so we curate by a computed evidence_tier: the spectrum/reasoning track keeps only confirmed records (the label-independent envelope-spectrum detector independently finds the documented fault → faithful compute-then-check CoT); the perception tracks keep confirmed + non-conflicting weak — weak records where the detector confidently found a different pattern than the gold are dropped (notably ball windows scoring as cage: ball faults are cage-modulated, so the single-label gold and the detector legitimately disagree there).
  • inner_race is the scarce class — excluded from the first release, REINSTATED here. The original band-limited detector confirmed only ~8 inner-race spectrum windows ("too few to form a class"); the current full-band demodulation search recovers IMS's weak Set-1 signature and confirms 36 windows — more than the published ball class (30) — so the same evidence standard that excluded it now reinstates it. It remains the weakest class: ~78% of its raw windows are absent-tier (dropped per-record by the gate), and Set 1 ran two degrading bearings (inner-race B3 + ball B4) on one shaft. outer_race (Sets 2-3) is the clean, strong class.
  • Few distinct bearings — each fault class comes from one run-to-failure bearing, so a strict bearing-wise split is impossible within a class; the split is file-stratified. Treat cross-bearing generalization claims with care.

Source & license

Source: IMS / NASA-Bearing — NSF I/UCR Center for Intelligent Maintenance Systems (imscenter.net) with Rexnord Corp.; three test-to-failure runs on Rexnord ZA-2115 bearings at 2000 rpm. Reference: H. Qiu, J. Lee, J. Lin, J. Sound and Vibration 289 (2006) 1066–1090. Distributed via the NASA Prognostics Data Repository.

Overlap / de-duplication (§8)

Cross-family evaluation lock — metadata.eval_lock (stamped 2026-09-20; manifest revision fe6e286912b0, generated 2026-09-08). Every record of this repository, locked or not, carries metadata.eval_lock, computed by forge_model/common/overlap.py::Overlap.stamp_for against common/overlap_manifest.json at that revision — so within this repository the absence of the key cannot occur. Shape: {"locked": bool, "against": [{"repo": …, "split": …}, …], "own_split": …, "manifest_revision": …, "manifest_generated": …}. locked is true when the image is evaluation material anywhere in the corpus; against names every repository and split in which it is (sorted; [] when not locked; it includes the record's own family where that is so); own_split marks a record locked by its own split. The per-record field is the authority — the count here is quoted once, at this revision, and a later manifest may change it: 108 of 542 records (108 distinct images) are locked — by column: 0 by the cross-family manifest, 108 by their own split, 0 both ways and counted once; counterparts (records per counterpart; a record can appear under several): none — every lock here is by the record's own split; 108 locked by their own split: test. In words: 108 of the 542 records in this repository are evaluation material by their own metadata.split (test: 108) and sit inside the HF split named test / train — under the uniform-split convention the HF split name is a container name, and metadata.split together with metadata.eval_lock carries the truth; a train pool must exclude them. A stamp whose manifest_revision differs from the current manifest is stale, not wrong — recompute it (Overlap.stamp_is_current); a record with no stamp has not been checked against the corpus as it now is. Overlap.partition / assert_train_pool_clean read the field: a train pool built from this repository must exclude every locked record.

Downloads last month
140