int main(int argc, char **argv) { int i; int errors; DataSet *train_set; DataSet *test_set; Network *adultnn = create_network(14); double e; double acc; Class predicted, desired; // training train_set = read_dataset("adult.train"); if (train_set == NULL) { fprintf(stderr, "Error reading training set\n"); exit(1); } add_layer(adultnn, 28); // hidden layer add_layer(adultnn, 2); // output layer initialize_weights(adultnn, SEED); print_network_structure(adultnn); printf("Training network with %d epochs...\n", EPOCHS); e = batch_train(adultnn, train_set, LEARNING_RATE, EPOCHS, sigmoid, dsigmoid); printf("Training finished, approximate final SSE: %f\n", e); print_network_structure(adultnn); // testing test_set = read_dataset("adult.test"); if (test_set == NULL) { fprintf(stderr, "Error reading test set\n"); exit(1); } errors = 0; printf("Testing with %d cases...\n", test_set->n_cases); for (i = 0; i < test_set->n_cases; ++i) { predicted = predict_class(adultnn, test_set->input[i]); desired = output_to_class(test_set->output[i]); if (predicted != desired) ++errors; printf("Case %d | predicted: %s, desired: %s, outputs: %4.3f %4.3f \n", i, class_to_string(predicted), class_to_string(desired), adultnn->output_layer->y[0], adultnn->output_layer->y[1]); } acc = 100.0 - (100.0 * errors / test_set->n_cases); printf("Testing accuracy: %f\n", acc); printf("Total classificarion errors: %d\n", errors); destroy_dataset(train_set); destroy_dataset(test_set); return 0; }
void shell::start() { cout<<"Starting shell : Type help for available commands\n"; char *cmd=new char[128] ; while(1) { //memset(cmd,0,128); cout.SetColour(GREEN,BLACK,0); cout<<"NanOS-#>"; cout.SetColour(WHITE,BLACK,0); cin>>cmd; //cout<<" \nCommand : "<<cmd<<"\n"; if(String::strncmp((const char*)cmd,"about",5)==0) about(); else if(String::strncmp((const char*)cmd,"help",4)==0) help(); else if(String::strncmp((const char*)cmd,"clear",5)==0) cout.clear(); else if(String::strncmp((const char*)cmd,"date",4)==0) get_cmos_date_time(); else if(String::strncmp((const char*)cmd,"hello",5)==0) cout<<"Hi, how do you do???"<<"\n"; else if(String::strncmp((const char*)cmd,"cpuinfo",7)==0) cpuinfo(); else if(String::strncmp((const char*)cmd,"meminfo",7)==0) meminfo(); else if(String::strncmp((const char*)cmd,"pci",3)==0) { pci_bus *sys_pci=pci_bus::Instance(); sys_pci->list_dev(); } else if(String::strncmp((const char*)cmd,"devclass",8)==0) { pci_bus *sys_pci=pci_bus::Instance(); unsigned short x=atoi(cmd+9); pci_dev *device=sys_pci->get_dev_by_class(x); int i=0; while(device) { cout.flags(hex|showbase); cout<<device->bus<<":"<<device->dev<<":"<<device->func<<":"; cout<<vendor_to_string(device->common->vendor_id)<<":"<<vendor_device_to_string(device->common->vendor_id,device->common->device_id)<<":"; cout<<class_to_string(device->common->classcode,device->common->subclass)<<":"; cout<<(int)device->common->classcode<<":"<<(int)device->common->subclass<<":"; cout<<(int)(device->common->Prog_if)<<":"<<(int)device->common->header_type<<"\n"; i++; device=device->next; } cout.flags(dec); cout<<"Total devices="<<i<<"\n"; } else if(String::strncmp((const char*)cmd,"bootdev",7)==0) { extern char *boot_dev; cout<<(char *)boot_dev<<"\n"; } else if(String::strncmp((const char*)cmd,"tasks",5)==0) { all_tasks(); } else if(String::strncmp((const char*)cmd,"ide",3)==0) { display_slot_info(); } else if(String::strncmp((const char*)cmd,"hdinfo",6)==0) { for(int i=0;i<4;i++) //if(disks[i]) { //disks[i]->disk_info(); } } else if(String::strncmp((const char*)cmd,"sysdriveinfo",12)==0) { display_sysdrive_info(); } else if(String::strcmp((const char*)cmd, "")==0); else cout<<"Unknown Command\n For available commands type help\n"; } }