// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: second/protos/activations.proto

#include "second/protos/activations.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

namespace second {
namespace protos {
PROTOBUF_CONSTEXPR ReLU::ReLU(
    ::_pbi::ConstantInitialized) {}
struct ReLUDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReLUDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReLUDefaultTypeInternal() {}
  union {
    ReLU _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReLUDefaultTypeInternal _ReLU_default_instance_;
PROTOBUF_CONSTEXPR LeakyReLU::LeakyReLU(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.leakness_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct LeakyReLUDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LeakyReLUDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~LeakyReLUDefaultTypeInternal() {}
  union {
    LeakyReLU _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LeakyReLUDefaultTypeInternal _LeakyReLU_default_instance_;
PROTOBUF_CONSTEXPR Swish::Swish(
    ::_pbi::ConstantInitialized) {}
struct SwishDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SwishDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SwishDefaultTypeInternal() {}
  union {
    Swish _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SwishDefaultTypeInternal _Swish_default_instance_;
PROTOBUF_CONSTEXPR ELU::ELU(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.alpha_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ELUDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ELUDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ELUDefaultTypeInternal() {}
  union {
    ELU _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ELUDefaultTypeInternal _ELU_default_instance_;
PROTOBUF_CONSTEXPR Softplus::Softplus(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.beta_)*/0
  , /*decltype(_impl_.threshold_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SoftplusDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SoftplusDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SoftplusDefaultTypeInternal() {}
  union {
    Softplus _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SoftplusDefaultTypeInternal _Softplus_default_instance_;
PROTOBUF_CONSTEXPR Softsign::Softsign(
    ::_pbi::ConstantInitialized) {}
struct SoftsignDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SoftsignDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SoftsignDefaultTypeInternal() {}
  union {
    Softsign _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SoftsignDefaultTypeInternal _Softsign_default_instance_;
PROTOBUF_CONSTEXPR ReLU6::ReLU6(
    ::_pbi::ConstantInitialized) {}
struct ReLU6DefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReLU6DefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReLU6DefaultTypeInternal() {}
  union {
    ReLU6 _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReLU6DefaultTypeInternal _ReLU6_default_instance_;
PROTOBUF_CONSTEXPR SELU::SELU(
    ::_pbi::ConstantInitialized) {}
struct SELUDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SELUDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SELUDefaultTypeInternal() {}
  union {
    SELU _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SELUDefaultTypeInternal _SELU_default_instance_;
PROTOBUF_CONSTEXPR Activation::Activation(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.activation_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct ActivationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ActivationDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ActivationDefaultTypeInternal() {}
  union {
    Activation _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ActivationDefaultTypeInternal _Activation_default_instance_;
}  // namespace protos
}  // namespace second
static ::_pb::Metadata file_level_metadata_second_2fprotos_2factivations_2eproto[9];
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_second_2fprotos_2factivations_2eproto = nullptr;
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_second_2fprotos_2factivations_2eproto = nullptr;

const uint32_t TableStruct_second_2fprotos_2factivations_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::ReLU, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::LeakyReLU, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::second::protos::LeakyReLU, _impl_.leakness_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::Swish, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::ELU, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::second::protos::ELU, _impl_.alpha_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::Softplus, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::second::protos::Softplus, _impl_.beta_),
  PROTOBUF_FIELD_OFFSET(::second::protos::Softplus, _impl_.threshold_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::Softsign, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::ReLU6, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::SELU, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::second::protos::Activation, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::second::protos::Activation, _impl_._oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  PROTOBUF_FIELD_OFFSET(::second::protos::Activation, _impl_.activation_),
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::second::protos::ReLU)},
  { 6, -1, -1, sizeof(::second::protos::LeakyReLU)},
  { 13, -1, -1, sizeof(::second::protos::Swish)},
  { 19, -1, -1, sizeof(::second::protos::ELU)},
  { 26, -1, -1, sizeof(::second::protos::Softplus)},
  { 34, -1, -1, sizeof(::second::protos::Softsign)},
  { 40, -1, -1, sizeof(::second::protos::ReLU6)},
  { 46, -1, -1, sizeof(::second::protos::SELU)},
  { 52, -1, -1, sizeof(::second::protos::Activation)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::second::protos::_ReLU_default_instance_._instance,
  &::second::protos::_LeakyReLU_default_instance_._instance,
  &::second::protos::_Swish_default_instance_._instance,
  &::second::protos::_ELU_default_instance_._instance,
  &::second::protos::_Softplus_default_instance_._instance,
  &::second::protos::_Softsign_default_instance_._instance,
  &::second::protos::_ReLU6_default_instance_._instance,
  &::second::protos::_SELU_default_instance_._instance,
  &::second::protos::_Activation_default_instance_._instance,
};

const char descriptor_table_protodef_second_2fprotos_2factivations_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\037second/protos/activations.proto\022\rsecon"
  "d.protos\"\006\n\004ReLU\"\035\n\tLeakyReLU\022\020\n\010leaknes"
  "s\030\001 \001(\002\"\007\n\005Swish\"\024\n\003ELU\022\r\n\005alpha\030\001 \001(\002\"+"
  "\n\010Softplus\022\014\n\004beta\030\001 \001(\002\022\021\n\tthreshold\030\002 "
  "\001(\002\"\n\n\010Softsign\"\007\n\005ReLU6\"\006\n\004SELU\"\337\002\n\nAct"
  "ivation\022#\n\004relu\030\001 \001(\0132\023.second.protos.Re"
  "LUH\000\022.\n\nleaky_relu\030\002 \001(\0132\030.second.protos"
  ".LeakyReLUH\000\022%\n\005swish\030\003 \001(\0132\024.second.pro"
  "tos.SwishH\000\022!\n\003elu\030\004 \001(\0132\022.second.protos"
  ".ELUH\000\022+\n\010softplus\030\005 \001(\0132\027.second.protos"
  ".SoftplusH\000\022+\n\010softsign\030\006 \001(\0132\027.second.p"
  "rotos.SoftsignH\000\022%\n\005relu6\030\007 \001(\0132\024.second"
  ".protos.ReLU6H\000\022#\n\004selu\030\010 \001(\0132\023.second.p"
  "rotos.SELUH\000B\014\n\nactivationb\006proto3"
  ;
static ::_pbi::once_flag descriptor_table_second_2fprotos_2factivations_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_second_2fprotos_2factivations_2eproto = {
    false, false, 554, descriptor_table_protodef_second_2fprotos_2factivations_2eproto,
    "second/protos/activations.proto",
    &descriptor_table_second_2fprotos_2factivations_2eproto_once, nullptr, 0, 9,
    schemas, file_default_instances, TableStruct_second_2fprotos_2factivations_2eproto::offsets,
    file_level_metadata_second_2fprotos_2factivations_2eproto, file_level_enum_descriptors_second_2fprotos_2factivations_2eproto,
    file_level_service_descriptors_second_2fprotos_2factivations_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_second_2fprotos_2factivations_2eproto_getter() {
  return &descriptor_table_second_2fprotos_2factivations_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_second_2fprotos_2factivations_2eproto(&descriptor_table_second_2fprotos_2factivations_2eproto);
namespace second {
namespace protos {

// ===================================================================

class ReLU::_Internal {
 public:
};

ReLU::ReLU(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:second.protos.ReLU)
}
ReLU::ReLU(const ReLU& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  ReLU* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:second.protos.ReLU)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReLU::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReLU::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata ReLU::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[0]);
}

// ===================================================================

class LeakyReLU::_Internal {
 public:
};

LeakyReLU::LeakyReLU(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:second.protos.LeakyReLU)
}
LeakyReLU::LeakyReLU(const LeakyReLU& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  LeakyReLU* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.leakness_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.leakness_ = from._impl_.leakness_;
  // @@protoc_insertion_point(copy_constructor:second.protos.LeakyReLU)
}

inline void LeakyReLU::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.leakness_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

LeakyReLU::~LeakyReLU() {
  // @@protoc_insertion_point(destructor:second.protos.LeakyReLU)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void LeakyReLU::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void LeakyReLU::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void LeakyReLU::Clear() {
// @@protoc_insertion_point(message_clear_start:second.protos.LeakyReLU)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.leakness_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LeakyReLU::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // float leakness = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
          _impl_.leakness_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* LeakyReLU::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:second.protos.LeakyReLU)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // float leakness = 1;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_leakness = this->_internal_leakness();
  uint32_t raw_leakness;
  memcpy(&raw_leakness, &tmp_leakness, sizeof(tmp_leakness));
  if (raw_leakness != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_leakness(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:second.protos.LeakyReLU)
  return target;
}

size_t LeakyReLU::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:second.protos.LeakyReLU)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // float leakness = 1;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_leakness = this->_internal_leakness();
  uint32_t raw_leakness;
  memcpy(&raw_leakness, &tmp_leakness, sizeof(tmp_leakness));
  if (raw_leakness != 0) {
    total_size += 1 + 4;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LeakyReLU::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    LeakyReLU::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LeakyReLU::GetClassData() const { return &_class_data_; }


void LeakyReLU::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<LeakyReLU*>(&to_msg);
  auto& from = static_cast<const LeakyReLU&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:second.protos.LeakyReLU)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_leakness = from._internal_leakness();
  uint32_t raw_leakness;
  memcpy(&raw_leakness, &tmp_leakness, sizeof(tmp_leakness));
  if (raw_leakness != 0) {
    _this->_internal_set_leakness(from._internal_leakness());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void LeakyReLU::CopyFrom(const LeakyReLU& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:second.protos.LeakyReLU)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LeakyReLU::IsInitialized() const {
  return true;
}

void LeakyReLU::InternalSwap(LeakyReLU* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.leakness_, other->_impl_.leakness_);
}

::PROTOBUF_NAMESPACE_ID::Metadata LeakyReLU::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[1]);
}

// ===================================================================

class Swish::_Internal {
 public:
};

Swish::Swish(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:second.protos.Swish)
}
Swish::Swish(const Swish& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  Swish* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:second.protos.Swish)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Swish::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Swish::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata Swish::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[2]);
}

// ===================================================================

class ELU::_Internal {
 public:
};

ELU::ELU(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:second.protos.ELU)
}
ELU::ELU(const ELU& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ELU* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.alpha_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.alpha_ = from._impl_.alpha_;
  // @@protoc_insertion_point(copy_constructor:second.protos.ELU)
}

inline void ELU::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.alpha_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ELU::~ELU() {
  // @@protoc_insertion_point(destructor:second.protos.ELU)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ELU::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ELU::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ELU::Clear() {
// @@protoc_insertion_point(message_clear_start:second.protos.ELU)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.alpha_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ELU::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // float alpha = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
          _impl_.alpha_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ELU::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:second.protos.ELU)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // float alpha = 1;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_alpha = this->_internal_alpha();
  uint32_t raw_alpha;
  memcpy(&raw_alpha, &tmp_alpha, sizeof(tmp_alpha));
  if (raw_alpha != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_alpha(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:second.protos.ELU)
  return target;
}

size_t ELU::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:second.protos.ELU)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // float alpha = 1;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_alpha = this->_internal_alpha();
  uint32_t raw_alpha;
  memcpy(&raw_alpha, &tmp_alpha, sizeof(tmp_alpha));
  if (raw_alpha != 0) {
    total_size += 1 + 4;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ELU::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ELU::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ELU::GetClassData() const { return &_class_data_; }


void ELU::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ELU*>(&to_msg);
  auto& from = static_cast<const ELU&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:second.protos.ELU)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_alpha = from._internal_alpha();
  uint32_t raw_alpha;
  memcpy(&raw_alpha, &tmp_alpha, sizeof(tmp_alpha));
  if (raw_alpha != 0) {
    _this->_internal_set_alpha(from._internal_alpha());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void ELU::CopyFrom(const ELU& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:second.protos.ELU)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ELU::IsInitialized() const {
  return true;
}

void ELU::InternalSwap(ELU* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.alpha_, other->_impl_.alpha_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ELU::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[3]);
}

// ===================================================================

class Softplus::_Internal {
 public:
};

Softplus::Softplus(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:second.protos.Softplus)
}
Softplus::Softplus(const Softplus& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Softplus* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.beta_){}
    , decltype(_impl_.threshold_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.beta_, &from._impl_.beta_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.threshold_) -
    reinterpret_cast<char*>(&_impl_.beta_)) + sizeof(_impl_.threshold_));
  // @@protoc_insertion_point(copy_constructor:second.protos.Softplus)
}

inline void Softplus::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.beta_){0}
    , decltype(_impl_.threshold_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Softplus::~Softplus() {
  // @@protoc_insertion_point(destructor:second.protos.Softplus)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Softplus::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void Softplus::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Softplus::Clear() {
// @@protoc_insertion_point(message_clear_start:second.protos.Softplus)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.beta_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.threshold_) -
      reinterpret_cast<char*>(&_impl_.beta_)) + sizeof(_impl_.threshold_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Softplus::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // float beta = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
          _impl_.beta_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // float threshold = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
          _impl_.threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* Softplus::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:second.protos.Softplus)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // float beta = 1;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_beta = this->_internal_beta();
  uint32_t raw_beta;
  memcpy(&raw_beta, &tmp_beta, sizeof(tmp_beta));
  if (raw_beta != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_beta(), target);
  }

  // float threshold = 2;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_threshold = this->_internal_threshold();
  uint32_t raw_threshold;
  memcpy(&raw_threshold, &tmp_threshold, sizeof(tmp_threshold));
  if (raw_threshold != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_threshold(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:second.protos.Softplus)
  return target;
}

size_t Softplus::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:second.protos.Softplus)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // float beta = 1;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_beta = this->_internal_beta();
  uint32_t raw_beta;
  memcpy(&raw_beta, &tmp_beta, sizeof(tmp_beta));
  if (raw_beta != 0) {
    total_size += 1 + 4;
  }

  // float threshold = 2;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_threshold = this->_internal_threshold();
  uint32_t raw_threshold;
  memcpy(&raw_threshold, &tmp_threshold, sizeof(tmp_threshold));
  if (raw_threshold != 0) {
    total_size += 1 + 4;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Softplus::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Softplus::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Softplus::GetClassData() const { return &_class_data_; }


void Softplus::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Softplus*>(&to_msg);
  auto& from = static_cast<const Softplus&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:second.protos.Softplus)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_beta = from._internal_beta();
  uint32_t raw_beta;
  memcpy(&raw_beta, &tmp_beta, sizeof(tmp_beta));
  if (raw_beta != 0) {
    _this->_internal_set_beta(from._internal_beta());
  }
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_threshold = from._internal_threshold();
  uint32_t raw_threshold;
  memcpy(&raw_threshold, &tmp_threshold, sizeof(tmp_threshold));
  if (raw_threshold != 0) {
    _this->_internal_set_threshold(from._internal_threshold());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Softplus::CopyFrom(const Softplus& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:second.protos.Softplus)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Softplus::IsInitialized() const {
  return true;
}

void Softplus::InternalSwap(Softplus* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Softplus, _impl_.threshold_)
      + sizeof(Softplus::_impl_.threshold_)
      - PROTOBUF_FIELD_OFFSET(Softplus, _impl_.beta_)>(
          reinterpret_cast<char*>(&_impl_.beta_),
          reinterpret_cast<char*>(&other->_impl_.beta_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Softplus::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[4]);
}

// ===================================================================

class Softsign::_Internal {
 public:
};

Softsign::Softsign(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:second.protos.Softsign)
}
Softsign::Softsign(const Softsign& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  Softsign* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:second.protos.Softsign)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Softsign::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Softsign::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata Softsign::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[5]);
}

// ===================================================================

class ReLU6::_Internal {
 public:
};

ReLU6::ReLU6(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:second.protos.ReLU6)
}
ReLU6::ReLU6(const ReLU6& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  ReLU6* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:second.protos.ReLU6)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReLU6::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReLU6::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata ReLU6::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[6]);
}

// ===================================================================

class SELU::_Internal {
 public:
};

SELU::SELU(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:second.protos.SELU)
}
SELU::SELU(const SELU& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  SELU* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:second.protos.SELU)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SELU::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SELU::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata SELU::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[7]);
}

// ===================================================================

class Activation::_Internal {
 public:
  static const ::second::protos::ReLU& relu(const Activation* msg);
  static const ::second::protos::LeakyReLU& leaky_relu(const Activation* msg);
  static const ::second::protos::Swish& swish(const Activation* msg);
  static const ::second::protos::ELU& elu(const Activation* msg);
  static const ::second::protos::Softplus& softplus(const Activation* msg);
  static const ::second::protos::Softsign& softsign(const Activation* msg);
  static const ::second::protos::ReLU6& relu6(const Activation* msg);
  static const ::second::protos::SELU& selu(const Activation* msg);
};

const ::second::protos::ReLU&
Activation::_Internal::relu(const Activation* msg) {
  return *msg->_impl_.activation_.relu_;
}
const ::second::protos::LeakyReLU&
Activation::_Internal::leaky_relu(const Activation* msg) {
  return *msg->_impl_.activation_.leaky_relu_;
}
const ::second::protos::Swish&
Activation::_Internal::swish(const Activation* msg) {
  return *msg->_impl_.activation_.swish_;
}
const ::second::protos::ELU&
Activation::_Internal::elu(const Activation* msg) {
  return *msg->_impl_.activation_.elu_;
}
const ::second::protos::Softplus&
Activation::_Internal::softplus(const Activation* msg) {
  return *msg->_impl_.activation_.softplus_;
}
const ::second::protos::Softsign&
Activation::_Internal::softsign(const Activation* msg) {
  return *msg->_impl_.activation_.softsign_;
}
const ::second::protos::ReLU6&
Activation::_Internal::relu6(const Activation* msg) {
  return *msg->_impl_.activation_.relu6_;
}
const ::second::protos::SELU&
Activation::_Internal::selu(const Activation* msg) {
  return *msg->_impl_.activation_.selu_;
}
void Activation::set_allocated_relu(::second::protos::ReLU* relu) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (relu) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relu);
    if (message_arena != submessage_arena) {
      relu = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, relu, submessage_arena);
    }
    set_has_relu();
    _impl_.activation_.relu_ = relu;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.relu)
}
void Activation::set_allocated_leaky_relu(::second::protos::LeakyReLU* leaky_relu) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (leaky_relu) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(leaky_relu);
    if (message_arena != submessage_arena) {
      leaky_relu = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, leaky_relu, submessage_arena);
    }
    set_has_leaky_relu();
    _impl_.activation_.leaky_relu_ = leaky_relu;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.leaky_relu)
}
void Activation::set_allocated_swish(::second::protos::Swish* swish) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (swish) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(swish);
    if (message_arena != submessage_arena) {
      swish = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, swish, submessage_arena);
    }
    set_has_swish();
    _impl_.activation_.swish_ = swish;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.swish)
}
void Activation::set_allocated_elu(::second::protos::ELU* elu) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (elu) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(elu);
    if (message_arena != submessage_arena) {
      elu = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, elu, submessage_arena);
    }
    set_has_elu();
    _impl_.activation_.elu_ = elu;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.elu)
}
void Activation::set_allocated_softplus(::second::protos::Softplus* softplus) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (softplus) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(softplus);
    if (message_arena != submessage_arena) {
      softplus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, softplus, submessage_arena);
    }
    set_has_softplus();
    _impl_.activation_.softplus_ = softplus;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.softplus)
}
void Activation::set_allocated_softsign(::second::protos::Softsign* softsign) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (softsign) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(softsign);
    if (message_arena != submessage_arena) {
      softsign = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, softsign, submessage_arena);
    }
    set_has_softsign();
    _impl_.activation_.softsign_ = softsign;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.softsign)
}
void Activation::set_allocated_relu6(::second::protos::ReLU6* relu6) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (relu6) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relu6);
    if (message_arena != submessage_arena) {
      relu6 = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, relu6, submessage_arena);
    }
    set_has_relu6();
    _impl_.activation_.relu6_ = relu6;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.relu6)
}
void Activation::set_allocated_selu(::second::protos::SELU* selu) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_activation();
  if (selu) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(selu);
    if (message_arena != submessage_arena) {
      selu = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, selu, submessage_arena);
    }
    set_has_selu();
    _impl_.activation_.selu_ = selu;
  }
  // @@protoc_insertion_point(field_set_allocated:second.protos.Activation.selu)
}
Activation::Activation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:second.protos.Activation)
}
Activation::Activation(const Activation& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Activation* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.activation_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  clear_has_activation();
  switch (from.activation_case()) {
    case kRelu: {
      _this->_internal_mutable_relu()->::second::protos::ReLU::MergeFrom(
          from._internal_relu());
      break;
    }
    case kLeakyRelu: {
      _this->_internal_mutable_leaky_relu()->::second::protos::LeakyReLU::MergeFrom(
          from._internal_leaky_relu());
      break;
    }
    case kSwish: {
      _this->_internal_mutable_swish()->::second::protos::Swish::MergeFrom(
          from._internal_swish());
      break;
    }
    case kElu: {
      _this->_internal_mutable_elu()->::second::protos::ELU::MergeFrom(
          from._internal_elu());
      break;
    }
    case kSoftplus: {
      _this->_internal_mutable_softplus()->::second::protos::Softplus::MergeFrom(
          from._internal_softplus());
      break;
    }
    case kSoftsign: {
      _this->_internal_mutable_softsign()->::second::protos::Softsign::MergeFrom(
          from._internal_softsign());
      break;
    }
    case kRelu6: {
      _this->_internal_mutable_relu6()->::second::protos::ReLU6::MergeFrom(
          from._internal_relu6());
      break;
    }
    case kSelu: {
      _this->_internal_mutable_selu()->::second::protos::SELU::MergeFrom(
          from._internal_selu());
      break;
    }
    case ACTIVATION_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:second.protos.Activation)
}

inline void Activation::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.activation_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_activation();
}

Activation::~Activation() {
  // @@protoc_insertion_point(destructor:second.protos.Activation)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Activation::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_activation()) {
    clear_activation();
  }
}

void Activation::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Activation::clear_activation() {
// @@protoc_insertion_point(one_of_clear_start:second.protos.Activation)
  switch (activation_case()) {
    case kRelu: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.relu_;
      }
      break;
    }
    case kLeakyRelu: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.leaky_relu_;
      }
      break;
    }
    case kSwish: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.swish_;
      }
      break;
    }
    case kElu: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.elu_;
      }
      break;
    }
    case kSoftplus: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.softplus_;
      }
      break;
    }
    case kSoftsign: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.softsign_;
      }
      break;
    }
    case kRelu6: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.relu6_;
      }
      break;
    }
    case kSelu: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.activation_.selu_;
      }
      break;
    }
    case ACTIVATION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = ACTIVATION_NOT_SET;
}


void Activation::Clear() {
// @@protoc_insertion_point(message_clear_start:second.protos.Activation)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_activation();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Activation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .second.protos.ReLU relu = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relu(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.LeakyReLU leaky_relu = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_leaky_relu(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.Swish swish = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_swish(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.ELU elu = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_elu(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.Softplus softplus = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_softplus(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.Softsign softsign = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_softsign(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.ReLU6 relu6 = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_relu6(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .second.protos.SELU selu = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_selu(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* Activation::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:second.protos.Activation)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .second.protos.ReLU relu = 1;
  if (_internal_has_relu()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relu(this),
        _Internal::relu(this).GetCachedSize(), target, stream);
  }

  // .second.protos.LeakyReLU leaky_relu = 2;
  if (_internal_has_leaky_relu()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::leaky_relu(this),
        _Internal::leaky_relu(this).GetCachedSize(), target, stream);
  }

  // .second.protos.Swish swish = 3;
  if (_internal_has_swish()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::swish(this),
        _Internal::swish(this).GetCachedSize(), target, stream);
  }

  // .second.protos.ELU elu = 4;
  if (_internal_has_elu()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::elu(this),
        _Internal::elu(this).GetCachedSize(), target, stream);
  }

  // .second.protos.Softplus softplus = 5;
  if (_internal_has_softplus()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::softplus(this),
        _Internal::softplus(this).GetCachedSize(), target, stream);
  }

  // .second.protos.Softsign softsign = 6;
  if (_internal_has_softsign()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::softsign(this),
        _Internal::softsign(this).GetCachedSize(), target, stream);
  }

  // .second.protos.ReLU6 relu6 = 7;
  if (_internal_has_relu6()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::relu6(this),
        _Internal::relu6(this).GetCachedSize(), target, stream);
  }

  // .second.protos.SELU selu = 8;
  if (_internal_has_selu()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::selu(this),
        _Internal::selu(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:second.protos.Activation)
  return target;
}

size_t Activation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:second.protos.Activation)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  switch (activation_case()) {
    // .second.protos.ReLU relu = 1;
    case kRelu: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.relu_);
      break;
    }
    // .second.protos.LeakyReLU leaky_relu = 2;
    case kLeakyRelu: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.leaky_relu_);
      break;
    }
    // .second.protos.Swish swish = 3;
    case kSwish: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.swish_);
      break;
    }
    // .second.protos.ELU elu = 4;
    case kElu: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.elu_);
      break;
    }
    // .second.protos.Softplus softplus = 5;
    case kSoftplus: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.softplus_);
      break;
    }
    // .second.protos.Softsign softsign = 6;
    case kSoftsign: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.softsign_);
      break;
    }
    // .second.protos.ReLU6 relu6 = 7;
    case kRelu6: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.relu6_);
      break;
    }
    // .second.protos.SELU selu = 8;
    case kSelu: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.activation_.selu_);
      break;
    }
    case ACTIVATION_NOT_SET: {
      break;
    }
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Activation::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Activation::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Activation::GetClassData() const { return &_class_data_; }


void Activation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Activation*>(&to_msg);
  auto& from = static_cast<const Activation&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:second.protos.Activation)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.activation_case()) {
    case kRelu: {
      _this->_internal_mutable_relu()->::second::protos::ReLU::MergeFrom(
          from._internal_relu());
      break;
    }
    case kLeakyRelu: {
      _this->_internal_mutable_leaky_relu()->::second::protos::LeakyReLU::MergeFrom(
          from._internal_leaky_relu());
      break;
    }
    case kSwish: {
      _this->_internal_mutable_swish()->::second::protos::Swish::MergeFrom(
          from._internal_swish());
      break;
    }
    case kElu: {
      _this->_internal_mutable_elu()->::second::protos::ELU::MergeFrom(
          from._internal_elu());
      break;
    }
    case kSoftplus: {
      _this->_internal_mutable_softplus()->::second::protos::Softplus::MergeFrom(
          from._internal_softplus());
      break;
    }
    case kSoftsign: {
      _this->_internal_mutable_softsign()->::second::protos::Softsign::MergeFrom(
          from._internal_softsign());
      break;
    }
    case kRelu6: {
      _this->_internal_mutable_relu6()->::second::protos::ReLU6::MergeFrom(
          from._internal_relu6());
      break;
    }
    case kSelu: {
      _this->_internal_mutable_selu()->::second::protos::SELU::MergeFrom(
          from._internal_selu());
      break;
    }
    case ACTIVATION_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Activation::CopyFrom(const Activation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:second.protos.Activation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Activation::IsInitialized() const {
  return true;
}

void Activation::InternalSwap(Activation* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.activation_, other->_impl_.activation_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata Activation::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_second_2fprotos_2factivations_2eproto_getter, &descriptor_table_second_2fprotos_2factivations_2eproto_once,
      file_level_metadata_second_2fprotos_2factivations_2eproto[8]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace protos
}  // namespace second
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::second::protos::ReLU*
Arena::CreateMaybeMessage< ::second::protos::ReLU >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::ReLU >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::LeakyReLU*
Arena::CreateMaybeMessage< ::second::protos::LeakyReLU >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::LeakyReLU >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::Swish*
Arena::CreateMaybeMessage< ::second::protos::Swish >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::Swish >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::ELU*
Arena::CreateMaybeMessage< ::second::protos::ELU >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::ELU >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::Softplus*
Arena::CreateMaybeMessage< ::second::protos::Softplus >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::Softplus >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::Softsign*
Arena::CreateMaybeMessage< ::second::protos::Softsign >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::Softsign >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::ReLU6*
Arena::CreateMaybeMessage< ::second::protos::ReLU6 >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::ReLU6 >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::SELU*
Arena::CreateMaybeMessage< ::second::protos::SELU >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::SELU >(arena);
}
template<> PROTOBUF_NOINLINE ::second::protos::Activation*
Arena::CreateMaybeMessage< ::second::protos::Activation >(Arena* arena) {
  return Arena::CreateMessageInternal< ::second::protos::Activation >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
