/* * Train for one epoch with the selected training algorithm */ FANN_EXTERNAL float FANN_API fann_train_epoch(struct fann *ann, struct fann_train_data *data) { if(fann_check_input_output_sizes(ann, data) == -1) return 0; switch (ann->training_algorithm) { case FANN_TRAIN_QUICKPROP: return fann_train_epoch_quickprop(ann, data); case FANN_TRAIN_RPROP: return fann_train_epoch_irpropm(ann, data); case FANN_TRAIN_SARPROP: return fann_train_epoch_sarprop(ann, data); case FANN_TRAIN_BATCH: return fann_train_epoch_batch(ann, data); case FANN_TRAIN_INCREMENTAL: return fann_train_epoch_incremental(ann, data); } return 0; }
/* * Train for one epoch with the selected training algorithm */ FANN_EXTERNAL float FANN_API fann_train_epoch(struct fann *ann, struct fann_train_data *data, struct fpts_cl *fptscl) { if(fann_check_input_output_sizes(ann, data) == -1) return 0; //sclWrite(fptscl->hardware, ann->total_connections*sizeof(fann_type), fptscl->weightscl, ann->weights); //printf("wok. Enter train. fptscl->software_mulsum = %s, %d\n", fptscl->software_mulsum.kernelName, fptscl->hardware.deviceType); switch (ann->training_algorithm) { case FANN_TRAIN_QUICKPROP: return fann_train_epoch_quickprop(ann, data); case FANN_TRAIN_RPROP: return fann_train_epoch_irpropm(ann, data, fptscl); case FANN_TRAIN_SARPROP: return fann_train_epoch_sarprop(ann, data); case FANN_TRAIN_BATCH: return fann_train_epoch_batch(ann, data); case FANN_TRAIN_INCREMENTAL: return fann_train_epoch_incremental(ann, data); } return 0; }