internal static INetworkLayer CuDnnLayerDeserialize([NotNull] Stream stream, LayerType type)
        {
            switch (type)
            {
            case LayerType.FullyConnected: return(CuDnnFullyConnectedLayer.Deserialize(stream));

            case LayerType.Convolutional: return(CuDnnConvolutionalLayer.Deserialize(stream));

            case LayerType.Pooling: return(CuDnnPoolingLayer.Deserialize(stream));

            case LayerType.Softmax: return(CuDnnSoftmaxLayer.Deserialize(stream));

            case LayerType.Inception: return(CuDnnInceptionLayer.Deserialize(stream));

            default: return(null);
            }
        }