{- This file was auto-generated from tensorflow/core/framework/log_memory.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.Framework.LogMemory 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.Tensorflow.Core.Framework.TensorDescription

data MemoryLogRawAllocation = MemoryLogRawAllocation{_MemoryLogRawAllocation'stepId
                                                     :: !Data.Int.Int64,
                                                     _MemoryLogRawAllocation'operation ::
                                                     !Data.Text.Text,
                                                     _MemoryLogRawAllocation'numBytes ::
                                                     !Data.Int.Int64,
                                                     _MemoryLogRawAllocation'ptr ::
                                                     !Data.Word.Word64,
                                                     _MemoryLogRawAllocation'allocationId ::
                                                     !Data.Int.Int64,
                                                     _MemoryLogRawAllocation'allocatorName ::
                                                     !Data.Text.Text}
                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "stepId" f MemoryLogRawAllocation
           MemoryLogRawAllocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogRawAllocation'stepId
                 (\ x__ y__ -> x__{_MemoryLogRawAllocation'stepId = y__}))
              Prelude.id

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

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "numBytes" f MemoryLogRawAllocation
           MemoryLogRawAllocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogRawAllocation'numBytes
                 (\ x__ y__ -> x__{_MemoryLogRawAllocation'numBytes = y__}))
              Prelude.id

instance (a ~ Data.Word.Word64, b ~ Data.Word.Word64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "ptr" f MemoryLogRawAllocation
           MemoryLogRawAllocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogRawAllocation'ptr
                 (\ x__ y__ -> x__{_MemoryLogRawAllocation'ptr = y__}))
              Prelude.id

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "allocationId" f MemoryLogRawAllocation
           MemoryLogRawAllocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogRawAllocation'allocationId
                 (\ x__ y__ -> x__{_MemoryLogRawAllocation'allocationId = y__}))
              Prelude.id

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

instance Data.Default.Class.Default MemoryLogRawAllocation where
        def
          = MemoryLogRawAllocation{_MemoryLogRawAllocation'stepId =
                                     Data.ProtoLens.fieldDefault,
                                   _MemoryLogRawAllocation'operation = Data.ProtoLens.fieldDefault,
                                   _MemoryLogRawAllocation'numBytes = Data.ProtoLens.fieldDefault,
                                   _MemoryLogRawAllocation'ptr = Data.ProtoLens.fieldDefault,
                                   _MemoryLogRawAllocation'allocationId =
                                     Data.ProtoLens.fieldDefault,
                                   _MemoryLogRawAllocation'allocatorName =
                                     Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message MemoryLogRawAllocation where
        descriptor
          = let stepId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "step_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional stepId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawAllocation
                operation__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "operation"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional operation)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawAllocation
                numBytes__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "num_bytes"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional numBytes)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawAllocation
                ptr__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "ptr"
                      (Data.ProtoLens.UInt64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional ptr)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawAllocation
                allocationId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocation_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocationId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawAllocation
                allocatorName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocator_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocatorName)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawAllocation
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MemoryLogRawAllocation")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, stepId__field_descriptor),
                    (Data.ProtoLens.Tag 2, operation__field_descriptor),
                    (Data.ProtoLens.Tag 3, numBytes__field_descriptor),
                    (Data.ProtoLens.Tag 4, ptr__field_descriptor),
                    (Data.ProtoLens.Tag 5, allocationId__field_descriptor),
                    (Data.ProtoLens.Tag 6, allocatorName__field_descriptor)])
                (Data.Map.fromList
                   [("step_id", stepId__field_descriptor),
                    ("operation", operation__field_descriptor),
                    ("num_bytes", numBytes__field_descriptor),
                    ("ptr", ptr__field_descriptor),
                    ("allocation_id", allocationId__field_descriptor),
                    ("allocator_name", allocatorName__field_descriptor)])

data MemoryLogRawDeallocation = MemoryLogRawDeallocation{_MemoryLogRawDeallocation'stepId
                                                         :: !Data.Int.Int64,
                                                         _MemoryLogRawDeallocation'operation ::
                                                         !Data.Text.Text,
                                                         _MemoryLogRawDeallocation'allocationId ::
                                                         !Data.Int.Int64,
                                                         _MemoryLogRawDeallocation'allocatorName ::
                                                         !Data.Text.Text,
                                                         _MemoryLogRawDeallocation'deferred ::
                                                         !Prelude.Bool}
                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "stepId" f MemoryLogRawDeallocation
           MemoryLogRawDeallocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogRawDeallocation'stepId
                 (\ x__ y__ -> x__{_MemoryLogRawDeallocation'stepId = y__}))
              Prelude.id

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

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "allocationId" f MemoryLogRawDeallocation
           MemoryLogRawDeallocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogRawDeallocation'allocationId
                 (\ x__ y__ -> x__{_MemoryLogRawDeallocation'allocationId = y__}))
              Prelude.id

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

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

instance Data.Default.Class.Default MemoryLogRawDeallocation where
        def
          = MemoryLogRawDeallocation{_MemoryLogRawDeallocation'stepId =
                                       Data.ProtoLens.fieldDefault,
                                     _MemoryLogRawDeallocation'operation =
                                       Data.ProtoLens.fieldDefault,
                                     _MemoryLogRawDeallocation'allocationId =
                                       Data.ProtoLens.fieldDefault,
                                     _MemoryLogRawDeallocation'allocatorName =
                                       Data.ProtoLens.fieldDefault,
                                     _MemoryLogRawDeallocation'deferred =
                                       Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message MemoryLogRawDeallocation where
        descriptor
          = let stepId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "step_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional stepId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawDeallocation
                operation__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "operation"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional operation)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawDeallocation
                allocationId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocation_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocationId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawDeallocation
                allocatorName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocator_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocatorName)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawDeallocation
                deferred__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "deferred"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional deferred)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogRawDeallocation
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MemoryLogRawDeallocation")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, stepId__field_descriptor),
                    (Data.ProtoLens.Tag 2, operation__field_descriptor),
                    (Data.ProtoLens.Tag 3, allocationId__field_descriptor),
                    (Data.ProtoLens.Tag 4, allocatorName__field_descriptor),
                    (Data.ProtoLens.Tag 5, deferred__field_descriptor)])
                (Data.Map.fromList
                   [("step_id", stepId__field_descriptor),
                    ("operation", operation__field_descriptor),
                    ("allocation_id", allocationId__field_descriptor),
                    ("allocator_name", allocatorName__field_descriptor),
                    ("deferred", deferred__field_descriptor)])

data MemoryLogStep = MemoryLogStep{_MemoryLogStep'stepId ::
                                   !Data.Int.Int64,
                                   _MemoryLogStep'handle :: !Data.Text.Text}
                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "stepId" f MemoryLogStep MemoryLogStep a b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogStep'stepId
                 (\ x__ y__ -> x__{_MemoryLogStep'stepId = y__}))
              Prelude.id

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

instance Data.Default.Class.Default MemoryLogStep where
        def
          = MemoryLogStep{_MemoryLogStep'stepId =
                            Data.ProtoLens.fieldDefault,
                          _MemoryLogStep'handle = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message MemoryLogStep where
        descriptor
          = let stepId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "step_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional stepId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogStep
                handle__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "handle"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional handle)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogStep
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MemoryLogStep")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, stepId__field_descriptor),
                    (Data.ProtoLens.Tag 2, handle__field_descriptor)])
                (Data.Map.fromList
                   [("step_id", stepId__field_descriptor),
                    ("handle", handle__field_descriptor)])

data MemoryLogTensorAllocation = MemoryLogTensorAllocation{_MemoryLogTensorAllocation'stepId
                                                           :: !Data.Int.Int64,
                                                           _MemoryLogTensorAllocation'kernelName ::
                                                           !Data.Text.Text,
                                                           _MemoryLogTensorAllocation'tensor ::
                                                           !(Prelude.Maybe
                                                               Proto.Tensorflow.Core.Framework.TensorDescription.TensorDescription)}
                               deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "stepId" f MemoryLogTensorAllocation
           MemoryLogTensorAllocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogTensorAllocation'stepId
                 (\ x__ y__ -> x__{_MemoryLogTensorAllocation'stepId = y__}))
              Prelude.id

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

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

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

instance Data.Default.Class.Default MemoryLogTensorAllocation where
        def
          = MemoryLogTensorAllocation{_MemoryLogTensorAllocation'stepId =
                                        Data.ProtoLens.fieldDefault,
                                      _MemoryLogTensorAllocation'kernelName =
                                        Data.ProtoLens.fieldDefault,
                                      _MemoryLogTensorAllocation'tensor = Prelude.Nothing}

instance Data.ProtoLens.Message MemoryLogTensorAllocation where
        descriptor
          = let stepId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "step_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional stepId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorAllocation
                kernelName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "kernel_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional kernelName)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorAllocation
                tensor__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tensor"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.TensorDescription.TensorDescription)
                      (Data.ProtoLens.OptionalField maybe'tensor)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorAllocation
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MemoryLogTensorAllocation")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, stepId__field_descriptor),
                    (Data.ProtoLens.Tag 2, kernelName__field_descriptor),
                    (Data.ProtoLens.Tag 3, tensor__field_descriptor)])
                (Data.Map.fromList
                   [("step_id", stepId__field_descriptor),
                    ("kernel_name", kernelName__field_descriptor),
                    ("tensor", tensor__field_descriptor)])

data MemoryLogTensorDeallocation = MemoryLogTensorDeallocation{_MemoryLogTensorDeallocation'allocationId
                                                               :: !Data.Int.Int64,
                                                               _MemoryLogTensorDeallocation'allocatorName
                                                               :: !Data.Text.Text}
                                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "allocationId" f MemoryLogTensorDeallocation
           MemoryLogTensorDeallocation
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens
                 _MemoryLogTensorDeallocation'allocationId
                 (\ x__ y__ ->
                    x__{_MemoryLogTensorDeallocation'allocationId = y__}))
              Prelude.id

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

instance Data.Default.Class.Default MemoryLogTensorDeallocation
         where
        def
          = MemoryLogTensorDeallocation{_MemoryLogTensorDeallocation'allocationId
                                          = Data.ProtoLens.fieldDefault,
                                        _MemoryLogTensorDeallocation'allocatorName =
                                          Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message MemoryLogTensorDeallocation where
        descriptor
          = let allocationId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocation_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocationId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorDeallocation
                allocatorName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocator_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocatorName)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorDeallocation
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MemoryLogTensorDeallocation")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, allocationId__field_descriptor),
                    (Data.ProtoLens.Tag 2, allocatorName__field_descriptor)])
                (Data.Map.fromList
                   [("allocation_id", allocationId__field_descriptor),
                    ("allocator_name", allocatorName__field_descriptor)])

data MemoryLogTensorOutput = MemoryLogTensorOutput{_MemoryLogTensorOutput'stepId
                                                   :: !Data.Int.Int64,
                                                   _MemoryLogTensorOutput'kernelName ::
                                                   !Data.Text.Text,
                                                   _MemoryLogTensorOutput'index :: !Data.Int.Int32,
                                                   _MemoryLogTensorOutput'tensor ::
                                                   !(Prelude.Maybe
                                                       Proto.Tensorflow.Core.Framework.TensorDescription.TensorDescription)}
                           deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)

instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "stepId" f MemoryLogTensorOutput
           MemoryLogTensorOutput
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogTensorOutput'stepId
                 (\ x__ y__ -> x__{_MemoryLogTensorOutput'stepId = y__}))
              Prelude.id

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

instance (a ~ Data.Int.Int32, b ~ Data.Int.Int32,
          Prelude.Functor f) =>
         Lens.Labels.HasLens "index" f MemoryLogTensorOutput
           MemoryLogTensorOutput
           a
           b
         where
        lensOf _
          = (Prelude..)
              (Lens.Family2.Unchecked.lens _MemoryLogTensorOutput'index
                 (\ x__ y__ -> x__{_MemoryLogTensorOutput'index = y__}))
              Prelude.id

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

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

instance Data.Default.Class.Default MemoryLogTensorOutput where
        def
          = MemoryLogTensorOutput{_MemoryLogTensorOutput'stepId =
                                    Data.ProtoLens.fieldDefault,
                                  _MemoryLogTensorOutput'kernelName = Data.ProtoLens.fieldDefault,
                                  _MemoryLogTensorOutput'index = Data.ProtoLens.fieldDefault,
                                  _MemoryLogTensorOutput'tensor = Prelude.Nothing}

instance Data.ProtoLens.Message MemoryLogTensorOutput where
        descriptor
          = let stepId__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "step_id"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional stepId)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorOutput
                kernelName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "kernel_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional kernelName)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorOutput
                index__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "index"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional index)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorOutput
                tensor__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "tensor"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.TensorDescription.TensorDescription)
                      (Data.ProtoLens.OptionalField maybe'tensor)
                      :: Data.ProtoLens.FieldDescriptor MemoryLogTensorOutput
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Text.pack "tensorflow.MemoryLogTensorOutput")
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, stepId__field_descriptor),
                    (Data.ProtoLens.Tag 2, kernelName__field_descriptor),
                    (Data.ProtoLens.Tag 3, index__field_descriptor),
                    (Data.ProtoLens.Tag 4, tensor__field_descriptor)])
                (Data.Map.fromList
                   [("step_id", stepId__field_descriptor),
                    ("kernel_name", kernelName__field_descriptor),
                    ("index", index__field_descriptor),
                    ("tensor", tensor__field_descriptor)])

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

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

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

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

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

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

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

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

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

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

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

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