int main(int argc,char* argv[]){
    const real learning_rate = 0.1;
    const int n_epochs = 1;

    fprintf(stdout,"[INFO] loading data\n");
    mark_timer();
    load_data();
    load_maxfiles();
    fprintf(stdout,"[INFO] load data done, ");
    mark_timer(true);

    fprintf(stdout,"[INFO] training\n");
    int patience = 10000;
    int patience_increase = 2;
    real improvement_threshold = 0.995;
    int validation_frequency = std::min(n_train_batches,patience/2);
    real best_validation_loss = std::numeric_limits<real>::max();
    int best_iter = 0;
    real mtls = 0.0;
    int epoch = 0;
    bool done_looping = false;
    std::vector<real> result_logs;
    while ((epoch<n_epochs) && (!done_looping)){
        for (int mb_idx=0;mb_idx<n_train_batches;++mb_idx){
            int cur_iter = epoch*n_train_batches+mb_idx;
            fprintf(stdout, "training @ epoch = [%d,%d/%d] iter = %d\n", epoch,mb_idx,n_train_batches,cur_iter);
            mark_timer();
            my_process(train_set_x_offset,train_set_y,mb_idx,learning_rate);
            mark_timer(true);
            //save_params();
            if ((cur_iter+1)%validation_frequency==0){
                // TODO: lzh
            }
            if (patience<=cur_iter){
                done_looping = true;
                break;
            }
        }
        ++epoch;
    }

    fprintf(stdout,"[INFO] unloading data\n");
    mark_timer();
    unload_data();
    unload_maxfiles();
    fprintf(stdout,"[INFO] unload data done, ");
    mark_timer(true);
    return 0;
}
Beispiel #2
0
	void GameState::deinitialize()
	{
	  INFO_PRINT << "Initiating POL Cleanup....\n";

	  networkManager.deinialize();
	  deinit_ipc_vars();

	  if ( Plib::systemstate.config.log_script_cycles )
		log_all_script_cycle_counts( false );

	  checkpoint( "cleaning up vars" );
	  cleanup_vars();
	  checkpoint( "cleaning up scripts" );
	  cleanup_scripts();

	  // scripts remove their listening points when they exit..
	  // so there should be no listening points to clean up.
	  checkpoint( "cleaning listen points" );
	  clear_listen_points();

	  

	  // unload_other_objects
	  unload_intrinsic_weapons();
      unload_weapon_templates( );

	  // unload_itemdesc_scripts
	  for ( auto &elem : desctable )
	  {
		elem.second->unload_scripts();
	  }

	  system_hooks.unload_system_hooks();

	  configurationbuffer.deinitialize();

	  Plib::systemstate.deinitialize();
	  Multi::multidef_buffer.deinitialize();

	  unload_npc_templates();  //quick and nasty fix until npcdesc usage is rewritten Turley 2012-08-27: moved before objecthash due to npc-method_script cleanup

	  Bscript::UninitObject::ReleaseSharedInstance();
	  objStorageManager.deinitialize();
	  display_leftover_objects();

	  checkpoint( "unloading data" );
	  unload_data();
	  guilds.clear();

	  Clib::MD5_Cleanup();

	  checkpoint( "misc cleanup" );

	  global_properties->clear();
	  menus.clear();

	  textcmds.clear();
	  paramtextcmds.clear();
	  Global_Ignore_CProps.clear();
	  mime_types.clear();
	  console_commands.clear();
	  animation_translates.clear();
	  
	  tipfilenames.clear();

	  checkpoint( "end of xmain2" );

#ifdef __linux__
	  unlink( ( Plib::systemstate.config.pidfile_path + "pol.pid" ).c_str( ) );
#endif
	}
persistent_data_container::~persistent_data_container() {
	unload_data();
}