亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? facetrain.c

?? 這是cmu大學的一個研究小組編寫的神經網絡中反向傳播算法的源代碼
?? C
字號:
/* ****************************************************************** * HISTORY * 15-Oct-94  Jeff Shufelt (js), Carnegie Mellon University *      Prepared for 15-681, Fall 1994. * * Tue Oct  7 08:12:06 EDT 1997, bthom, added a few comments, *       tagged w/bthom * ****************************************************************** */#include <stdio.h>#include <math.h>#include <pgmimage.h>#include <backprop.h>extern char *strcpy();extern void exit();main(argc, argv)int argc;char *argv[];{  char netname[256], trainname[256], test1name[256], test2name[256];  IMAGELIST *trainlist, *test1list, *test2list;  int ind, epochs, seed, savedelta, list_errors;  seed = 102194;   /*** today's date seemed like a good default ***/  epochs = 100;  savedelta = 100;  list_errors = 0;  netname[0] = trainname[0] = test1name[0] = test2name[0] = '\0';  if (argc < 2) {    printusage(argv[0]);    exit (-1);  }  /*** Create imagelists ***/  trainlist = imgl_alloc();  test1list = imgl_alloc();  test2list = imgl_alloc();  /*** Scan command line ***/  for (ind = 1; ind < argc; ind++) {    /*** Parse switches ***/    if (argv[ind][0] == '-') {      switch (argv[ind][1]) {          case 'n': strcpy(netname, argv[++ind]);                  break;        case 'e': epochs = atoi(argv[++ind]);                  break;        case 's': seed = atoi(argv[++ind]);                  break;        case 'S': savedelta = atoi(argv[++ind]);                  break;        case 't': strcpy(trainname, argv[++ind]);                  break;        case '1': strcpy(test1name, argv[++ind]);                  break;        case '2': strcpy(test2name, argv[++ind]);                  break;        case 'T': list_errors = 1;	          epochs = 0;                  break;        default : printf("Unknown switch '%c'\n", argv[ind][1]);                  break;      }    }  }  /*** If any train, test1, or test2 sets have been specified, then       load them in. ***/  if (trainname[0] != '\0')     imgl_load_images_from_textfile(trainlist, trainname);  if (test1name[0] != '\0')     imgl_load_images_from_textfile(test1list, test1name);  if (test2name[0] != '\0')    imgl_load_images_from_textfile(test2list, test2name);  /*** If we haven't specified a network save file, we should... ***/  if (netname[0] == '\0') {    printf("%s: Must specify an output file, i.e., -n <network file>\n",     argv[0]);    exit (-1);  }  /*** Don't try to train if there's no training data ***/  if (trainname[0] == '\0') {    epochs = 0;  }  /*** Initialize the neural net package ***/  bpnn_initialize(seed);  /*** Show number of images in train, test1, test2 ***/  printf("%d images in training set\n", trainlist->n);  printf("%d images in test1 set\n", test1list->n);  printf("%d images in test2 set\n", test2list->n);  /*** If we've got at least one image to train on, go train the net ***/  backprop_face(trainlist, test1list, test2list, epochs, savedelta, netname,		list_errors);  exit(0);}backprop_face(trainlist, test1list, test2list, epochs, savedelta, netname,	      list_errors)IMAGELIST *trainlist, *test1list, *test2list;int epochs, savedelta, list_errors;char *netname;{  IMAGE *iimg;  BPNN *net;  int train_n, epoch, i, imgsize;  double out_err, hid_err, sumerr;  train_n = trainlist->n;  /*** Read network in if it exists, otherwise make one from scratch ***/  if ((net = bpnn_read(netname)) == NULL) {    if (train_n > 0) {      printf("Creating new network '%s'\n", netname);      iimg = trainlist->list[0];      imgsize = ROWS(iimg) * COLS(iimg);      /* bthom ===========================	make a net with:	  imgsize inputs, 4 hiden units, and 1 output unit          */      net = bpnn_create(imgsize, 4, 1);    } else {      printf("Need some images to train on, use -t\n");      return;    }  }  if (epochs > 0) {    printf("Training underway (going to %d epochs)\n", epochs);    printf("Will save network every %d epochs\n", savedelta);    fflush(stdout);  }  /*** Print out performance before any epochs have been completed. ***/  printf("0 0.0 ");  performance_on_imagelist(net, trainlist, 0);  performance_on_imagelist(net, test1list, 0);  performance_on_imagelist(net, test2list, 0);  printf("\n");  fflush(stdout);  if (list_errors) {    printf("\nFailed to classify the following images from the training set:\n");    performance_on_imagelist(net, trainlist, 1);    printf("\nFailed to classify the following images from the test set 1:\n");    performance_on_imagelist(net, test1list, 1);    printf("\nFailed to classify the following images from the test set 2:\n");    performance_on_imagelist(net, test2list, 1);  }  /************** Train it *****************************/  for (epoch = 1; epoch <= epochs; epoch++) {    printf("%d ", epoch);  fflush(stdout);    sumerr = 0.0;    for (i = 0; i < train_n; i++) {      /** Set up input units on net with image i **/      load_input_with_image(trainlist->list[i], net);      /** Set up target vector for image i **/      load_target(trainlist->list[i], net);      /** Run backprop, learning rate 0.3, momentum 0.3 **/      bpnn_train(net, 0.3, 0.3, &out_err, &hid_err);      sumerr += (out_err + hid_err);    }    printf("%g ", sumerr);    /*** Evaluate performance on train, test, test2, and print perf ***/    performance_on_imagelist(net, trainlist, 0);    performance_on_imagelist(net, test1list, 0);    performance_on_imagelist(net, test2list, 0);    printf("\n");  fflush(stdout);    /*** Save network every 'savedelta' epochs ***/    if (!(epoch % savedelta)) {      bpnn_save(net, netname);    }  }  printf("\n"); fflush(stdout);  /** Save the trained network **/  if (epochs > 0) {    bpnn_save(net, netname);  }}/*** Computes the performance of a net on the images in the imagelist. ***//*** Prints out the percentage correct on the image set, and the     average error between the target and the output units for the set. ***/performance_on_imagelist(net, il, list_errors)BPNN *net;IMAGELIST *il;int list_errors;{  double err, val;  int i, n, j, correct;  err = 0.0;  correct = 0;  n = il->n;  if (n > 0) {    for (i = 0; i < n; i++) {      /*** Load the image into the input layer. **/      load_input_with_image(il->list[i], net);      /*** Run the net on this input. **/      bpnn_feedforward(net);      /*** Set up the target vector for this image. **/      load_target(il->list[i], net);      /*** See if it got it right. ***/      if (evaluate_performance(net, &val, 0)) {        correct++;      } else if (list_errors) {	printf("%s - outputs ", NAME(il->list[i]));	for (j = 1; j <= net->output_n; j++) {	  printf("%.3f ", net->output_units[j]);	}	putchar('\n');      }      err += val;    }    err = err / (double) n;    if (!list_errors)      /* bthom==================================	 this line prints part of the ouput line	 discussed in section 3.1.2 of homework          */      printf("%g %g ", ((double) correct / (double) n) * 100.0, err);  } else {    if (!list_errors)      printf("0.0 0.0 ");  }}evaluate_performance(net, err)BPNN *net;double *err;{  double delta;  delta = net->target[1] - net->output_units[1];  *err = (0.5 * delta * delta);  /*** If the target unit is on... ***/  if (net->target[1] > 0.5) {    /*** If the output unit is on, then we correctly recognized me! ***/    if (net->output_units[1] > 0.5) {      return (1);    /*** otherwise, we didn't think it was me... ***/    } else {      return (0);    }  /*** Else, the target unit is off... ***/  } else {    /*** If the output unit is on, then we mistakenly thought it was me ***/    if (net->output_units[1] > 0.5) {      return (0);    /*** else, we correctly realized that it wasn't me ***/    } else {      return (1);    }  }}printusage(prog)char *prog;{  printf("USAGE: %s\n", prog);  printf("       -n <network file>\n");  printf("       [-e <number of epochs>]\n");  printf("       [-s <random number generator seed>]\n");  printf("       [-S <number of epochs between saves of network>]\n");  printf("       [-t <training set list>]\n");  printf("       [-1 <testing set 1 list>]\n");  printf("       [-2 <testing set 2 list>]\n");  printf("       [-T]\n");}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费看国产免费软件| 国产精品国产自产拍高清av王其| 狠狠久久亚洲欧美| 国产精品久久久久久福利一牛影视| 亚洲欧美日韩在线播放| 国产精品丝袜在线| 日本一区二区视频在线| 久久久久久夜精品精品免费| 欧美大片拔萝卜| 欧美videos中文字幕| 久久在线观看免费| 国产女同互慰高潮91漫画| 亚洲va欧美va天堂v国产综合| 尤物在线观看一区| 亚洲激情一二三区| 成人免费av网站| 色婷婷亚洲综合| 欧美日本韩国一区二区三区视频| 欧美唯美清纯偷拍| 欧美一区在线视频| 久久久99精品免费观看| 亚洲日本中文字幕区| 日韩精品1区2区3区| 久久99精品一区二区三区三区| 国产一区二区三区观看| 99精品热视频| 中文字幕中文字幕一区二区| 国产黄色91视频| 欧美性猛交xxxx黑人交| 亚洲欧美日韩系列| 91国产成人在线| ww久久中文字幕| 美女脱光内衣内裤视频久久影院| 成人性生交大片免费看中文网站| 久久一留热品黄| 国产精品自拍av| 欧美日韩高清在线| 视频一区中文字幕| 欧美一级电影网站| 亚洲靠逼com| 在线日韩一区二区| 国产精品萝li| av午夜一区麻豆| 久久综合九色欧美综合狠狠| 韩国av一区二区| 亚洲国产成人午夜在线一区 | 欧美成人r级一区二区三区| 日本欧美大码aⅴ在线播放| 粉嫩欧美一区二区三区高清影视| 欧美日韩综合在线| 国产精品久久久久久久久久久免费看 | 欧美日韩一二区| 天天影视网天天综合色在线播放 | 国产亚洲一区二区三区| 成人精品一区二区三区四区| 亚洲欧美一区二区三区极速播放| 欧美日韩黄色一区二区| 国内精品国产成人国产三级粉色 | 26uuu国产日韩综合| 99re亚洲国产精品| 亚洲午夜成aⅴ人片| 国产不卡视频在线观看| 亚洲欧美日韩一区| 日韩欧美卡一卡二| 成人高清视频免费观看| 国产亚洲精品超碰| 在线观看精品一区| 久久99国产精品尤物| 亚洲人成网站影音先锋播放| 5566中文字幕一区二区电影 | 久久九九全国免费| 色偷偷久久人人79超碰人人澡| 午夜电影网一区| 亚洲国产成人一区二区三区| 欧美日韩国产一级| 国产成人精品免费在线| 亚洲国产日韩a在线播放| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品色哟哟| 欧美日韩精品一区二区三区蜜桃| 国产精品一区专区| 亚洲午夜一区二区三区| 日本一区二区免费在线| 欧美日韩成人综合在线一区二区| 国产成人在线视频播放| 天天色 色综合| 欧美在线免费播放| 日韩不卡一区二区| 日韩理论片一区二区| 久久久久久久av麻豆果冻| 91高清在线观看| 波多野结衣一区二区三区| 美腿丝袜亚洲一区| 婷婷夜色潮精品综合在线| 亚洲天堂久久久久久久| 久久久久综合网| 精品伦理精品一区| 制服丝袜av成人在线看| 欧美三级欧美一级| 色呦呦一区二区三区| 成人网页在线观看| 国产成人8x视频一区二区| 精品在线播放免费| 久久99久久99| 久久丁香综合五月国产三级网站| 欧美一区二区视频免费观看| 色婷婷精品久久二区二区蜜臀av| 高清不卡一区二区| 国产suv精品一区二区883| 精品亚洲国内自在自线福利| 免费三级欧美电影| 日韩有码一区二区三区| 一区二区三区欧美日韩| 91麻豆精品久久久久蜜臀| 欧美性高清videossexo| 色狠狠一区二区| 欧美综合在线视频| 欧美日韩高清一区二区不卡| 欧美日韩高清一区二区| 制服丝袜激情欧洲亚洲| 日韩欧美一级精品久久| 日韩欧美综合一区| 日韩一级精品视频在线观看| 日韩欧美在线网站| 2欧美一区二区三区在线观看视频| 精品久久久久一区二区国产| 久久久精品人体av艺术| 欧美韩日一区二区三区| 亚洲欧美怡红院| 欧美不卡一区二区| 久久免费的精品国产v∧| 欧美国产一区二区在线观看| 国产精品成人在线观看| 一区二区免费看| 人人爽香蕉精品| 国产自产v一区二区三区c| 成人小视频免费观看| 色婷婷精品大在线视频| 9191久久久久久久久久久| 26uuu欧美| 亚洲精品少妇30p| 蜜桃av一区二区三区| 不卡电影一区二区三区| 欧美伦理视频网站| 欧美三级午夜理伦三级中视频| 制服.丝袜.亚洲.中文.综合| 久久久久久久一区| 亚洲午夜私人影院| 国产精品一区久久久久| 日本高清不卡aⅴ免费网站| 欧美一区二区网站| 国产精品久久久久久久久动漫| 亚洲一卡二卡三卡四卡五卡| 成人欧美一区二区三区小说| 成人91在线观看| 欧美一区二区三区白人| 国产精品毛片无遮挡高清| 日韩成人午夜电影| 99久久综合精品| 精品国产乱码久久久久久夜甘婷婷| 欧美日高清视频| 国产精品沙发午睡系列990531| 亚洲成年人影院| 99久久精品国产精品久久| 亚洲精品在线免费观看视频| 亚洲男人的天堂av| 国产一区二区三区精品欧美日韩一区二区三区 | 91精品国产乱| 亚洲精品国产一区二区精华液| 国产在线视频不卡二| 欧美日韩国产大片| 亚洲精品一二三四区| 国产精品一区二区黑丝| 5566中文字幕一区二区电影| 中文字幕一区三区| 国产黄色91视频| 欧美精品一区二区久久久| 午夜精品福利视频网站| 色婷婷一区二区| 国产精品三级视频| 国产精品亚洲午夜一区二区三区| 91精品国产综合久久婷婷香蕉 | 成人精品小蝌蚪| 久久人人97超碰com| 奇米色一区二区三区四区| 欧美中文字幕一二三区视频| 一区在线观看免费| www.欧美日韩国产在线| 中文字幕av一区二区三区免费看| 精品一区二区免费看| 欧美电影免费观看高清完整版在| 婷婷综合久久一区二区三区| 欧美日韩一区在线观看| 一区二区理论电影在线观看| 色婷婷综合久久久中文字幕| 中文字幕视频一区二区三区久| 不卡的看片网站| 亚洲视频每日更新| 日本精品视频一区二区三区| 亚洲免费观看高清完整|