es-ude / es-ude/OnDeviceTraining

layer: ResNet-style skip connections for 1D and 2D CNNs

Open
#331 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
1
Forks
3
Avg merge
1d 1h
Merged PRs (30d)
8

Description

## Feature

ResNet-style residual blocks for 1D and 2D CNNs: identity shortcut around conv→norm→act→conv→norm with an elementwise-add merge, plus the projection shortcut (kernel-size-1 conv) for blocks that change channel count or stride.

## Blockers

- **#329 (topology epic)** — branch/merge forward+backward is the hard prerequisite: Add-merge node, gradient accumulation at the fork.
- 2D variant additionally blocked by **#330** (2D layer family). The 1D variant has no other missing kernels.

## Notes

- The 1D variant should ship first: the Conv1d family and Add arithmetic exist, so a residual block is the *minimal* consumer of #329's Add-merge — a good acceptance vehicle for the epic itself.
- Projection shortcut = Conv1d/Conv2d with kernel size 1 — no new kernel needed.
- SYM configs: the merge-add of two differently-scaled SYM wires depends on #329's quantized-merge semantics; keep the first residual example FLOAT32 until that spec lands.

## Acceptance

A small residual CNN example (HAR or ECG variant) with a PyTorch twin; trajectory comparison over ≥10 seeds per repo rule.

Contributor guide

Open the contributing guide

Research direction

Start with blocker #329 to understand the Add-merge node and gradient accumulation, then inspect the existing Conv1d family and Add arithmetic. The 1D residual example should be implemented first; done means a small HAR or ECG CNN has a PyTorch twin and trajectory comparisons across at least 10 seeds, using FLOAT32 for the initial merge.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, pytorch
Domain
embedded-iot, machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.