úÎ!xpŞt      !"#$%&'()*+,-./01234567 8 9 : ; < = > ? @ A B C D E F G HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsSafe.tuvwxyz{None- tensor-safe-Transforms an InterpreterError into a string. tensor-safe"Lifts putStrLn to the Interpreter.None ¦ tensor-safeCompilation interface for the $ command. Given a path, module name.| tensor-safeInvokes ¢ to generate the CNetwork in the file with the specified path. Depending on the out parameter, the output will be redirected to the stdout or the the out path.None tensor-safe?Checks if the file at the specified path compiles successfully.Noneÿ  tensor-safeQClass that defines which languages are supported for CNetworks generation to text tensor-safe:Adds supports for a language. Generates a CNetwork to Text tensor-safe Similar to r, but also adds necessary header and module lines of text so as to have the CNetwork compiled at a separate file.} tensor-safe†Defines how are the layers going to be translated to the domain language This translates DLayer to String for each supported language tensor-safeSupport for Python compilation  tensor-safe"Support for JavaScript compilation  tensor-safe Defines the tensor-safeYAuxiliary data representation of Layers IMPORTANT: If you add new Layers definitions to K, you should add the corresponding data structure here for the same layer.~ tensor-safe2Converts a map to a parameter object in JavaScript tensor-safe-Converts a map to keyword arguments in Python   Safe &'.HUV!‹" tensor-safe#Wrapper for a tuple of 2 Nat values$ tensor-safeWrapper for a Nat value& tensor-safeFCompares two types in kinds level and raises error if they don't match' tensor-safe!Compares two types in kinds level( tensor-safe3Multiplies all numbers on a list of natural numbers"#$%&'(('&$%"#None']+ tensor-safe¥Defines that a type is a Layer Each layer can be compilated into a specific CNetwork expression which can later be used to generate code to a specific backend., tensor-safeThe layer type- tensor-safeHGiven the layer and a optional inputShape generates a CNetwork structure. tensor-safe(Auxiliary type for Input Shape parameter+,-..+-,None &'.HVX(‘/ tensor-safeA 2D Convolutional layer/0/0None &'.HVX*3 tensor-safeKA classic Dense, or FullyConnected, layer with input and output parameters.3434 None &'.HVX+õ7 tensor-safe,A Dropout layer with rate and seed arguments77 None-…: tensor-safeGFlattens the dimensions of the shapes to a list of values with shape D1:: None &'.HVX/‰= tensor-safeRA LSTM layer with a number of units and a option to return the original sequences.=>=> None &'.HVX1)A tensor-safe7A 2D MaxPooling pooling that works for D2 and D3 shapesABAB None2 E tensor-safeA ReLu activation functionEENone2õH tensor-safeA Sigmoid activation functionHHNone33/37:=AEH/37:=AEHNone &'.1>HUV?€K tensor-safeSame as ShapeEquals, which compares two Shapes at kinds level, but raises a TypeError exception if the Shapes are not the equal.L tensor-safe:Compares two Shapes at kinds level and returns a Bool kindM tensor-safe%Concrete data structures for a Shape.yAll shapes are held in contiguous memory. 3D is held in a matrix (usually row oriented) which has height depth * rows.Q tensor-safeqThe current shapes we accept. at the moment this is just one, two, and three dimensional Vectors/Matricies.,These are only used with DataKinds, as Kind Q, with Types 'D1, 'D2, 'D3.R tensor-safeOne dimensional vectorS tensor-safe$Two dimensional matrix. Row, Column.T tensor-safe0Three dimensional matrix. Row, Column, Channels.€‚ƒKLMPONQTSR QTSRMPONLKNone&'.=>?@AHUVXf¾Y tensor-safeÿInstanciates a Network after defining a type definition, using MkINetworkUnconstrained or MkINetwork, for example. After defining a variable with INetwork type, you can instanciate that variable like this: ``` myNet :: MNIST myNet = mkINetwork ```Z tensor-safe"Makes a valid instance of INetwork„ tensor-safesDefines the expected output of a layer This type function should be instanciated for each of the Layers defined.[ tensor-safeWCreates an INetwork type validating the the expected output and the computed one match.… tensor-safeèIf the second type argument is 'True, then it returns the type t, otherwise it returns a default type. Note that for this example, ValidateOutput would raise an exception if the expected output and the actual one do not match.† tensor-safedCreates an INetwork type, and by "unconstrained" I mean that I don't check for an expected output‡ tensor-safe=Compares the layers shape computation and the expected outputˆ tensor-safeCSame than ComposeOut' but the Shape list includes the initial Shape‰ tensor-safeÿ*Returns a list of shapes describing ALL the transformations applied to a specific shape. Given a list of layers return a type with all the Shapes from the initial Shape until the last one. In theory, the last Shape should be the same than the ComputeOut function applied to this same parameters.Š tensor-safeŞReturns the result of applying all the layers transformation to a specific shape. Given a list of layers, this returns the expected output for the computation of each layer starting with the first layer transforming the Qq s. For example, if the initial Shape is [28, 28] and the layers are [Relu, Flatten], the result will be [784].\ tensor-safeÿ$A network that defines a specific sequence of layers with the corresponding shape transformation along the network. It's an Instance of a Network: given a Network and a initial Shape, this type structure can be generated automatically using the type functions defined in this module, like „ and [._ tensor-safe4A network that defines a specific sequence of layersb tensor-safe¥Compilation: Gets the initial shape using Singleton instances. Since this is the function we run for transforming an INetwork to CNetwork, the nested argument of ‹ is set to False.‹ tensor-safeHelper function for bi tensor-safeEThis instance of INetwork as a Layer makes possible nesting INetworks YZ[\]^_`ab _`a\]^[YZb^5a5None.Xg‚  Z[\b \[ZbNone&'.jtj tensor-safeSimple network examplek tensor-safeSimple network examplel tensor-safeSimple network examplem tensor-safeSimple LSTM network examplejklmjklmNone&'.lÂn tensor-safe/MNIST implementation using Convolutional layerso tensor-safe,MNIST implementation using just Dense layersnonoNone.Xošp tensor-safe&Puts simple examples results to stdoutq tensor-safe%Puts MNIST examples results to stdoutr tensor-safe+Puts MNIST Dense examples results to stdoutpqrqrpNonepÒs tensor-safe-Outputs to stdout the results of the examplesssŒ !""##$%&'()*+,-./0123456789:;;<<=>?@ABCDEEFGHHIJ K L M N O P Q Q R S T T U V W X YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ *tensor-safe-0.1.0.0-3edST0Z0EfVIO0XHcBK060TensorSafe.Commands.UtilsTensorSafe.Commands.CompileTensorSafe.Commands.CheckTensorSafe.Compile.ExprTensorSafe.CoreTensorSafe.LayerTensorSafe.Layers.Conv2DTensorSafe.Layers.DenseTensorSafe.Layers.DropoutTensorSafe.Layers.FlattenTensorSafe.Layers.LSTMTensorSafe.Layers.MaxPoolingTensorSafe.Layers.ReluTensorSafe.Layers.SigmoidTensorSafe.ShapeTensorSafe.Network!TensorSafe.Examples.SimpleExample TensorSafe.Examples.MnistExampleTensorSafe.Examples.ExamplesTensorSafe.Commands.ExamplesPaths_tensor_safeLanguage.Haskell Interpreter TensorSafeLayersTensorSafe.Layers errorStringsaycompilecheck Generatorgenerate generateFilePython JavaScriptCNetwork CNSequenceCNConsCNLayerCNReturnCNNilDLayerDConv2DDDenseDDropoutDFlattenDLSTM DMaxPoolingDRelu DActivation$fLayerGeneratorPython$fLayerGeneratorJavaScript$fGeneratorPython$fGeneratorJavaScript $fShowDLayer$fShowCNetwork$fShowJavaScript $fShowPythonLR TypeEquals' TypeEquals ShapeProduct$fShowR$fShowLLayerlayer InputShapeConv2D $fLayerConv2D $fShowConv2DDense $fLayerDense $fShowDenseDropout$fLayerDropout $fShowDropoutFlatten$fLayerFlatten $fShowFlattenLSTM $fLayerLSTM $fShowLSTM MaxPooling$fLayerMaxPooling$fShowMaxPoolingRelu $fLayerRelu $fShowReluSigmoid$fLayerSigmoid $fShowSigmoid ShapeEquals' ShapeEqualsSS1DS2DS3DShapeD1D2D3$fSingIShapeD3$fSingIShapeD2$fSingIShapeD1$fShowS ValidNetwork mkINetwork MkINetworkINetworkINNil:~>NetworkNNil:~~ toCNetwork $fShowNetwork$fShowNetwork0$fShowINetwork$fShowINetwork0$fValidNetwork::$fValidNetwork[]:$fLayerINetworkmyNetmyNet2myNet3lstmmnist mnistDense simpleExample mnistExamplemnistExampleDenseexamplesversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamecheckAndCompileLayerGenerator paramsToJSparamsToPython'singletons-2.5.1-8rh3O7OlCjT56nom3eHup2Data.Singletons.InternalSingD1SingD3SingD2SingOut MaybeTypeMkINetworkUnconstrainedValidateOutput ComposeOut ComposeOut' ComputeOut toCNetwork'