PLearn 0.1
OptionsOracle.cc
Go to the documentation of this file.
00001 
00002 // -*- C++ -*-
00003 
00004 // OptionsOracle.cc
00005 //
00006 // Copyright (C) 2003-2004 ApSTAT Technologies Inc.
00007 //
00008 // Redistribution and use in source and binary forms, with or without
00009 // modification, are permitted provided that the following conditions are met:
00010 //
00011 //  1. Redistributions of source code must retain the above copyright
00012 //     notice, this list of conditions and the following disclaimer.
00013 //
00014 //  2. Redistributions in binary form must reproduce the above copyright
00015 //     notice, this list of conditions and the following disclaimer in the
00016 //     documentation and/or other materials provided with the distribution.
00017 //
00018 //  3. The name of the authors may not be used to endorse or promote
00019 //     products derived from this software without specific prior written
00020 //     permission.
00021 //
00022 // THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
00023 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00024 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
00025 // NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00026 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
00027 // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00028 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00029 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00030 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00031 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00032 //
00033 // This file is part of the PLearn library. For more information on the PLearn
00034 // library, go to the PLearn Web site at www.plearn.org
00035 
00036 // Author: Pascal Vincent
00037 
00038 /* *******************************************************
00039  * $Id: OptionsOracle.cc 5677 2006-05-25 23:43:50Z lamblin $
00040  ******************************************************* */
00041 
00043 #include "OptionsOracle.h"
00044 
00045 namespace PLearn {
00046 using namespace std;
00047 
00048 OptionsOracle::OptionsOracle()
00049 {}
00050 
00051 PLEARN_IMPLEMENT_ABSTRACT_OBJECT(OptionsOracle, "Generates various option combinations to try, to perform hyper-parameter optimisation.",
00052                                  "OptionsOracle is the base class for implementing hyper-optimization techniques. \n"
00053                                  "An OptionGenerator functions as an oracle, responsible for giving the optimization process \n"
00054                                  "the next combination of hyper-parameters to try out, taking into account the results of all \n"
00055                                  "previous attempts. The HyperOptimize class refers to two OptionsOracle, the first one is responsible for \n"
00056                                  "generating potentially parallelizable hyper-parameter combinations to try out, the second \n"
00057                                  "helps to carry out an optimization that is sequential in nature (such as an early stopping for \n"
00058                                  "some form of incremental learning.) \n");
00059 
00060 void OptionsOracle::declareOptions(OptionList& ol)
00061 {
00062     inherited::declareOptions(ol);
00063 }
00064 
00065 void OptionsOracle::build_()
00066 {}
00067 
00068 // ### Nothing to add here, simply calls build_
00069 void OptionsOracle::build()
00070 {
00071     inherited::build();
00072     build_();
00073 }
00074 
00075 
00076 void OptionsOracle::makeDeepCopyFromShallowCopy(CopiesMap& copies)
00077 {
00078     inherited::makeDeepCopyFromShallowCopy(copies);
00079 }
00080 
00081 } // end of namespace PLearn
00082 
00083 
00084 /*
00085   Local Variables:
00086   mode:c++
00087   c-basic-offset:4
00088   c-file-style:"stroustrup"
00089   c-file-offsets:((innamespace . 0)(inline-open . 0))
00090   indent-tabs-mode:nil
00091   fill-column:79
00092   End:
00093 */
00094 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=79 :
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines