{- This file was auto-generated from tensorflow/core/protobuf/meta_graph.proto by the proto-lens-protoc program. -}
{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
  UndecidableInstances, MultiParamTypeClasses, FlexibleContexts,
  FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude
  #-}
{-# OPTIONS_GHC -fno-warn-unused-imports#-}
module Proto.Tensorflow.Core.Protobuf.MetaGraph where
import qualified Data.ProtoLens.Reexport.Prelude as Prelude
import qualified Data.ProtoLens.Reexport.Data.Int as Data.Int
import qualified Data.ProtoLens.Reexport.Data.Word as Data.Word
import qualified Data.ProtoLens.Reexport.Data.ProtoLens
       as Data.ProtoLens
import qualified
       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
       as Data.ProtoLens.Message.Enum
import qualified Data.ProtoLens.Reexport.Lens.Family2
       as Lens.Family2
import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
       as Lens.Family2.Unchecked
import qualified Data.ProtoLens.Reexport.Data.Default.Class
       as Data.Default.Class
import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
import qualified Data.ProtoLens.Reexport.Data.ByteString
       as Data.ByteString
import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
import qualified Proto.Google.Protobuf.Any
import qualified Proto.Tensorflow.Core.Framework.Graph
import qualified Proto.Tensorflow.Core.Framework.OpDef
import qualified Proto.Tensorflow.Core.Framework.TensorShape
import qualified Proto.Tensorflow.Core.Framework.Types
import qualified Proto.Tensorflow.Core.Protobuf.Saver

data AssetFileDef = AssetFileDef{_AssetFileDef'tensorInfo ::
                                 !(Prelude.Maybe TensorInfo),
                                 _AssetFileDef'filename :: !Data.Text.Text}
                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ TensorInfo, b ~ TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "tensorInfo" f AssetFileDef AssetFileDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _AssetFileDef'tensorInfo
                 (\ x__ y__ -> x__{_AssetFileDef'tensorInfo = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe TensorInfo,
          b ~ Prelude.Maybe TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'tensorInfo" f AssetFileDef AssetFileDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _AssetFileDef'tensorInfo
                 (\ x__ y__ -> x__{_AssetFileDef'tensorInfo = y__}))
              Prelude.id

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "filename" f AssetFileDef AssetFileDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _AssetFileDef'filename
                 (\ x__ y__ -> x__{_AssetFileDef'filename = y__}))
              Prelude.id

instance Data.Default.Class.Default AssetFileDef where
        def
          = AssetFileDef{_AssetFileDef'tensorInfo = Prelude.Nothing,
                         _AssetFileDef'filename = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message AssetFileDef where
        descriptor
          = let tensorInfo__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tensor_info"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor TensorInfo)
                      (Data.ProtoLens.OptionalField maybe'tensorInfo)
                      :: Data.ProtoLens.FieldDescriptor AssetFileDef
                filename__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "filename"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional filename)
                      :: Data.ProtoLens.FieldDescriptor AssetFileDef
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.AssetFileDef")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, tensorInfo__field_descriptor),
                    (Data.ProtoLens.Tag 2, filename__field_descriptor)])
                (Data.Map.fromList
                   [("tensor_info", tensorInfo__field_descriptor),
                    ("filename", filename__field_descriptor)])

data CollectionDef = CollectionDef{_CollectionDef'kind ::
                                   !(Prelude.Maybe CollectionDef'Kind)}
                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

data CollectionDef'Kind = CollectionDef'NodeList' !CollectionDef'NodeList
                        | CollectionDef'BytesList' !CollectionDef'BytesList
                        | CollectionDef'Int64List' !CollectionDef'Int64List
                        | CollectionDef'FloatList' !CollectionDef'FloatList
                        | CollectionDef'AnyList' !CollectionDef'AnyList
                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Prelude.Maybe CollectionDef'Kind,
          b ~ Prelude.Maybe CollectionDef'Kind, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'kind" f CollectionDef CollectionDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              Prelude.id

instance (a ~ Prelude.Maybe CollectionDef'NodeList,
          b ~ Prelude.Maybe CollectionDef'NodeList, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'nodeList" f CollectionDef CollectionDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (CollectionDef'NodeList' x__val) -> Prelude.Just
                                                                           x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap CollectionDef'NodeList' y__))

instance (a ~ CollectionDef'NodeList, b ~ CollectionDef'NodeList,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "nodeList" f CollectionDef CollectionDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (CollectionDef'NodeList' x__val) -> Prelude.Just
                                                                              x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap CollectionDef'NodeList' y__))
                 (Data.ProtoLens.maybeLens Data.Default.Class.def))

instance (a ~ Prelude.Maybe CollectionDef'BytesList,
          b ~ Prelude.Maybe CollectionDef'BytesList, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'bytesList" f CollectionDef CollectionDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (CollectionDef'BytesList' x__val) -> Prelude.Just
                                                                            x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap CollectionDef'BytesList' y__))

instance (a ~ CollectionDef'BytesList, b ~ CollectionDef'BytesList,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "bytesList" f CollectionDef CollectionDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (CollectionDef'BytesList' x__val) -> Prelude.Just
                                                                               x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap CollectionDef'BytesList' y__))
                 (Data.ProtoLens.maybeLens Data.Default.Class.def))

instance (a ~ Prelude.Maybe CollectionDef'Int64List,
          b ~ Prelude.Maybe CollectionDef'Int64List, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'int64List" f CollectionDef CollectionDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (CollectionDef'Int64List' x__val) -> Prelude.Just
                                                                            x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap CollectionDef'Int64List' y__))

instance (a ~ CollectionDef'Int64List, b ~ CollectionDef'Int64List,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "int64List" f CollectionDef CollectionDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (CollectionDef'Int64List' x__val) -> Prelude.Just
                                                                               x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap CollectionDef'Int64List' y__))
                 (Data.ProtoLens.maybeLens Data.Default.Class.def))

instance (a ~ Prelude.Maybe CollectionDef'FloatList,
          b ~ Prelude.Maybe CollectionDef'FloatList, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'floatList" f CollectionDef CollectionDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (CollectionDef'FloatList' x__val) -> Prelude.Just
                                                                            x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap CollectionDef'FloatList' y__))

instance (a ~ CollectionDef'FloatList, b ~ CollectionDef'FloatList,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "floatList" f CollectionDef CollectionDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (CollectionDef'FloatList' x__val) -> Prelude.Just
                                                                               x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap CollectionDef'FloatList' y__))
                 (Data.ProtoLens.maybeLens Data.Default.Class.def))

instance (a ~ Prelude.Maybe CollectionDef'AnyList,
          b ~ Prelude.Maybe CollectionDef'AnyList, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'anyList" f CollectionDef CollectionDef a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (CollectionDef'AnyList' x__val) -> Prelude.Just x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap CollectionDef'AnyList' y__))

instance (a ~ CollectionDef'AnyList, b ~ CollectionDef'AnyList,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "anyList" f CollectionDef CollectionDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'kind
                 (\ x__ y__ -> x__{_CollectionDef'kind = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (CollectionDef'AnyList' x__val) -> Prelude.Just x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap CollectionDef'AnyList' y__))
                 (Data.ProtoLens.maybeLens Data.Default.Class.def))

instance Data.Default.Class.Default CollectionDef where
        def = CollectionDef{_CollectionDef'kind = Prelude.Nothing}

instance Data.ProtoLens.Message CollectionDef where
        descriptor
          = let nodeList__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "node_list"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor CollectionDef'NodeList)
                      (Data.ProtoLens.OptionalField maybe'nodeList)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef
                bytesList__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "bytes_list"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor CollectionDef'BytesList)
                      (Data.ProtoLens.OptionalField maybe'bytesList)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef
                int64List__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "int64_list"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor CollectionDef'Int64List)
                      (Data.ProtoLens.OptionalField maybe'int64List)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef
                floatList__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "float_list"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor CollectionDef'FloatList)
                      (Data.ProtoLens.OptionalField maybe'floatList)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef
                anyList__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "any_list"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor CollectionDef'AnyList)
                      (Data.ProtoLens.OptionalField maybe'anyList)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.CollectionDef")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, nodeList__field_descriptor),
                    (Data.ProtoLens.Tag 2, bytesList__field_descriptor),
                    (Data.ProtoLens.Tag 3, int64List__field_descriptor),
                    (Data.ProtoLens.Tag 4, floatList__field_descriptor),
                    (Data.ProtoLens.Tag 5, anyList__field_descriptor)])
                (Data.Map.fromList
                   [("node_list", nodeList__field_descriptor),
                    ("bytes_list", bytesList__field_descriptor),
                    ("int64_list", int64List__field_descriptor),
                    ("float_list", floatList__field_descriptor),
                    ("any_list", anyList__field_descriptor)])

data CollectionDef'AnyList = CollectionDef'AnyList{_CollectionDef'AnyList'value
                                                   :: ![Proto.Google.Protobuf.Any.Any]}
                           deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ [Proto.Google.Protobuf.Any.Any],
          b ~ [Proto.Google.Protobuf.Any.Any], Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f CollectionDef'AnyList
           CollectionDef'AnyList
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'AnyList'value
                 (\ x__ y__ -> x__{_CollectionDef'AnyList'value = y__}))
              Prelude.id

instance Data.Default.Class.Default CollectionDef'AnyList where
        def = CollectionDef'AnyList{_CollectionDef'AnyList'value = []}

instance Data.ProtoLens.Message CollectionDef'AnyList where
        descriptor
          = let value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Any.Any)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked value)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef'AnyList
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.CollectionDef.AnyList")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, value__field_descriptor)])
                (Data.Map.fromList [("value", value__field_descriptor)])

data CollectionDef'BytesList = CollectionDef'BytesList{_CollectionDef'BytesList'value
                                                       :: ![Data.ByteString.ByteString]}
                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ [Data.ByteString.ByteString],
          b ~ [Data.ByteString.ByteString], Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f CollectionDef'BytesList
           CollectionDef'BytesList
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'BytesList'value
                 (\ x__ y__ -> x__{_CollectionDef'BytesList'value = y__}))
              Prelude.id

instance Data.Default.Class.Default CollectionDef'BytesList where
        def = CollectionDef'BytesList{_CollectionDef'BytesList'value = []}

instance Data.ProtoLens.Message CollectionDef'BytesList where
        descriptor
          = let value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.BytesField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked value)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef'BytesList
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.CollectionDef.BytesList")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, value__field_descriptor)])
                (Data.Map.fromList [("value", value__field_descriptor)])

data CollectionDef'FloatList = CollectionDef'FloatList{_CollectionDef'FloatList'value
                                                       :: ![Prelude.Float]}
                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ [Prelude.Float], b ~ [Prelude.Float],
          Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f CollectionDef'FloatList
           CollectionDef'FloatList
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'FloatList'value
                 (\ x__ y__ -> x__{_CollectionDef'FloatList'value = y__}))
              Prelude.id

instance Data.Default.Class.Default CollectionDef'FloatList where
        def = CollectionDef'FloatList{_CollectionDef'FloatList'value = []}

instance Data.ProtoLens.Message CollectionDef'FloatList where
        descriptor
          = let value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.FloatField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Float)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed value)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef'FloatList
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.CollectionDef.FloatList")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, value__field_descriptor)])
                (Data.Map.fromList [("value", value__field_descriptor)])

data CollectionDef'Int64List = CollectionDef'Int64List{_CollectionDef'Int64List'value
                                                       :: ![Data.Int.Int64]}
                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ [Data.Int.Int64], b ~ [Data.Int.Int64],
          Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f CollectionDef'Int64List
           CollectionDef'Int64List
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'Int64List'value
                 (\ x__ y__ -> x__{_CollectionDef'Int64List'value = y__}))
              Prelude.id

instance Data.Default.Class.Default CollectionDef'Int64List where
        def = CollectionDef'Int64List{_CollectionDef'Int64List'value = []}

instance Data.ProtoLens.Message CollectionDef'Int64List where
        descriptor
          = let value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed value)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef'Int64List
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.CollectionDef.Int64List")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, value__field_descriptor)])
                (Data.Map.fromList [("value", value__field_descriptor)])

data CollectionDef'NodeList = CollectionDef'NodeList{_CollectionDef'NodeList'value
                                                     :: ![Data.Text.Text]}
                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ [Data.Text.Text], b ~ [Data.Text.Text],
          Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f CollectionDef'NodeList
           CollectionDef'NodeList
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _CollectionDef'NodeList'value
                 (\ x__ y__ -> x__{_CollectionDef'NodeList'value = y__}))
              Prelude.id

instance Data.Default.Class.Default CollectionDef'NodeList where
        def = CollectionDef'NodeList{_CollectionDef'NodeList'value = []}

instance Data.ProtoLens.Message CollectionDef'NodeList where
        descriptor
          = let value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked value)
                      :: Data.ProtoLens.FieldDescriptor CollectionDef'NodeList
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.CollectionDef.NodeList")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, value__field_descriptor)])
                (Data.Map.fromList [("value", value__field_descriptor)])

data MetaGraphDef = MetaGraphDef{_MetaGraphDef'metaInfoDef ::
                                 !(Prelude.Maybe MetaGraphDef'MetaInfoDef),
                                 _MetaGraphDef'graphDef ::
                                 !(Prelude.Maybe Proto.Tensorflow.Core.Framework.Graph.GraphDef),
                                 _MetaGraphDef'saverDef ::
                                 !(Prelude.Maybe Proto.Tensorflow.Core.Protobuf.Saver.SaverDef),
                                 _MetaGraphDef'collectionDef ::
                                 !(Data.Map.Map Data.Text.Text CollectionDef),
                                 _MetaGraphDef'signatureDef ::
                                 !(Data.Map.Map Data.Text.Text SignatureDef),
                                 _MetaGraphDef'assetFileDef :: ![AssetFileDef]}
                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ MetaGraphDef'MetaInfoDef,
          b ~ MetaGraphDef'MetaInfoDef, Prelude.Functor f) =>
         Lens.Labels.HasLens "metaInfoDef" f MetaGraphDef MetaGraphDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'metaInfoDef
                 (\ x__ y__ -> x__{_MetaGraphDef'metaInfoDef = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe MetaGraphDef'MetaInfoDef,
          b ~ Prelude.Maybe MetaGraphDef'MetaInfoDef, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'metaInfoDef" f MetaGraphDef MetaGraphDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'metaInfoDef
                 (\ x__ y__ -> x__{_MetaGraphDef'metaInfoDef = y__}))
              Prelude.id

instance (a ~ Proto.Tensorflow.Core.Framework.Graph.GraphDef,
          b ~ Proto.Tensorflow.Core.Framework.Graph.GraphDef,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "graphDef" f MetaGraphDef MetaGraphDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'graphDef
                 (\ x__ y__ -> x__{_MetaGraphDef'graphDef = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~
            Prelude.Maybe Proto.Tensorflow.Core.Framework.Graph.GraphDef,
          b ~ Prelude.Maybe Proto.Tensorflow.Core.Framework.Graph.GraphDef,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'graphDef" f MetaGraphDef MetaGraphDef a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'graphDef
                 (\ x__ y__ -> x__{_MetaGraphDef'graphDef = y__}))
              Prelude.id

instance (a ~ Proto.Tensorflow.Core.Protobuf.Saver.SaverDef,
          b ~ Proto.Tensorflow.Core.Protobuf.Saver.SaverDef,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "saverDef" f MetaGraphDef MetaGraphDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'saverDef
                 (\ x__ y__ -> x__{_MetaGraphDef'saverDef = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~
            Prelude.Maybe Proto.Tensorflow.Core.Protobuf.Saver.SaverDef,
          b ~ Prelude.Maybe Proto.Tensorflow.Core.Protobuf.Saver.SaverDef,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'saverDef" f MetaGraphDef MetaGraphDef a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'saverDef
                 (\ x__ y__ -> x__{_MetaGraphDef'saverDef = y__}))
              Prelude.id

instance (a ~ Data.Map.Map Data.Text.Text CollectionDef,
          b ~ Data.Map.Map Data.Text.Text CollectionDef,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "collectionDef" f MetaGraphDef MetaGraphDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'collectionDef
                 (\ x__ y__ -> x__{_MetaGraphDef'collectionDef = y__}))
              Prelude.id

instance (a ~ Data.Map.Map Data.Text.Text SignatureDef,
          b ~ Data.Map.Map Data.Text.Text SignatureDef, Prelude.Functor f) =>
         Lens.Labels.HasLens "signatureDef" f MetaGraphDef MetaGraphDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'signatureDef
                 (\ x__ y__ -> x__{_MetaGraphDef'signatureDef = y__}))
              Prelude.id

instance (a ~ [AssetFileDef], b ~ [AssetFileDef],
          Prelude.Functor f) =>
         Lens.Labels.HasLens "assetFileDef" f MetaGraphDef MetaGraphDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'assetFileDef
                 (\ x__ y__ -> x__{_MetaGraphDef'assetFileDef = y__}))
              Prelude.id

instance Data.Default.Class.Default MetaGraphDef where
        def
          = MetaGraphDef{_MetaGraphDef'metaInfoDef = Prelude.Nothing,
                         _MetaGraphDef'graphDef = Prelude.Nothing,
                         _MetaGraphDef'saverDef = Prelude.Nothing,
                         _MetaGraphDef'collectionDef = Data.Map.empty,
                         _MetaGraphDef'signatureDef = Data.Map.empty,
                         _MetaGraphDef'assetFileDef = []}

instance Data.ProtoLens.Message MetaGraphDef where
        descriptor
          = let metaInfoDef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "meta_info_def"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor MetaGraphDef'MetaInfoDef)
                      (Data.ProtoLens.OptionalField maybe'metaInfoDef)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef
                graphDef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "graph_def"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.Graph.GraphDef)
                      (Data.ProtoLens.OptionalField maybe'graphDef)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef
                saverDef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "saver_def"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Protobuf.Saver.SaverDef)
                      (Data.ProtoLens.OptionalField maybe'saverDef)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef
                collectionDef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "collection_def"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor MetaGraphDef'CollectionDefEntry)
                      (Data.ProtoLens.MapField key value collectionDef)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef
                signatureDef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "signature_def"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor MetaGraphDef'SignatureDefEntry)
                      (Data.ProtoLens.MapField key value signatureDef)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef
                assetFileDef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "asset_file_def"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor AssetFileDef)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked assetFileDef)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MetaGraphDef")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, metaInfoDef__field_descriptor),
                    (Data.ProtoLens.Tag 2, graphDef__field_descriptor),
                    (Data.ProtoLens.Tag 3, saverDef__field_descriptor),
                    (Data.ProtoLens.Tag 4, collectionDef__field_descriptor),
                    (Data.ProtoLens.Tag 5, signatureDef__field_descriptor),
                    (Data.ProtoLens.Tag 6, assetFileDef__field_descriptor)])
                (Data.Map.fromList
                   [("meta_info_def", metaInfoDef__field_descriptor),
                    ("graph_def", graphDef__field_descriptor),
                    ("saver_def", saverDef__field_descriptor),
                    ("collection_def", collectionDef__field_descriptor),
                    ("signature_def", signatureDef__field_descriptor),
                    ("asset_file_def", assetFileDef__field_descriptor)])

data MetaGraphDef'CollectionDefEntry = MetaGraphDef'CollectionDefEntry{_MetaGraphDef'CollectionDefEntry'key
                                                                       :: !Data.Text.Text,
                                                                       _MetaGraphDef'CollectionDefEntry'value
                                                                       ::
                                                                       !(Prelude.Maybe
                                                                           CollectionDef)}
                                     deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "key" f MetaGraphDef'CollectionDefEntry
           MetaGraphDef'CollectionDefEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'CollectionDefEntry'key
                 (\ x__ y__ -> x__{_MetaGraphDef'CollectionDefEntry'key = y__}))
              Prelude.id

instance (a ~ CollectionDef, b ~ CollectionDef,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f MetaGraphDef'CollectionDefEntry
           MetaGraphDef'CollectionDefEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'CollectionDefEntry'value
                 (\ x__ y__ -> x__{_MetaGraphDef'CollectionDefEntry'value = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe CollectionDef,
          b ~ Prelude.Maybe CollectionDef, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'value" f MetaGraphDef'CollectionDefEntry
           MetaGraphDef'CollectionDefEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'CollectionDefEntry'value
                 (\ x__ y__ -> x__{_MetaGraphDef'CollectionDefEntry'value = y__}))
              Prelude.id

instance Data.Default.Class.Default MetaGraphDef'CollectionDefEntry
         where
        def
          = MetaGraphDef'CollectionDefEntry{_MetaGraphDef'CollectionDefEntry'key
                                              = Data.ProtoLens.fieldDefault,
                                            _MetaGraphDef'CollectionDefEntry'value =
                                              Prelude.Nothing}

instance Data.ProtoLens.Message MetaGraphDef'CollectionDefEntry
         where
        descriptor
          = let key__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "key"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional key)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'CollectionDefEntry
                value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor CollectionDef)
                      (Data.ProtoLens.OptionalField maybe'value)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'CollectionDefEntry
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MetaGraphDef.CollectionDefEntry")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, key__field_descriptor),
                    (Data.ProtoLens.Tag 2, value__field_descriptor)])
                (Data.Map.fromList
                   [("key", key__field_descriptor),
                    ("value", value__field_descriptor)])

data MetaGraphDef'MetaInfoDef = MetaGraphDef'MetaInfoDef{_MetaGraphDef'MetaInfoDef'metaGraphVersion
                                                         :: !Data.Text.Text,
                                                         _MetaGraphDef'MetaInfoDef'strippedOpList ::
                                                         !(Prelude.Maybe
                                                             Proto.Tensorflow.Core.Framework.OpDef.OpList),
                                                         _MetaGraphDef'MetaInfoDef'anyInfo ::
                                                         !(Prelude.Maybe
                                                             Proto.Google.Protobuf.Any.Any),
                                                         _MetaGraphDef'MetaInfoDef'tags ::
                                                         ![Data.Text.Text],
                                                         _MetaGraphDef'MetaInfoDef'tensorflowVersion
                                                         :: !Data.Text.Text,
                                                         _MetaGraphDef'MetaInfoDef'tensorflowGitVersion
                                                         :: !Data.Text.Text,
                                                         _MetaGraphDef'MetaInfoDef'strippedDefaultAttrs
                                                         :: !Prelude.Bool}
                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "metaGraphVersion" f MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MetaGraphDef'MetaInfoDef'metaGraphVersion
                 (\ x__ y__ ->
                    x__{_MetaGraphDef'MetaInfoDef'metaGraphVersion = y__}))
              Prelude.id

instance (a ~ Proto.Tensorflow.Core.Framework.OpDef.OpList,
          b ~ Proto.Tensorflow.Core.Framework.OpDef.OpList,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "strippedOpList" f MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MetaGraphDef'MetaInfoDef'strippedOpList
                 (\ x__ y__ -> x__{_MetaGraphDef'MetaInfoDef'strippedOpList = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~
            Prelude.Maybe Proto.Tensorflow.Core.Framework.OpDef.OpList,
          b ~ Prelude.Maybe Proto.Tensorflow.Core.Framework.OpDef.OpList,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'strippedOpList" f
           MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MetaGraphDef'MetaInfoDef'strippedOpList
                 (\ x__ y__ -> x__{_MetaGraphDef'MetaInfoDef'strippedOpList = y__}))
              Prelude.id

instance (a ~ Proto.Google.Protobuf.Any.Any,
          b ~ Proto.Google.Protobuf.Any.Any, Prelude.Functor f) =>
         Lens.Labels.HasLens "anyInfo" f MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'MetaInfoDef'anyInfo
                 (\ x__ y__ -> x__{_MetaGraphDef'MetaInfoDef'anyInfo = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe Proto.Google.Protobuf.Any.Any,
          b ~ Prelude.Maybe Proto.Google.Protobuf.Any.Any,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'anyInfo" f MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'MetaInfoDef'anyInfo
                 (\ x__ y__ -> x__{_MetaGraphDef'MetaInfoDef'anyInfo = y__}))
              Prelude.id

instance (a ~ [Data.Text.Text], b ~ [Data.Text.Text],
          Prelude.Functor f) =>
         Lens.Labels.HasLens "tags" f MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'MetaInfoDef'tags
                 (\ x__ y__ -> x__{_MetaGraphDef'MetaInfoDef'tags = y__}))
              Prelude.id

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "tensorflowVersion" f MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MetaGraphDef'MetaInfoDef'tensorflowVersion
                 (\ x__ y__ ->
                    x__{_MetaGraphDef'MetaInfoDef'tensorflowVersion = y__}))
              Prelude.id

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "tensorflowGitVersion" f
           MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MetaGraphDef'MetaInfoDef'tensorflowGitVersion
                 (\ x__ y__ ->
                    x__{_MetaGraphDef'MetaInfoDef'tensorflowGitVersion = y__}))
              Prelude.id

instance (a ~ Prelude.Bool, b ~ Prelude.Bool, Prelude.Functor f) =>
         Lens.Labels.HasLens "strippedDefaultAttrs" f
           MetaGraphDef'MetaInfoDef
           MetaGraphDef'MetaInfoDef
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MetaGraphDef'MetaInfoDef'strippedDefaultAttrs
                 (\ x__ y__ ->
                    x__{_MetaGraphDef'MetaInfoDef'strippedDefaultAttrs = y__}))
              Prelude.id

instance Data.Default.Class.Default MetaGraphDef'MetaInfoDef where
        def
          = MetaGraphDef'MetaInfoDef{_MetaGraphDef'MetaInfoDef'metaGraphVersion
                                       = Data.ProtoLens.fieldDefault,
                                     _MetaGraphDef'MetaInfoDef'strippedOpList = Prelude.Nothing,
                                     _MetaGraphDef'MetaInfoDef'anyInfo = Prelude.Nothing,
                                     _MetaGraphDef'MetaInfoDef'tags = [],
                                     _MetaGraphDef'MetaInfoDef'tensorflowVersion =
                                       Data.ProtoLens.fieldDefault,
                                     _MetaGraphDef'MetaInfoDef'tensorflowGitVersion =
                                       Data.ProtoLens.fieldDefault,
                                     _MetaGraphDef'MetaInfoDef'strippedDefaultAttrs =
                                       Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message MetaGraphDef'MetaInfoDef where
        descriptor
          = let metaGraphVersion__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "meta_graph_version"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         metaGraphVersion)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
                strippedOpList__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "stripped_op_list"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.OpDef.OpList)
                      (Data.ProtoLens.OptionalField maybe'strippedOpList)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
                anyInfo__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "any_info"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Any.Any)
                      (Data.ProtoLens.OptionalField maybe'anyInfo)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
                tags__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tags"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked tags)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
                tensorflowVersion__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tensorflow_version"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         tensorflowVersion)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
                tensorflowGitVersion__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tensorflow_git_version"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         tensorflowGitVersion)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
                strippedDefaultAttrs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "stripped_default_attrs"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         strippedDefaultAttrs)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'MetaInfoDef
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MetaGraphDef.MetaInfoDef")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, metaGraphVersion__field_descriptor),
                    (Data.ProtoLens.Tag 2, strippedOpList__field_descriptor),
                    (Data.ProtoLens.Tag 3, anyInfo__field_descriptor),
                    (Data.ProtoLens.Tag 4, tags__field_descriptor),
                    (Data.ProtoLens.Tag 5, tensorflowVersion__field_descriptor),
                    (Data.ProtoLens.Tag 6, tensorflowGitVersion__field_descriptor),
                    (Data.ProtoLens.Tag 7, strippedDefaultAttrs__field_descriptor)])
                (Data.Map.fromList
                   [("meta_graph_version", metaGraphVersion__field_descriptor),
                    ("stripped_op_list", strippedOpList__field_descriptor),
                    ("any_info", anyInfo__field_descriptor),
                    ("tags", tags__field_descriptor),
                    ("tensorflow_version", tensorflowVersion__field_descriptor),
                    ("tensorflow_git_version", tensorflowGitVersion__field_descriptor),
                    ("stripped_default_attrs",
                     strippedDefaultAttrs__field_descriptor)])

data MetaGraphDef'SignatureDefEntry = MetaGraphDef'SignatureDefEntry{_MetaGraphDef'SignatureDefEntry'key
                                                                     :: !Data.Text.Text,
                                                                     _MetaGraphDef'SignatureDefEntry'value
                                                                     ::
                                                                     !(Prelude.Maybe SignatureDef)}
                                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "key" f MetaGraphDef'SignatureDefEntry
           MetaGraphDef'SignatureDefEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'SignatureDefEntry'key
                 (\ x__ y__ -> x__{_MetaGraphDef'SignatureDefEntry'key = y__}))
              Prelude.id

instance (a ~ SignatureDef, b ~ SignatureDef, Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f MetaGraphDef'SignatureDefEntry
           MetaGraphDef'SignatureDefEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'SignatureDefEntry'value
                 (\ x__ y__ -> x__{_MetaGraphDef'SignatureDefEntry'value = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe SignatureDef,
          b ~ Prelude.Maybe SignatureDef, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'value" f MetaGraphDef'SignatureDefEntry
           MetaGraphDef'SignatureDefEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MetaGraphDef'SignatureDefEntry'value
                 (\ x__ y__ -> x__{_MetaGraphDef'SignatureDefEntry'value = y__}))
              Prelude.id

instance Data.Default.Class.Default MetaGraphDef'SignatureDefEntry
         where
        def
          = MetaGraphDef'SignatureDefEntry{_MetaGraphDef'SignatureDefEntry'key
                                             = Data.ProtoLens.fieldDefault,
                                           _MetaGraphDef'SignatureDefEntry'value = Prelude.Nothing}

instance Data.ProtoLens.Message MetaGraphDef'SignatureDefEntry
         where
        descriptor
          = let key__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "key"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional key)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'SignatureDefEntry
                value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor SignatureDef)
                      (Data.ProtoLens.OptionalField maybe'value)
                      :: Data.ProtoLens.FieldDescriptor MetaGraphDef'SignatureDefEntry
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MetaGraphDef.SignatureDefEntry")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, key__field_descriptor),
                    (Data.ProtoLens.Tag 2, value__field_descriptor)])
                (Data.Map.fromList
                   [("key", key__field_descriptor),
                    ("value", value__field_descriptor)])

data SignatureDef = SignatureDef{_SignatureDef'inputs ::
                                 !(Data.Map.Map Data.Text.Text TensorInfo),
                                 _SignatureDef'outputs :: !(Data.Map.Map Data.Text.Text TensorInfo),
                                 _SignatureDef'methodName :: !Data.Text.Text}
                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Map.Map Data.Text.Text TensorInfo,
          b ~ Data.Map.Map Data.Text.Text TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "inputs" f SignatureDef SignatureDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'inputs
                 (\ x__ y__ -> x__{_SignatureDef'inputs = y__}))
              Prelude.id

instance (a ~ Data.Map.Map Data.Text.Text TensorInfo,
          b ~ Data.Map.Map Data.Text.Text TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "outputs" f SignatureDef SignatureDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'outputs
                 (\ x__ y__ -> x__{_SignatureDef'outputs = y__}))
              Prelude.id

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "methodName" f SignatureDef SignatureDef a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'methodName
                 (\ x__ y__ -> x__{_SignatureDef'methodName = y__}))
              Prelude.id

instance Data.Default.Class.Default SignatureDef where
        def
          = SignatureDef{_SignatureDef'inputs = Data.Map.empty,
                         _SignatureDef'outputs = Data.Map.empty,
                         _SignatureDef'methodName = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message SignatureDef where
        descriptor
          = let inputs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "inputs"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor SignatureDef'InputsEntry)
                      (Data.ProtoLens.MapField key value inputs)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef
                outputs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "outputs"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor SignatureDef'OutputsEntry)
                      (Data.ProtoLens.MapField key value outputs)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef
                methodName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "method_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional methodName)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.SignatureDef")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, inputs__field_descriptor),
                    (Data.ProtoLens.Tag 2, outputs__field_descriptor),
                    (Data.ProtoLens.Tag 3, methodName__field_descriptor)])
                (Data.Map.fromList
                   [("inputs", inputs__field_descriptor),
                    ("outputs", outputs__field_descriptor),
                    ("method_name", methodName__field_descriptor)])

data SignatureDef'InputsEntry = SignatureDef'InputsEntry{_SignatureDef'InputsEntry'key
                                                         :: !Data.Text.Text,
                                                         _SignatureDef'InputsEntry'value ::
                                                         !(Prelude.Maybe TensorInfo)}
                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "key" f SignatureDef'InputsEntry
           SignatureDef'InputsEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'InputsEntry'key
                 (\ x__ y__ -> x__{_SignatureDef'InputsEntry'key = y__}))
              Prelude.id

instance (a ~ TensorInfo, b ~ TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f SignatureDef'InputsEntry
           SignatureDef'InputsEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'InputsEntry'value
                 (\ x__ y__ -> x__{_SignatureDef'InputsEntry'value = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe TensorInfo,
          b ~ Prelude.Maybe TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'value" f SignatureDef'InputsEntry
           SignatureDef'InputsEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'InputsEntry'value
                 (\ x__ y__ -> x__{_SignatureDef'InputsEntry'value = y__}))
              Prelude.id

instance Data.Default.Class.Default SignatureDef'InputsEntry where
        def
          = SignatureDef'InputsEntry{_SignatureDef'InputsEntry'key =
                                       Data.ProtoLens.fieldDefault,
                                     _SignatureDef'InputsEntry'value = Prelude.Nothing}

instance Data.ProtoLens.Message SignatureDef'InputsEntry where
        descriptor
          = let key__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "key"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional key)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef'InputsEntry
                value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor TensorInfo)
                      (Data.ProtoLens.OptionalField maybe'value)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef'InputsEntry
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.SignatureDef.InputsEntry")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, key__field_descriptor),
                    (Data.ProtoLens.Tag 2, value__field_descriptor)])
                (Data.Map.fromList
                   [("key", key__field_descriptor),
                    ("value", value__field_descriptor)])

data SignatureDef'OutputsEntry = SignatureDef'OutputsEntry{_SignatureDef'OutputsEntry'key
                                                           :: !Data.Text.Text,
                                                           _SignatureDef'OutputsEntry'value ::
                                                           !(Prelude.Maybe TensorInfo)}
                               deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "key" f SignatureDef'OutputsEntry
           SignatureDef'OutputsEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'OutputsEntry'key
                 (\ x__ y__ -> x__{_SignatureDef'OutputsEntry'key = y__}))
              Prelude.id

instance (a ~ TensorInfo, b ~ TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "value" f SignatureDef'OutputsEntry
           SignatureDef'OutputsEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'OutputsEntry'value
                 (\ x__ y__ -> x__{_SignatureDef'OutputsEntry'value = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~ Prelude.Maybe TensorInfo,
          b ~ Prelude.Maybe TensorInfo, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'value" f SignatureDef'OutputsEntry
           SignatureDef'OutputsEntry
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _SignatureDef'OutputsEntry'value
                 (\ x__ y__ -> x__{_SignatureDef'OutputsEntry'value = y__}))
              Prelude.id

instance Data.Default.Class.Default SignatureDef'OutputsEntry where
        def
          = SignatureDef'OutputsEntry{_SignatureDef'OutputsEntry'key =
                                        Data.ProtoLens.fieldDefault,
                                      _SignatureDef'OutputsEntry'value = Prelude.Nothing}

instance Data.ProtoLens.Message SignatureDef'OutputsEntry where
        descriptor
          = let key__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "key"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional key)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef'OutputsEntry
                value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor TensorInfo)
                      (Data.ProtoLens.OptionalField maybe'value)
                      :: Data.ProtoLens.FieldDescriptor SignatureDef'OutputsEntry
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.SignatureDef.OutputsEntry")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, key__field_descriptor),
                    (Data.ProtoLens.Tag 2, value__field_descriptor)])
                (Data.Map.fromList
                   [("key", key__field_descriptor),
                    ("value", value__field_descriptor)])

data TensorInfo = TensorInfo{_TensorInfo'dtype ::
                             !Proto.Tensorflow.Core.Framework.Types.DataType,
                             _TensorInfo'tensorShape ::
                             !(Prelude.Maybe
                                 Proto.Tensorflow.Core.Framework.TensorShape.TensorShapeProto),
                             _TensorInfo'encoding :: !(Prelude.Maybe TensorInfo'Encoding)}
                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

data TensorInfo'Encoding = TensorInfo'Name !Data.Text.Text
                         | TensorInfo'CooSparse' !TensorInfo'CooSparse
                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Proto.Tensorflow.Core.Framework.Types.DataType,
          b ~ Proto.Tensorflow.Core.Framework.Types.DataType,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "dtype" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'dtype
                 (\ x__ y__ -> x__{_TensorInfo'dtype = y__}))
              Prelude.id

instance (a ~
            Proto.Tensorflow.Core.Framework.TensorShape.TensorShapeProto,
          b ~ Proto.Tensorflow.Core.Framework.TensorShape.TensorShapeProto,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "tensorShape" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'tensorShape
                 (\ x__ y__ -> x__{_TensorInfo'tensorShape = y__}))
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

instance (a ~
            Prelude.Maybe
              Proto.Tensorflow.Core.Framework.TensorShape.TensorShapeProto,
          b ~
            Prelude.Maybe
              Proto.Tensorflow.Core.Framework.TensorShape.TensorShapeProto,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'tensorShape" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'tensorShape
                 (\ x__ y__ -> x__{_TensorInfo'tensorShape = y__}))
              Prelude.id

instance (a ~ Prelude.Maybe TensorInfo'Encoding,
          b ~ Prelude.Maybe TensorInfo'Encoding, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'encoding" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'encoding
                 (\ x__ y__ -> x__{_TensorInfo'encoding = y__}))
              Prelude.id

instance (a ~ Prelude.Maybe Data.Text.Text,
          b ~ Prelude.Maybe Data.Text.Text, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'name" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'encoding
                 (\ x__ y__ -> x__{_TensorInfo'encoding = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (TensorInfo'Name x__val) -> Prelude.Just x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap TensorInfo'Name y__))

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "name" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'encoding
                 (\ x__ y__ -> x__{_TensorInfo'encoding = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (TensorInfo'Name x__val) -> Prelude.Just x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap TensorInfo'Name y__))
                 (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))

instance (a ~ Prelude.Maybe TensorInfo'CooSparse,
          b ~ Prelude.Maybe TensorInfo'CooSparse, Prelude.Functor f) =>
         Lens.Labels.HasLens "maybe'cooSparse" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'encoding
                 (\ x__ y__ -> x__{_TensorInfo'encoding = y__}))
              (Lens.Family2.Unchecked.lens
                 (\ x__ ->
                    case x__ of
                        Prelude.Just (TensorInfo'CooSparse' x__val) -> Prelude.Just x__val
                        _otherwise -> Prelude.Nothing)
                 (\ _ y__ -> Prelude.fmap TensorInfo'CooSparse' y__))

instance (a ~ TensorInfo'CooSparse, b ~ TensorInfo'CooSparse,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "cooSparse" f TensorInfo TensorInfo a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'encoding
                 (\ x__ y__ -> x__{_TensorInfo'encoding = y__}))
              ((Prelude..)
                 (Lens.Family2.Unchecked.lens
                    (\ x__ ->
                       case x__ of
                           Prelude.Just (TensorInfo'CooSparse' x__val) -> Prelude.Just x__val
                           _otherwise -> Prelude.Nothing)
                    (\ _ y__ -> Prelude.fmap TensorInfo'CooSparse' y__))
                 (Data.ProtoLens.maybeLens Data.Default.Class.def))

instance Data.Default.Class.Default TensorInfo where
        def
          = TensorInfo{_TensorInfo'dtype = Data.Default.Class.def,
                       _TensorInfo'tensorShape = Prelude.Nothing,
                       _TensorInfo'encoding = Prelude.Nothing}

instance Data.ProtoLens.Message TensorInfo where
        descriptor
          = let dtype__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "dtype"
                      (Data.ProtoLens.EnumField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.Types.DataType)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional dtype)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo
                tensorShape__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tensor_shape"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.TensorShape.TensorShapeProto)
                      (Data.ProtoLens.OptionalField maybe'tensorShape)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo
                name__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.OptionalField maybe'name)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo
                cooSparse__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "coo_sparse"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor TensorInfo'CooSparse)
                      (Data.ProtoLens.OptionalField maybe'cooSparse)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.TensorInfo")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 2, dtype__field_descriptor),
                    (Data.ProtoLens.Tag 3, tensorShape__field_descriptor),
                    (Data.ProtoLens.Tag 1, name__field_descriptor),
                    (Data.ProtoLens.Tag 4, cooSparse__field_descriptor)])
                (Data.Map.fromList
                   [("dtype", dtype__field_descriptor),
                    ("tensor_shape", tensorShape__field_descriptor),
                    ("name", name__field_descriptor),
                    ("coo_sparse", cooSparse__field_descriptor)])

data TensorInfo'CooSparse = TensorInfo'CooSparse{_TensorInfo'CooSparse'valuesTensorName
                                                 :: !Data.Text.Text,
                                                 _TensorInfo'CooSparse'indicesTensorName ::
                                                 !Data.Text.Text,
                                                 _TensorInfo'CooSparse'denseShapeTensorName ::
                                                 !Data.Text.Text}
                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "valuesTensorName" f TensorInfo'CooSparse
           TensorInfo'CooSparse
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _TensorInfo'CooSparse'valuesTensorName
                 (\ x__ y__ -> x__{_TensorInfo'CooSparse'valuesTensorName = y__}))
              Prelude.id

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "indicesTensorName" f TensorInfo'CooSparse
           TensorInfo'CooSparse
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _TensorInfo'CooSparse'indicesTensorName
                 (\ x__ y__ -> x__{_TensorInfo'CooSparse'indicesTensorName = y__}))
              Prelude.id

instance (a ~ Data.Text.Text, b ~ Data.Text.Text,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "denseShapeTensorName" f TensorInfo'CooSparse
           TensorInfo'CooSparse
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _TensorInfo'CooSparse'denseShapeTensorName
                 (\ x__ y__ ->
                    x__{_TensorInfo'CooSparse'denseShapeTensorName = y__}))
              Prelude.id

instance Data.Default.Class.Default TensorInfo'CooSparse where
        def
          = TensorInfo'CooSparse{_TensorInfo'CooSparse'valuesTensorName =
                                   Data.ProtoLens.fieldDefault,
                                 _TensorInfo'CooSparse'indicesTensorName =
                                   Data.ProtoLens.fieldDefault,
                                 _TensorInfo'CooSparse'denseShapeTensorName =
                                   Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message TensorInfo'CooSparse where
        descriptor
          = let valuesTensorName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "values_tensor_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         valuesTensorName)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo'CooSparse
                indicesTensorName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "indices_tensor_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         indicesTensorName)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo'CooSparse
                denseShapeTensorName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "dense_shape_tensor_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         denseShapeTensorName)
                      :: Data.ProtoLens.FieldDescriptor TensorInfo'CooSparse
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.TensorInfo.CooSparse")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, valuesTensorName__field_descriptor),
                    (Data.ProtoLens.Tag 2, indicesTensorName__field_descriptor),
                    (Data.ProtoLens.Tag 3, denseShapeTensorName__field_descriptor)])
                (Data.Map.fromList
                   [("values_tensor_name", valuesTensorName__field_descriptor),
                    ("indices_tensor_name", indicesTensorName__field_descriptor),
                    ("dense_shape_tensor_name",
                     denseShapeTensorName__field_descriptor)])

anyInfo ::
        forall f s t a b . (Lens.Labels.HasLens "anyInfo" f s t a b) =>
          Lens.Family2.LensLike f s t a b
anyInfo
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "anyInfo")

anyList ::
        forall f s t a b . (Lens.Labels.HasLens "anyList" f s t a b) =>
          Lens.Family2.LensLike f s t a b
anyList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "anyList")

assetFileDef ::
             forall f s t a b .
               (Lens.Labels.HasLens "assetFileDef" f s t a b) =>
               Lens.Family2.LensLike f s t a b
assetFileDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "assetFileDef")

bytesList ::
          forall f s t a b . (Lens.Labels.HasLens "bytesList" f s t a b) =>
            Lens.Family2.LensLike f s t a b
bytesList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "bytesList")

collectionDef ::
              forall f s t a b .
                (Lens.Labels.HasLens "collectionDef" f s t a b) =>
                Lens.Family2.LensLike f s t a b
collectionDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "collectionDef")

cooSparse ::
          forall f s t a b . (Lens.Labels.HasLens "cooSparse" f s t a b) =>
            Lens.Family2.LensLike f s t a b
cooSparse
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "cooSparse")

denseShapeTensorName ::
                     forall f s t a b .
                       (Lens.Labels.HasLens "denseShapeTensorName" f s t a b) =>
                       Lens.Family2.LensLike f s t a b
denseShapeTensorName
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) ::
         (Lens.Labels.Proxy#) "denseShapeTensorName")

dtype ::
      forall f s t a b . (Lens.Labels.HasLens "dtype" f s t a b) =>
        Lens.Family2.LensLike f s t a b
dtype
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dtype")

filename ::
         forall f s t a b . (Lens.Labels.HasLens "filename" f s t a b) =>
           Lens.Family2.LensLike f s t a b
filename
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "filename")

floatList ::
          forall f s t a b . (Lens.Labels.HasLens "floatList" f s t a b) =>
            Lens.Family2.LensLike f s t a b
floatList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "floatList")

graphDef ::
         forall f s t a b . (Lens.Labels.HasLens "graphDef" f s t a b) =>
           Lens.Family2.LensLike f s t a b
graphDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "graphDef")

indicesTensorName ::
                  forall f s t a b .
                    (Lens.Labels.HasLens "indicesTensorName" f s t a b) =>
                    Lens.Family2.LensLike f s t a b
indicesTensorName
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "indicesTensorName")

inputs ::
       forall f s t a b . (Lens.Labels.HasLens "inputs" f s t a b) =>
         Lens.Family2.LensLike f s t a b
inputs
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "inputs")

int64List ::
          forall f s t a b . (Lens.Labels.HasLens "int64List" f s t a b) =>
            Lens.Family2.LensLike f s t a b
int64List
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "int64List")

key ::
    forall f s t a b . (Lens.Labels.HasLens "key" f s t a b) =>
      Lens.Family2.LensLike f s t a b
key
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "key")

maybe'anyInfo ::
              forall f s t a b .
                (Lens.Labels.HasLens "maybe'anyInfo" f s t a b) =>
                Lens.Family2.LensLike f s t a b
maybe'anyInfo
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'anyInfo")

maybe'anyList ::
              forall f s t a b .
                (Lens.Labels.HasLens "maybe'anyList" f s t a b) =>
                Lens.Family2.LensLike f s t a b
maybe'anyList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'anyList")

maybe'bytesList ::
                forall f s t a b .
                  (Lens.Labels.HasLens "maybe'bytesList" f s t a b) =>
                  Lens.Family2.LensLike f s t a b
maybe'bytesList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'bytesList")

maybe'cooSparse ::
                forall f s t a b .
                  (Lens.Labels.HasLens "maybe'cooSparse" f s t a b) =>
                  Lens.Family2.LensLike f s t a b
maybe'cooSparse
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'cooSparse")

maybe'encoding ::
               forall f s t a b .
                 (Lens.Labels.HasLens "maybe'encoding" f s t a b) =>
                 Lens.Family2.LensLike f s t a b
maybe'encoding
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'encoding")

maybe'floatList ::
                forall f s t a b .
                  (Lens.Labels.HasLens "maybe'floatList" f s t a b) =>
                  Lens.Family2.LensLike f s t a b
maybe'floatList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'floatList")

maybe'graphDef ::
               forall f s t a b .
                 (Lens.Labels.HasLens "maybe'graphDef" f s t a b) =>
                 Lens.Family2.LensLike f s t a b
maybe'graphDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'graphDef")

maybe'int64List ::
                forall f s t a b .
                  (Lens.Labels.HasLens "maybe'int64List" f s t a b) =>
                  Lens.Family2.LensLike f s t a b
maybe'int64List
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'int64List")

maybe'kind ::
           forall f s t a b . (Lens.Labels.HasLens "maybe'kind" f s t a b) =>
             Lens.Family2.LensLike f s t a b
maybe'kind
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'kind")

maybe'metaInfoDef ::
                  forall f s t a b .
                    (Lens.Labels.HasLens "maybe'metaInfoDef" f s t a b) =>
                    Lens.Family2.LensLike f s t a b
maybe'metaInfoDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'metaInfoDef")

maybe'name ::
           forall f s t a b . (Lens.Labels.HasLens "maybe'name" f s t a b) =>
             Lens.Family2.LensLike f s t a b
maybe'name
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")

maybe'nodeList ::
               forall f s t a b .
                 (Lens.Labels.HasLens "maybe'nodeList" f s t a b) =>
                 Lens.Family2.LensLike f s t a b
maybe'nodeList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'nodeList")

maybe'saverDef ::
               forall f s t a b .
                 (Lens.Labels.HasLens "maybe'saverDef" f s t a b) =>
                 Lens.Family2.LensLike f s t a b
maybe'saverDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'saverDef")

maybe'strippedOpList ::
                     forall f s t a b .
                       (Lens.Labels.HasLens "maybe'strippedOpList" f s t a b) =>
                       Lens.Family2.LensLike f s t a b
maybe'strippedOpList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) ::
         (Lens.Labels.Proxy#) "maybe'strippedOpList")

maybe'tensorInfo ::
                 forall f s t a b .
                   (Lens.Labels.HasLens "maybe'tensorInfo" f s t a b) =>
                   Lens.Family2.LensLike f s t a b
maybe'tensorInfo
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'tensorInfo")

maybe'tensorShape ::
                  forall f s t a b .
                    (Lens.Labels.HasLens "maybe'tensorShape" f s t a b) =>
                    Lens.Family2.LensLike f s t a b
maybe'tensorShape
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'tensorShape")

maybe'value ::
            forall f s t a b . (Lens.Labels.HasLens "maybe'value" f s t a b) =>
              Lens.Family2.LensLike f s t a b
maybe'value
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'value")

metaGraphVersion ::
                 forall f s t a b .
                   (Lens.Labels.HasLens "metaGraphVersion" f s t a b) =>
                   Lens.Family2.LensLike f s t a b
metaGraphVersion
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "metaGraphVersion")

metaInfoDef ::
            forall f s t a b . (Lens.Labels.HasLens "metaInfoDef" f s t a b) =>
              Lens.Family2.LensLike f s t a b
metaInfoDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "metaInfoDef")

methodName ::
           forall f s t a b . (Lens.Labels.HasLens "methodName" f s t a b) =>
             Lens.Family2.LensLike f s t a b
methodName
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "methodName")

name ::
     forall f s t a b . (Lens.Labels.HasLens "name" f s t a b) =>
       Lens.Family2.LensLike f s t a b
name
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")

nodeList ::
         forall f s t a b . (Lens.Labels.HasLens "nodeList" f s t a b) =>
           Lens.Family2.LensLike f s t a b
nodeList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nodeList")

outputs ::
        forall f s t a b . (Lens.Labels.HasLens "outputs" f s t a b) =>
          Lens.Family2.LensLike f s t a b
outputs
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "outputs")

saverDef ::
         forall f s t a b . (Lens.Labels.HasLens "saverDef" f s t a b) =>
           Lens.Family2.LensLike f s t a b
saverDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "saverDef")

signatureDef ::
             forall f s t a b .
               (Lens.Labels.HasLens "signatureDef" f s t a b) =>
               Lens.Family2.LensLike f s t a b
signatureDef
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "signatureDef")

strippedDefaultAttrs ::
                     forall f s t a b .
                       (Lens.Labels.HasLens "strippedDefaultAttrs" f s t a b) =>
                       Lens.Family2.LensLike f s t a b
strippedDefaultAttrs
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) ::
         (Lens.Labels.Proxy#) "strippedDefaultAttrs")

strippedOpList ::
               forall f s t a b .
                 (Lens.Labels.HasLens "strippedOpList" f s t a b) =>
                 Lens.Family2.LensLike f s t a b
strippedOpList
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "strippedOpList")

tags ::
     forall f s t a b . (Lens.Labels.HasLens "tags" f s t a b) =>
       Lens.Family2.LensLike f s t a b
tags
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "tags")

tensorInfo ::
           forall f s t a b . (Lens.Labels.HasLens "tensorInfo" f s t a b) =>
             Lens.Family2.LensLike f s t a b
tensorInfo
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "tensorInfo")

tensorShape ::
            forall f s t a b . (Lens.Labels.HasLens "tensorShape" f s t a b) =>
              Lens.Family2.LensLike f s t a b
tensorShape
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "tensorShape")

tensorflowGitVersion ::
                     forall f s t a b .
                       (Lens.Labels.HasLens "tensorflowGitVersion" f s t a b) =>
                       Lens.Family2.LensLike f s t a b
tensorflowGitVersion
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) ::
         (Lens.Labels.Proxy#) "tensorflowGitVersion")

tensorflowVersion ::
                  forall f s t a b .
                    (Lens.Labels.HasLens "tensorflowVersion" f s t a b) =>
                    Lens.Family2.LensLike f s t a b
tensorflowVersion
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "tensorflowVersion")

value ::
      forall f s t a b . (Lens.Labels.HasLens "value" f s t a b) =>
        Lens.Family2.LensLike f s t a b
value
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")

valuesTensorName ::
                 forall f s t a b .
                   (Lens.Labels.HasLens "valuesTensorName" f s t a b) =>
                   Lens.Family2.LensLike f s t a b
valuesTensorName
  = Lens.Labels.lensOf
      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "valuesTensorName")