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

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

?? bpn.c

?? fan_nncC語言神經網絡程序包
?? C
?? 第 1 頁 / 共 2 頁
字號:

void RandomWeights(NET* Net)
{
  INT l,i,j;
   
  for (l=1; l<NUM_LAYERS; l++) {
    for (i=1; i<=Net->Layer[l]->Units; i++) {
      for (j=0; j<=Net->Layer[l-1]->Units; j++) {
        Net->Layer[l]->Weight[i][j] = RandomEqualREAL(-0.5, 0.5);
      }
    }
  }
}


void SetInput(NET* Net, REAL* Input)
{
  INT i;
   
  for (i=1; i<=Net->InputLayer->Units; i++) {
    Net->InputLayer->Output[i] = Input[i-1];
  }
}


void GetOutput(NET* Net, REAL* Output)
{
  INT i;
   
  for (i=1; i<=Net->OutputLayer->Units; i++) {
    Output[i-1] = Net->OutputLayer->Output[i];
  }
}


/******************************************************************************
            S U P P O R T   F O R   S T O P P E D   T R A I N I N G
 ******************************************************************************/


void SaveWeights(NET* Net)
{
  INT l,i,j;

  for (l=1; l<NUM_LAYERS; l++) {
    for (i=1; i<=Net->Layer[l]->Units; i++) {
      for (j=0; j<=Net->Layer[l-1]->Units; j++) {
        Net->Layer[l]->WeightSave[i][j] = Net->Layer[l]->Weight[i][j];
      }
    }
  }
}


void RestoreWeights(NET* Net)
{
  INT l,i,j;

  for (l=1; l<NUM_LAYERS; l++) {
    for (i=1; i<=Net->Layer[l]->Units; i++) {
      for (j=0; j<=Net->Layer[l-1]->Units; j++) {
        Net->Layer[l]->Weight[i][j] = Net->Layer[l]->WeightSave[i][j];
      }
    }
  }
}


/******************************************************************************
                     P R O P A G A T I N G   S I G N A L S
 ******************************************************************************/


void PropagateLayer(NET* Net, LAYER* Lower, LAYER* Upper)
{
  INT  i,j;
  REAL Sum;

  for (i=1; i<=Upper->Units; i++) {
    Sum = 0;
    for (j=0; j<=Lower->Units; j++) {
      Sum += Upper->Weight[i][j] * Lower->Output[j];
    }
    Upper->Output[i] = 1 / (1 + exp(-Net->Gain * Sum));
  }
}


void PropagateNet(NET* Net)
{
  INT l;
   
  for (l=0; l<NUM_LAYERS-1; l++) {
    PropagateLayer(Net, Net->Layer[l], Net->Layer[l+1]);
  }
}


/******************************************************************************
                  B A C K P R O P A G A T I N G   E R R O R S
 ******************************************************************************/


void ComputeOutputError(NET* Net, REAL* Target)
{
  INT  i;
  REAL Out, Err;
   
  Net->Error = 0;
  for (i=1; i<=Net->OutputLayer->Units; i++) {
    Out = Net->OutputLayer->Output[i];
    Err = Target[i-1]-Out;
    Net->OutputLayer->Error[i] = Net->Gain * Out * (1-Out) * Err;
    Net->Error += 0.5 * sqr(Err);
  }
}


void BackpropagateLayer(NET* Net, LAYER* Upper, LAYER* Lower)
{
  INT  i,j;
  REAL Out, Err;
   
  for (i=1; i<=Lower->Units; i++) {
    Out = Lower->Output[i];
    Err = 0;
    for (j=1; j<=Upper->Units; j++) {
      Err += Upper->Weight[j][i] * Upper->Error[j];
    }
    Lower->Error[i] = Net->Gain * Out * (1-Out) * Err;
  }
}


void BackpropagateNet(NET* Net)
{
  INT l;
   
  for (l=NUM_LAYERS-1; l>1; l--) {
    BackpropagateLayer(Net, Net->Layer[l], Net->Layer[l-1]);
  }
}


void AdjustWeights(NET* Net)
{
  INT  l,i,j;
  REAL Out, Err, dWeight;
   
  for (l=1; l<NUM_LAYERS; l++) {
    for (i=1; i<=Net->Layer[l]->Units; i++) {
      for (j=0; j<=Net->Layer[l-1]->Units; j++) {
        Out = Net->Layer[l-1]->Output[j];
        Err = Net->Layer[l]->Error[i];
        dWeight = Net->Layer[l]->dWeight[i][j];
        Net->Layer[l]->Weight[i][j] += Net->Eta * Err * Out + Net->Alpha * dWeight;
        Net->Layer[l]->dWeight[i][j] = Net->Eta * Err * Out;
      }
    }
  }
}


/******************************************************************************
                      S I M U L A T I N G   T H E   N E T
 ******************************************************************************/


void SimulateNet(NET* Net, REAL* Input, REAL* Output, REAL* Target, BOOL Training)
{
  SetInput(Net, Input);
  PropagateNet(Net);
  GetOutput(Net, Output);
   
  ComputeOutputError(Net, Target);
  if (Training) {
    BackpropagateNet(Net);
    AdjustWeights(Net);
  }
}


void TrainNet(NET* Net, INT Epochs)
{
  INT  Year, n;
  REAL Output[M];

  for (n=0; n<Epochs*TRAIN_YEARS; n++) {
    Year = RandomEqualINT(TRAIN_LWB, TRAIN_UPB);
    SimulateNet(Net, &(Sunspots[Year-N]), Output, &(Sunspots[Year]), TRUE);
  }
}


void TestNet(NET* Net)
{
  INT  Year;
  REAL Output[M];

  TrainError = 0;
  for (Year=TRAIN_LWB; Year<=TRAIN_UPB; Year++) {
    SimulateNet(Net, &(Sunspots[Year-N]), Output, &(Sunspots[Year]), FALSE);
    TrainError += Net->Error;
  }
  TestError = 0;
  for (Year=TEST_LWB; Year<=TEST_UPB; Year++) {
    SimulateNet(Net, &(Sunspots[Year-N]), Output, &(Sunspots[Year]), FALSE);
    TestError += Net->Error;
  }
  fprintf(f, "\nNMSE is %0.3f on Training Set and %0.3f on Test Set",
             TrainError / TrainErrorPredictingMean,
             TestError / TestErrorPredictingMean);
}


void EvaluateNet(NET* Net)
{
  INT  Year;
  REAL Output [M];
  REAL Output_[M];

  fprintf(f, "\n\n\n");
  fprintf(f, "Year    Sunspots    Open-Loop Prediction    Closed-Loop Prediction\n");
  fprintf(f, "\n");
  for (Year=EVAL_LWB; Year<=EVAL_UPB; Year++) {
    SimulateNet(Net, &(Sunspots [Year-N]), Output,  &(Sunspots [Year]), FALSE);
    SimulateNet(Net, &(Sunspots_[Year-N]), Output_, &(Sunspots_[Year]), FALSE);
    Sunspots_[Year] = Output_[0];
    fprintf(f, "%d       %0.3f                   %0.3f                     %0.3f\n",
               FIRST_YEAR + Year,
               Sunspots[Year],
               Output [0],
               Output_[0]);
  }
}


/******************************************************************************
                                    M A I N
 ******************************************************************************/


void main()
{
  NET  Net;
  BOOL Stop;
  REAL MinTestError;

  InitializeRandoms();
  GenerateNetwork(&Net);
  RandomWeights(&Net);
  InitializeApplication(&Net);

  Stop = FALSE;
  MinTestError = MAX_REAL;
  do {
    TrainNet(&Net, 10);
    TestNet(&Net);
    if (TestError < MinTestError) {
      fprintf(f, " - saving Weights ...");
      MinTestError = TestError;
      SaveWeights(&Net);
    }
    else if (TestError > 1.2 * MinTestError) {
      fprintf(f, " - stopping Training and restoring Weights ...");
      Stop = TRUE;
      RestoreWeights(&Net);
    }
  } while (NOT Stop);

  TestNet(&Net);
  EvaluateNet(&Net);
   
  FinalizeApplication(&Net);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线播放午夜| 日韩一区二区在线观看视频播放| 欧美亚洲国产一区在线观看网站 | 波多野结衣中文字幕一区 | 日韩欧美一区二区免费| 成人免费在线视频观看| 久久99在线观看| 欧美性受xxxx| 亚洲欧洲精品一区二区精品久久久| 午夜精品在线看| 欧美影片第一页| 亚洲日本中文字幕区| 国产精品亚洲一区二区三区在线 | 美腿丝袜亚洲一区| 欧美视频中文字幕| 亚洲免费高清视频在线| 成人国产精品免费网站| 久久久久国产精品免费免费搜索| 日韩中文字幕不卡| 欧美性大战久久久久久久蜜臀| 亚洲天堂中文字幕| 91视频.com| 亚洲精品国产a| 欧美手机在线视频| 午夜久久久久久久久| 欧美日本不卡视频| 婷婷中文字幕一区三区| 欧美精品三级在线观看| 成人在线综合网| 欧美激情资源网| 国产 欧美在线| 欧美激情在线看| 99精品欧美一区二区三区综合在线| 欧美经典三级视频一区二区三区| 国产精品一区二区久久不卡| 精品国产乱码久久久久久浪潮| 美女精品一区二区| 亚洲精品一区二区三区在线观看| 美女网站在线免费欧美精品| 日韩三级.com| 国产精品资源在线看| 中文字幕高清一区| 色综合av在线| 首页国产欧美久久| 日韩欧美一级在线播放| 国内成人自拍视频| 中文字幕在线播放不卡一区| 色妹子一区二区| 亚洲电影欧美电影有声小说| 56国语精品自产拍在线观看| 麻豆国产欧美日韩综合精品二区| 精品国产免费视频| 成人久久18免费网站麻豆 | 91在线视频在线| 亚洲成人一区二区| 精品少妇一区二区三区日产乱码| 国产99久久精品| 亚洲国产毛片aaaaa无费看| 欧美久久高跟鞋激| 国产成人在线色| 亚洲自拍偷拍综合| www国产精品av| 91在线视频播放| 久久成人久久爱| 亚洲日本va在线观看| 制服.丝袜.亚洲.另类.中文 | 在线观看网站黄不卡| 麻豆成人综合网| 久久99精品久久久久久久久久久久| 国产亚洲精品超碰| 欧美三级日韩三级| 成人性生交大片| 日韩av中文字幕一区二区三区| 国产精品美女www爽爽爽| 欧美日韩在线亚洲一区蜜芽| 国产福利精品一区| 视频一区国产视频| 亚洲欧洲av在线| 精品伦理精品一区| 欧美午夜电影网| 成人黄色一级视频| 久久成人麻豆午夜电影| 亚洲图片自拍偷拍| 成人欧美一区二区三区黑人麻豆 | 理论电影国产精品| 亚洲精选一二三| 日本一区二区视频在线| 69av一区二区三区| 欧美色成人综合| 97久久超碰国产精品电影| 国产成人欧美日韩在线电影| 免费成人你懂的| 午夜电影网亚洲视频| 亚洲色图欧洲色图婷婷| 国产欧美视频在线观看| 日韩免费视频线观看| 在线91免费看| 欧美绝品在线观看成人午夜影视| 色哟哟一区二区三区| 成人毛片老司机大片| 国产成人丝袜美腿| 国产一二三精品| 国产制服丝袜一区| 国产制服丝袜一区| 精品一区二区三区影院在线午夜| 亚洲动漫第一页| 夜夜夜精品看看| 亚洲综合丝袜美腿| 亚洲一二三区不卡| 亚洲国产欧美在线人成| 亚洲成人黄色影院| 视频一区视频二区中文| 日本伊人色综合网| 日本亚洲欧美天堂免费| 美女一区二区久久| 国产一区二区在线电影| 国产精品影视在线观看| 高清视频一区二区| 99精品国产一区二区三区不卡| 成人一区在线观看| 91视视频在线观看入口直接观看www| 成人涩涩免费视频| 在线一区二区三区| 欧美日韩亚州综合| 日韩欧美国产一区在线观看| 欧美大肚乱孕交hd孕妇| 奇米在线7777在线精品| 免费在线观看成人| 国产九色精品成人porny| 国产精品一品视频| 91看片淫黄大片一级| 欧美日韩在线不卡| 亚洲精品在线免费播放| 中文字幕国产一区| 一区二区三区在线视频免费 | 国产成人综合自拍| 丁香激情综合五月| 欧洲一区二区三区在线| 日韩一级免费观看| 国产精品国产三级国产普通话三级 | 一区二区三区高清| 久久超碰97人人做人人爱| 春色校园综合激情亚洲| 色综合久久99| 精品少妇一区二区三区在线播放 | 不卡影院免费观看| 欧美日韩成人综合天天影院 | 亚洲第一福利一区| 国产98色在线|日韩| 欧美色区777第一页| 精品国产乱码久久久久久牛牛| 成人免费小视频| 美女诱惑一区二区| 色偷偷成人一区二区三区91| 日韩欧美不卡在线观看视频| 亚洲日本青草视频在线怡红院| 免费看黄色91| 一本色道久久综合亚洲91 | 欧美三电影在线| 国产午夜精品福利| 日本一区中文字幕| 色综合久久中文字幕| 久久久久九九视频| 偷窥国产亚洲免费视频| 粉嫩嫩av羞羞动漫久久久| 91精品欧美久久久久久动漫| 国产精品灌醉下药二区| 久久99久国产精品黄毛片色诱| 色激情天天射综合网| 久久麻豆一区二区| 日韩电影网1区2区| 91久久精品午夜一区二区| 国产视频一区二区在线观看| 蜜臀av一区二区在线观看| 欧美少妇bbb| 亚洲男人的天堂在线观看| 欧美高清www午色夜在线视频| 中文字幕在线观看一区| 国产在线精品一区在线观看麻豆| 制服丝袜激情欧洲亚洲| 亚洲小少妇裸体bbw| 白白色 亚洲乱淫| 久久久久高清精品| 国产在线精品免费av| 日韩欧美资源站| 日韩精品免费视频人成| 欧美日韩亚州综合| 亚洲国产成人tv| 欧美日韩小视频| 亚洲成人午夜影院| 欧美日本一区二区| 性感美女极品91精品| 欧美伊人久久大香线蕉综合69| 亚洲三级在线播放| 91香蕉视频在线| 亚洲综合清纯丝袜自拍| 欧美亚洲丝袜传媒另类| 亚洲国产精品人人做人人爽| 欧美午夜宅男影院| 午夜国产精品影院在线观看|