PLearn 0.1
|
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 :