/// <summary> /// Connects new nodes starting from the specified node /// </summary> /// <param name="factory">Graph factory</param> /// <param name="width">Initial input width</param> /// <param name="height">Initial input height</param> /// <param name="depth">Initial input depth</param> /// <param name="node">The node to build from</param> public WireBuilder(GraphFactory factory, int width, int height, int depth, INode node) { _factory = factory; _first = LastNode = node; _width = width; _height = height; _depth = depth; }
/// <summary> /// Connects new nodes starting from the specified node /// </summary> /// <param name="factory">Graph factory</param> /// <param name="size">Initial wire size</param> /// <param name="node">The node to build from</param> public WireBuilder(GraphFactory factory, int size, INode node) { _factory = factory; _first = LastNode = node; _width = size; _height = 1; _depth = 1; }
/// <summary> /// Connects new nodes to the engine output node /// </summary> /// <param name="factory">Graph factory</param> /// <param name="engine">Graph engine</param> /// <param name="inputIndex">Input index to connect</param> public WireBuilder(GraphFactory factory, IGraphTrainingEngine engine, int inputIndex = 0) : this(factory, engine.DataSource.InputSize, engine.GetInput(inputIndex)) { if (engine.DataSource is IVolumeDataSource volumeDataSource) { _width = volumeDataSource.Width; _height = volumeDataSource.Height; _depth = volumeDataSource.Depth; } }