Skip to content

Commit 99ff61f

Browse files
committed
### Added
- Added compact direct-input fast path for non-vocab float tensors where the trailing feature dimension matches `len(input_ids)`, avoiding dense neuron-space expansion. - Added regression tests for compact input paths and single-step output scaling consistency. ### Changed - Optimized recurrent forward internals in `OdyssNet`: - lazy input-scale lookup in sparse legacy injection, - precomputed Hebbian row/diagonal factors, - correlation matrix computation switched from `einsum` to `matmul`, - skipped unnecessary Hebbian buffer clones in no-grad inference, - selective scaling applied only to output neurons. - Optimized `OdyssNetTrainer` data movement and AMP plumbing by caching device-type flags, using non-blocking tensor transfers, and reusing compact direct-input routing in both `train_batch()` and `predict()`. - Optimized `examples/advanced/experiment_financial_oracle.py` with vectorized split sampling, vectorized BTC overlay window normalization, pinned-memory GPU transfer path, reusable best-state snapshots, and downsampled workbench heatmap rendering. ### Fixed - Fixed single-step output scaling aliasing where scaled outputs could share storage with returned final state. - Fixed trainer single-step extraction to consistently use scaled last-timestep outputs.
1 parent fe07106 commit 99ff61f

10 files changed

Lines changed: 463 additions & 105 deletions

File tree

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,26 @@ All notable changes to OdyssNet will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

7+
## [2.4.1] — 2026-04-17
8+
9+
### Added
10+
- Added compact direct-input fast path for non-vocab float tensors where the trailing feature dimension matches `len(input_ids)`, avoiding dense neuron-space expansion.
11+
- Added regression tests for compact input paths and single-step output scaling consistency.
12+
13+
### Changed
14+
- Optimized recurrent forward internals in `OdyssNet`:
15+
- lazy input-scale lookup in sparse legacy injection,
16+
- precomputed Hebbian row/diagonal factors,
17+
- correlation matrix computation switched from `einsum` to `matmul`,
18+
- skipped unnecessary Hebbian buffer clones in no-grad inference,
19+
- selective scaling applied only to output neurons.
20+
- Optimized `OdyssNetTrainer` data movement and AMP plumbing by caching device-type flags, using non-blocking tensor transfers, and reusing compact direct-input routing in both `train_batch()` and `predict()`.
21+
- Optimized `examples/advanced/experiment_financial_oracle.py` with vectorized split sampling, vectorized BTC overlay window normalization, pinned-memory GPU transfer path, reusable best-state snapshots, and downsampled workbench heatmap rendering.
22+
23+
### Fixed
24+
- Fixed single-step output scaling aliasing where scaled outputs could share storage with returned final state.
25+
- Fixed trainer single-step extraction to consistently use scaled last-timestep outputs.
26+
727
## [2.4.0] — 2026-04-10
828

929
### Added

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ authors:
55
given-names: "Cahit"
66
email: "cksoftwaresystems@gmail.com"
77
title: "OdyssNet: The Trainable Dynamic System & Zero-Hidden Architecture"
8-
version: 2.1.0
8+
version: 2.4.1
99
date-released: 2025-12-12
1010
url: "https://github.com/theomgdev/OdyssNet"
1111
abstract: "OdyssNet is a chaotic, fully connected neural network architecture that proves temporal depth (thinking steps) can replace spatial depth (hidden layers). It solves non-linear problems like MNIST with Zero Hidden Layers by utilizing Trainable Chaos."

docs/LIBRARY.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,18 @@ tokens = torch.randint(0, 50257, (batch, 128))
159159
output = model(tokens, steps=640)
160160
```
161161

162+
### 4. Compact Direct Feature Mode (Fast Path)
163+
**Use case**: Non-vocab float inputs where the feature width equals `len(input_ids)`.
164+
* **Behavior**: For 2D `(Batch, Features)` and 3D `(Batch, Steps, Features)` tensors, `OdyssNetTrainer` can bypass dense neuron-space expansion and feed compact features directly.
165+
* **Compatibility**: Active only in non-vocab mode and only for floating-point feature tensors.
166+
* **Benefit**: Lower memory traffic and faster training/inference on feature-driven workloads.
167+
168+
```python
169+
# Compact 3D feature input (len(input_ids)=4)
170+
x = torch.randn(batch, steps, 4)
171+
pred = trainer.predict(x, thinking_steps=steps)
172+
```
173+
162174
#### Comparison of Sequential Input Formats
163175
| Input Type | Format | Modality | Recommended Use Case |
164176
| :--- | :--- | :--- | :--- |

0 commit comments

Comments
 (0)