Skip to content

Commit

Permalink
Added TODO/BUGBUG comments requested by fseide
Browse files Browse the repository at this point in the history
  • Loading branch information
Clemens Marschner committed Apr 15, 2016
1 parent 2c005ac commit 2709eb5
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,7 @@ void ComputationNetwork::ResetMBLayouts()
if (axisName == L"")
{
// Legacy behavior: One shared MBLayout
// TODO Remove m_pMBLayoutOfNetwork altogether. See issue 358.
node->LinkToMBLayout(m_pMBLayoutOfNetwork);
}
else
Expand Down
13 changes: 13 additions & 0 deletions Source/ComputationNetworkLib/InputAndParamNodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@ class DynamicAxisNode : public ComputationNode<ElemType>, public NumInputs<0>
DynamicAxisNode(DEVICEID_TYPE deviceId, const wstring& name)
: Base(deviceId, name)
{
// BUGBUG: In BS, the node name is not known during node instantiation.
// This may require to pass the display name as a separate parameter.

// This is the whole point of this class: Introduce a new MBLayout that others can use.
LinkToMBLayout(make_shared<MBLayout>(1, 0, name));
// We need some shape, or validation fails.
Expand Down Expand Up @@ -191,6 +194,16 @@ class InputValueBase : public ComputationNode<ElemType>, public NumInputs<0>, pu
{
AttachInputsFromConfig(configp, this->GetExpectedNumInputs());
wstring axisName = L"";
// TODO This currently reads a ComputationNode object from a property, thereby bypassing "normal" input handling.
// The passing of shapes represents a second graph that is "overlaid" (and previously identical) to the data
// flow network. This needs to be solved on a more fundamental level.
// The proposed future change from fseide is as follows:
// (2) On BS level, dynamicAxis is an optional parameter that takes a DynamicAxis object--the alternative,
// passing a string, will be removed.
// (3) The dynamicAxis argument will become an actual m_inputs[] to the InputValue. I.e.InputValues are no
// longer leaves from the ComputationNetwork viewpoint. But they ARE leaves from the user / BS / NDL view, as
// the axis is not passed as a regular input.This way, the current special - casing can and will be removed;
// instead, the MBLayout propagation will happen automagically as part of regular ValidateNetwork().
if (configp->Exists(L"dynamicAxis"))
{
auto axisConfig = configp->Find(L"dynamicAxis");
Expand Down

0 comments on commit 2709eb5

Please sign in to comment.