Esempio n. 1
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);
        }
Esempio n. 2
0
 public LayerBlockBuilder AddScale(ScaleLayerVertex layer)
 {
     base.AddVertex(layer);
     base.AddEdge(_layer.Identifier, layer.Identifier, cycle: true);
     return(this);
 }