@@ -10,7 +10,7 @@ namespace Tensorflow.Keras.Engine | |||||
yield return this; | yield return this; | ||||
var seen_object_ids = new List<int>(); | var seen_object_ids = new List<int>(); | ||||
var deque = new Queue<ILayer>(_layers); | |||||
var deque = new Queue<ILayer>(_self_tracked_trackables); | |||||
while (!deque.empty()) | while (!deque.empty()) | ||||
{ | { | ||||
var layer_or_container = deque.Dequeue(); | var layer_or_container = deque.Dequeue(); | ||||
@@ -6,7 +6,7 @@ namespace Tensorflow.Keras.Engine | |||||
public partial class Layer | public partial class Layer | ||||
{ | { | ||||
protected List<ILayer> _layers = new List<ILayer>(); | protected List<ILayer> _layers = new List<ILayer>(); | ||||
public List<ILayer> Layers => _layers; | |||||
public virtual List<ILayer> Layers => _layers; | |||||
protected void StackLayers(params ILayer[] layers) | protected void StackLayers(params ILayer[] layers) | ||||
{ | { | ||||
@@ -1,4 +1,5 @@ | |||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | |||||
using Tensorflow.Keras.ArgsDefinition; | using Tensorflow.Keras.ArgsDefinition; | ||||
using Tensorflow.Keras.Engine.DataAdapters; | using Tensorflow.Keras.Engine.DataAdapters; | ||||
using Tensorflow.Keras.Losses; | using Tensorflow.Keras.Losses; | ||||
@@ -70,6 +71,9 @@ namespace Tensorflow.Keras.Engine | |||||
aggregation: VariableAggregation.OnlyFirstReplica); | aggregation: VariableAggregation.OnlyFirstReplica); | ||||
} | } | ||||
public override List<ILayer> Layers | |||||
=> _flatten_layers(recursive: false, include_self: false).ToList(); | |||||
public override List<IVariableV1> trainable_variables | public override List<IVariableV1> trainable_variables | ||||
{ | { | ||||
get | get | ||||
@@ -202,5 +202,8 @@ namespace Tensorflow.Keras.Engine | |||||
created_nodes.add(prev_layer.OutboundNodes.Last()); | created_nodes.add(prev_layer.OutboundNodes.Last()); | ||||
} | } | ||||
} | } | ||||
public override List<ILayer> Layers | |||||
=> base.Layers.Where(x => x is not InputLayer).ToList(); | |||||
} | } | ||||
} | } |