clab / clab/dynet

Behavior of s-unit setter/getter in state-less RNNBuilders

Open
#489 2 comments 0 reactions 0 assignees View on GitHub
minor bug
Dominant language
C++
Stars
3.4k
Forks
701
PR merge metrics
No merged PRs in 30d

Description

In some *state-less* `RNNBuilder` implementations (e.g. `SimpleRNNBuilder` or `GRUBuilder`) also have `get_s/set_s_impl` overridings, and they are basically coded as the redirect to `get_h/set_h_impl`. This (especially the setter) brings a side-effect against *h*-units, and maybe it sometimes could be an undesirable behavior.

I guess it is better that the `get_s` returns 0 and `set_s_impl` behaves no action if the RNN cell does not have *s*-units. How do maintainers think?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the SimpleRNNBuilder and GRUBuilder implementations and inspect their get_s/set_s_impl overrides alongside get_h/set_h_impl. Compare the behavior for stateless cells and determine the intended handling of s-units; done requires a maintainer-confirmed decision and corresponding behavior for getters and setters.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.