##
# Copyright (C) 2012 Jasper Snoek, Hugo Larochelle and Ryan P. Adams
# 
# This code is written for research and educational purposes only to 
# supplement the paper entitled
# "Practical Bayesian Optimization of Machine Learning Algorithms"
# by Snoek, Larochelle and Adams
# Advances in Neural Information Processing Systems, 2012
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
##
# Copyright (C) 2012 Jasper Snoek, Hugo Larochelle and Ryan P. Adams
# 
# This code is written for research and educational purposes only to 
# supplement the paper entitled
# "Practical Bayesian Optimization of Machine Learning Algorithms"
# by Snoek, Larochelle and Adams
# Advances in Neural Information Processing Systems, 2012
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
# Generated by the protocol buffer compiler.  DO NOT EDIT!

from google.protobuf import descriptor
from google.protobuf import message
from google.protobuf import reflection
# from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

DESCRIPTOR = descriptor.FileDescriptor(
    name='spearmint.proto',
    package='',
    serialized_pb="\n\x0fspearmint.proto\"\xcc\x01\n\x03Job\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x10\n\x08\x65xpt_dir" +
                  "\x18\x02 \x02(\t\x12\x0c\n\x04name\x18\x03 \x02(\t\x12\x1b\n\x08language\x18\x04 \x02" +
                  "(\x0e\x32\t.Language\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x19\n\x05param\x18\x06 \x03" +
                  "(\x0b\x32\n.Parameter\x12\x10\n\x08submit_t\x18\x07 \x01(\x04\x12\x0f\n\x07start_t\x18\x08 " +
                  "\x01(\x04\x12\r\n\x05\x65nd_t\x18\t \x01(\x04\x12\r\n\x05value\x18\n \x01(\x01\x12\x10\n\x08\x64" +
                  "uration\x18\x0b \x01(\x01\"L\n\tParameter\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\x0f\n\x07int_val" +
                  "\x18\x02 \x03(\x03\x12\x0f\n\x07str_val\x18\x03 \x03(\t\x12\x0f\n\x07\x64\x62l_val\x18\x04 \x03" +
                  "(\x01\"\x91\x02\n\nExperiment\x12\x1b\n\x08language\x18\x01 \x02(\x0e\x32\t.Language\x12\x0c\n\x04" +
                  "name\x18\x02 \x02(\t\x12+\n\x08variable\x18\x03 \x03(\x0b\x32\x19.Experiment.ParameterSpec" +
                  "\x1a\xaa\x01\n\rParameterSpec\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\x0c\n\x04size\x18\x02 \x02" +
                  "(\r\x12,\n\x04type\x18\x03 \x02(\x0e\x32\x1e.Experiment.ParameterSpec.Type\x12\x0f\n\x07options" +
                  "\x18\x04 \x03(\t\x12\x0b\n\x03min\x18\x05 \x01(\x01\x12\x0b\n\x03max\x18\x06 \x01(\x01\"$\n\x04" +
                  "Type\x12\x07\n\x03INT\x10\x01\x12\t\n\x05\x46LOAT\x10\x02\x12\x08\n\x04\x45NUM\x10\x03*6\n\x08" +
                  "Language\x12\n\n\x06MATLAB\x10\x01\x12\n\n\x06PYTHON\x10\x02\x12\t\n\x05SHELL\x10\x03\x12\x07" +
                  "\n\x03MCR\x10\x04")

_LANGUAGE = descriptor.EnumDescriptor(
    name='Language',
    full_name='Language',
    filename=None,
    file=DESCRIPTOR,
    values=[
        descriptor.EnumValueDescriptor(
            name='MATLAB', index=0, number=1,
            options=None,
            type=None),
        descriptor.EnumValueDescriptor(
            name='PYTHON', index=1, number=2,
            options=None,
            type=None),
        descriptor.EnumValueDescriptor(
            name='SHELL', index=2, number=3,
            options=None,
            type=None),
        descriptor.EnumValueDescriptor(
            name='MCR', index=3, number=4,
            options=None,
            type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=580,
    serialized_end=634,
)

MATLAB = 1
PYTHON = 2
SHELL = 3
MCR = 4


_EXPERIMENT_PARAMETERSPEC_TYPE = descriptor.EnumDescriptor(
    name='Type',
    full_name='Experiment.ParameterSpec.Type',
    filename=None,
    file=DESCRIPTOR,
    values=[
        descriptor.EnumValueDescriptor(
            name='INT', index=0, number=1,
            options=None,
            type=None),
        descriptor.EnumValueDescriptor(
            name='FLOAT', index=1, number=2,
            options=None,
            type=None),
        descriptor.EnumValueDescriptor(
            name='ENUM', index=2, number=3,
            options=None,
            type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=542,
    serialized_end=578,
)


_JOB = descriptor.Descriptor(
    name='Job',
    full_name='Job',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        descriptor.FieldDescriptor(
            name='id', full_name='Job.id', index=0,
            number=1, type=4, cpp_type=4, label=2,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='expt_dir', full_name='Job.expt_dir', index=1,
            number=2, type=9, cpp_type=9, label=2,
            has_default_value=False, default_value=unicode("", "utf-8"),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='name', full_name='Job.name', index=2,
            number=3, type=9, cpp_type=9, label=2,
            has_default_value=False, default_value=unicode("", "utf-8"),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='language', full_name='Job.language', index=3,
            number=4, type=14, cpp_type=8, label=2,
            has_default_value=False, default_value=1,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='status', full_name='Job.status', index=4,
            number=5, type=9, cpp_type=9, label=1,
            has_default_value=False, default_value=unicode("", "utf-8"),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='param', full_name='Job.param', index=5,
            number=6, type=11, cpp_type=10, label=3,
            has_default_value=False, default_value=[],
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='submit_t', full_name='Job.submit_t', index=6,
            number=7, type=4, cpp_type=4, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='start_t', full_name='Job.start_t', index=7,
            number=8, type=4, cpp_type=4, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='end_t', full_name='Job.end_t', index=8,
            number=9, type=4, cpp_type=4, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='value', full_name='Job.value', index=9,
            number=10, type=1, cpp_type=5, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='duration', full_name='Job.duration', index=10,
            number=11, type=1, cpp_type=5, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=20,
    serialized_end=224,
)


_PARAMETER = descriptor.Descriptor(
    name='Parameter',
    full_name='Parameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        descriptor.FieldDescriptor(
            name='name', full_name='Parameter.name', index=0,
            number=1, type=9, cpp_type=9, label=2,
            has_default_value=False, default_value=unicode("", "utf-8"),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='int_val', full_name='Parameter.int_val', index=1,
            number=2, type=3, cpp_type=2, label=3,
            has_default_value=False, default_value=[],
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='str_val', full_name='Parameter.str_val', index=2,
            number=3, type=9, cpp_type=9, label=3,
            has_default_value=False, default_value=[],
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='dbl_val', full_name='Parameter.dbl_val', index=3,
            number=4, type=1, cpp_type=5, label=3,
            has_default_value=False, default_value=[],
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=226,
    serialized_end=302,
)


_EXPERIMENT_PARAMETERSPEC = descriptor.Descriptor(
    name='ParameterSpec',
    full_name='Experiment.ParameterSpec',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        descriptor.FieldDescriptor(
            name='name', full_name='Experiment.ParameterSpec.name', index=0,
            number=1, type=9, cpp_type=9, label=2,
            has_default_value=False, default_value=unicode("", "utf-8"),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='size', full_name='Experiment.ParameterSpec.size', index=1,
            number=2, type=13, cpp_type=3, label=2,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='type', full_name='Experiment.ParameterSpec.type', index=2,
            number=3, type=14, cpp_type=8, label=2,
            has_default_value=False, default_value=1,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='options', full_name='Experiment.ParameterSpec.options', index=3,
            number=4, type=9, cpp_type=9, label=3,
            has_default_value=False, default_value=[],
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='min', full_name='Experiment.ParameterSpec.min', index=4,
            number=5, type=1, cpp_type=5, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='max', full_name='Experiment.ParameterSpec.max', index=5,
            number=6, type=1, cpp_type=5, label=1,
            has_default_value=False, default_value=0,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_EXPERIMENT_PARAMETERSPEC_TYPE, ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=408,
    serialized_end=578,
)

_EXPERIMENT = descriptor.Descriptor(
    name='Experiment',
    full_name='Experiment',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        descriptor.FieldDescriptor(
            name='language', full_name='Experiment.language', index=0,
            number=1, type=14, cpp_type=8, label=2,
            has_default_value=False, default_value=1,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='name', full_name='Experiment.name', index=1,
            number=2, type=9, cpp_type=9, label=2,
            has_default_value=False, default_value=unicode("", "utf-8"),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
        descriptor.FieldDescriptor(
            name='variable', full_name='Experiment.variable', index=2,
            number=3, type=11, cpp_type=10, label=3,
            has_default_value=False, default_value=[],
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            options=None),
    ],
    extensions=[],
    nested_types=[_EXPERIMENT_PARAMETERSPEC, ],
    enum_types=[],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=305,
    serialized_end=578,
)

_JOB.fields_by_name['language'].enum_type = _LANGUAGE
_JOB.fields_by_name['param'].message_type = _PARAMETER
_EXPERIMENT_PARAMETERSPEC.fields_by_name['type'].enum_type = _EXPERIMENT_PARAMETERSPEC_TYPE
_EXPERIMENT_PARAMETERSPEC.containing_type = _EXPERIMENT;
_EXPERIMENT_PARAMETERSPEC_TYPE.containing_type = _EXPERIMENT_PARAMETERSPEC;
_EXPERIMENT.fields_by_name['language'].enum_type = _LANGUAGE
_EXPERIMENT.fields_by_name['variable'].message_type = _EXPERIMENT_PARAMETERSPEC
DESCRIPTOR.message_types_by_name['Job'] = _JOB
DESCRIPTOR.message_types_by_name['Parameter'] = _PARAMETER
DESCRIPTOR.message_types_by_name['Experiment'] = _EXPERIMENT


class Job(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _JOB

    # @@protoc_insertion_point(class_scope:Job)


class Parameter(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _PARAMETER

    # @@protoc_insertion_point(class_scope:Parameter)


class Experiment(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType

    class ParameterSpec(message.Message):
        __metaclass__ = reflection.GeneratedProtocolMessageType
        DESCRIPTOR = _EXPERIMENT_PARAMETERSPEC

    # @@protoc_insertion_point(class_scope:Experiment.ParameterSpec)
    DESCRIPTOR = _EXPERIMENT

    # @@protoc_insertion_point(class_scope:Experiment)

# @@protoc_insertion_point(module_scope)
