Пример #1
0
 public LayerBuilder AddEltwise(EltwiseLayerVertex eltwiseLayerVertex)
 {
     base.AddVertex(eltwiseLayerVertex);
     base.AddEdge(_leftLayerBuilder.PreviousId, eltwiseLayerVertex.Identifier);
     base.AddEdge(_rightLayerBuilder.PreviousId, eltwiseLayerVertex.Identifier);
     PreviousId = eltwiseLayerVertex.Identifier;
     return(new LayerBuilder(this));
 }
Пример #2
0
        private static LayerVertex Convert(INode node)
        {
            var layer = default(LayerVertex);

            if (Enum.TryParse(node.Properties[nameof(LayerVertex.Kind)].ToString(), out VertexKind kind))
            {
                switch (kind)
                {
                case VertexKind.Input:
                    layer = new InputLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Convolutional:
                    layer = new ConvolutionalLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Pooling:
                    layer = new PoolingLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Scaling:
                    layer = new ScaleLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Dropout:
                    layer = new DropoutLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.BatchNormalization:
                    layer = new BatchNormalizationLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Activation:
                    layer = new ActivationLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Eltwise:
                    layer = new EltwiseLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Concat:
                    layer = new ConcatLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.FullyConnected:
                    layer = new FullyConnectedLayerVertex().Deserialize(node.Properties);
                    break;

                case VertexKind.Softmax:
                    layer = new SoftmaxLayerVertex().Deserialize(node.Properties);
                    break;

                default:
                    break;
                }
            }
            return(layer);
        }