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

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

?? htrain.c

?? 隱馬爾科夫模型工具箱
?? C
?? 第 1 頁 / 共 4 頁
字號:
}/* DumpVaAcc: dump variance acc to file f */static void DumpVaAcc(FILE *f, VaAcc *va, CovKind ck){   switch(ck){   case DIAGC:   case INVDIAGC:      WriteVector(f,va->cov.var,ldBinary);      break;   case FULLC:   case LLTC:      WriteTriMat(f,va->cov.inv,ldBinary);      break;   default:      HError(7170,"DumpVaAcc: bad cov kind");   }   WriteFloat(f,&(va->occ),1,ldBinary);   if (!ldBinary) fprintf(f,"\n");}/* DumpTrAcc: dump transition acc to file f */static void DumpTrAcc(FILE *f, TrAcc *ta){   WriteMatrix(f,ta->tran,ldBinary);   WriteVector(f,ta->occ,ldBinary);   if (!ldBinary) fprintf(f,"\n");}/* DumpMarker: dump a marker into file f */static void DumpMarker(FILE *f){   int mark = 123456;      WriteInt(f,&mark,1,ldBinary);   if (!ldBinary) fprintf(f,"\n");}/* GetDumpFile: Process dump file name and open it */static FILE * GetDumpFile(char *name, int n){   char buf[MAXSTRLEN],num[20];   int i,j,k,len,nlen;   FILE *f;      sprintf(num,"%d",n);   len = strlen(name); nlen = strlen(num);   for (i=0,j=0; i<len; i++) {      if (name[i] == '$')         for (k=0; k<nlen; k++)            buf[j++] = num[k];      else         buf[j++] = name[i];   }   buf[j] = '\0';   f = fopen(buf,"wb"); /* Binary file */   if (f==NULL)      HError(7111,"GetDumpFile: cannot open acc dump file %s",buf);   if (trace & T_ALD)      printf("Dumping accumulators to file %s\n",buf);   return f;}/* EXPORT->DumpAccs: Dump a copy of the accs in hset to fname.       Any occurrence of the $ symbol in fname is replaced by n.       The file is left open and returned */FILE * DumpAccs(HMMSet *hset, char *fname, int n){ return DumpAccsParallel(hset,fname,n,0); }FILE * DumpAccsParallel(HMMSet *hset, char *fname, int n, int index){   FILE *f;   HLink hmm;   HMMScanState hss;   int m,s;   MixPDF* mp;      f = GetDumpFile(fname,n);   NewHMMScan(hset, &hss);   do {      hmm = hss.hmm;      DumpPName(f,hss.mac->id->name);           WriteInt(f,(int *)&hmm->hook,1,ldBinary);       while (GoNextState(&hss,TRUE)) {         while (GoNextStream(&hss,TRUE)) {            DumpWtAcc(f,((WtAcc *)hss.ste->hook)+index);            if (hss.isCont){               while (GoNextMix(&hss,TRUE)) {                  if (!IsSeenV(hss.mp->mean)) {                     DumpMuAcc(f,((MuAcc *)GetHook(hss.mp->mean))+index);                     TouchV(hss.mp->mean);                  }                  if (!IsSeenV(hss.mp->cov.var)) {                     DumpVaAcc(f,((VaAcc *)GetHook(hss.mp->cov.var))+index,hss.mp->ckind);                     TouchV(hss.mp->cov.var);                  }               }            }         }      }           if (!IsSeenV(hmm->transP)){	 DumpTrAcc(f, ((TrAcc *) GetHook(hmm->transP))+index);         TouchV(hmm->transP);      }      DumpMarker(f);   } while (GoNextHMM(&hss));      EndHMMScan(&hss);   if (hset->hsKind == TIEDHS){      for (s=1; s<=hset->swidth[0]; s++){         for (m=1; m<=hset->tmRecs[s].nMix; m++){            mp = hset->tmRecs[s].mixes[m];            DumpMuAcc(f,((MuAcc *)GetHook(mp->mean))+index);            DumpVaAcc(f,((VaAcc *)GetHook(mp->cov.var))+index,mp->ckind);         }      }   }       return f;}/* LoadWtAcc: new inc of wt acc from file f */static void LoadWtAcc(Source *src, WtAcc *wa, int numMixtures){   int m;   float f;   Vector cTemp;      cTemp = CreateVector(&gstack,numMixtures);   ReadVector(src,cTemp,ldBinary);   for (m=1;m<=numMixtures;m++){     if(!finite(cTemp[m]))       HError(7191, "Infinite WtAcc!");     wa->c[m] += cTemp[m];   }   ReadFloat(src,&f,1,ldBinary);   wa->occ += f;   FreeVector(&gstack,cTemp);}/* LoadMuAcc: new inc of mean acc from file f */static void LoadMuAcc(Source *src, MuAcc *ma, int vSize){   int k;   Vector vTemp;   float f;      vTemp = CreateVector(&gstack,vSize);   ReadVector(src,vTemp,ldBinary);   for (k=1;k<=vSize;k++){     if(!finite(vTemp[k]))       HError(7191, "Infinite MuAcc!");      ma->mu[k] += vTemp[k];   }   ReadFloat(src,&f,1,ldBinary);   ma->occ += f;   FreeVector(&gstack,vTemp);}/* LoadVaAcc: p'th inc of variance acc from file f */static void LoadVaAcc(Source *src, VaAcc *va, int vSize, CovKind ck){   int k,kk;   Vector vTemp;   TriMat mTemp;   float f;      switch(ck){   case DIAGC:   case INVDIAGC:      vTemp = CreateVector(&gstack, vSize);      ReadVector(src,vTemp,ldBinary);      for (k=1;k<=vSize;k++){        if(!finite(vTemp[k]))           HError(7191, "Infinite VaAcc!");         va->cov.var[k] += vTemp[k];      }      FreeVector(&gstack, vTemp);      break;   case FULLC:   case LLTC:      mTemp = CreateTriMat(&gstack,vSize);      ReadTriMat(src,mTemp,ldBinary);      for (k=1;k<=vSize;k++)         for (kk=1; kk<=k; kk++) {            va->cov.inv[k][kk] += mTemp[k][kk];         }      FreeTriMat(&gstack,mTemp);      break;   }   ReadFloat(src,&f,1,ldBinary);   va->occ += f;}/* LoadTrAcc: p'th inc of transition acc from file f */static void LoadTrAcc(Source *src, TrAcc *ta, int numStates){   int i,j;   Matrix tTemp;   Vector nTemp;      tTemp = CreateMatrix(&gstack,numStates,numStates);   nTemp = CreateVector(&gstack,numStates);   ReadMatrix(src,tTemp,ldBinary);   for (i=1;i<=numStates;i++)      for (j=1;j<=numStates;j++)         ta->tran[i][j] += tTemp[i][j];   ReadVector(src,nTemp,ldBinary);   for (i=1;i<=numStates;i++)      ta->occ[i] += nTemp[i];   FreeMatrix(&gstack,tTemp);}/* CheckPName: check dumped name matches hmm phys name */static void CheckPName(Source *src, char *pname){   int c;   char buf[MAXSTRLEN];   ReadString(src,buf);   c = GetCh(src);   if (c != '\n')      HError(7150,"CheckPName: Cant find EOL");   if (strcmp(pname,buf) != 0)      HError(7150,"CheckPName: expected %s got %s",pname,buf);}/* CheckMarker: check file f has a marker next */static void CheckMarker(Source *src){   int mark = 123456, temp;      ReadInt(src,&temp,1,ldBinary);   if (temp != mark)      HError(7150,"CheckMarker: Marker Expected in Dump File");}/* EXPORT->LoadAccs: inc accumulators in hset by vals in fname */Source LoadAccs(HMMSet *hset, char *fname){ return LoadAccsParallel(hset,fname,0); }Source LoadAccsParallel(HMMSet *hset, char *fname, int index){   Source src;   HLink hmm;   HMMScanState hss;   int size,negs,m,s;   MixPDF* mp;      if (trace & T_ALD)      printf("Loading accumulators from file %s\n",fname);   if(InitSource(fname,&src,NoFilter)<SUCCESS)      HError(7110,"LoadAccs: Can't open file %s", fname);   NewHMMScan(hset, &hss);   do {      hmm = hss.hmm;      CheckPName(&src,hss.mac->id->name);       ReadInt(&src,&negs,1,ldBinary);      negs += (int)hmm->hook; hmm->hook = (void *)negs;      while (GoNextState(&hss,TRUE)) {         while (GoNextStream(&hss,TRUE)) {            size = hset->swidth[hss.s];            LoadWtAcc(&src,((WtAcc *)hss.ste->hook)+index,hss.M);            if (hss.isCont){               while (GoNextMix(&hss,TRUE)) {                  if (!IsSeenV(hss.mp->mean)) {		     LoadMuAcc(&src,((MuAcc *)GetHook(hss.mp->mean))+index,size);                     TouchV(hss.mp->mean);                  }                  if (!IsSeenV(hss.mp->cov.var)) {                     LoadVaAcc(&src,((VaAcc *)GetHook(hss.mp->cov.var))+index,                               size,hss.mp->ckind);                     TouchV(hss.mp->cov.var);                  }               }            }         }      }           if (!IsSeenV(hmm->transP)){         LoadTrAcc(&src, ((TrAcc *) GetHook(hmm->transP))+index,hss.N);         TouchV(hmm->transP);      }      CheckMarker(&src);   } while (GoNextHMM(&hss));   EndHMMScan(&hss);   if (hset->hsKind == TIEDHS){      for (s=1; s<=hset->swidth[0]; s++){         size = hset->swidth[s];         for (m=1;m<=hset->tmRecs[s].nMix; m++){            mp = hset->tmRecs[s].mixes[m];            LoadMuAcc(&src,((MuAcc *)GetHook(mp->mean))+index,size);            LoadVaAcc(&src,((VaAcc *)GetHook(mp->cov.var))+index,size,mp->ckind);         }      }   }       return src;}void RestorePDF(MixPDF *mp, int index){   int i,j;   MuAcc *ma = ((MuAcc *)GetHook(mp->mean))+index;   VaAcc *va = ((VaAcc*)GetHook(mp->cov.var))+index;   int size = VectorSize(mp->mean);   for(i=1;i<=size;i++){ ma->mu[i] += ma->occ * mp->mean[i]; }   switch(mp->ckind){   case DIAGC: case INVDIAGC:      for(i=1;i<=size;i++){ va->cov.var[i] += 2*ma->mu[i]*mp->mean[i] - va->occ*mp->mean[i]*mp->mean[i]; }      break;   case FULLC: case LLTC:      for(i=1;i<=size;i++){          for(j=1;j<=i;j++){            va->cov.inv[i][j] += ma->mu[i]*mp->mean[j] + ma->mu[j]*mp->mean[i] - va->occ*mp->mean[i]*mp->mean[j];          }      }      break;   default: HError(7191, "Unknown ckind [RestoreAccsParallel]");   }}void RestoreAccs(HMMSet *hset){ RestoreAccsParallel(hset,0); }void RestoreAccsParallel(HMMSet *hset, int index){   HMMScanState hss;   int s,m,size;   if(hset->hsKind==TIEDHS){      for (s=1; s<=hset->swidth[0]; s++){         size = hset->swidth[s];         for (m=1;m<=hset->tmRecs[s].nMix; m++)            RestorePDF(hset->tmRecs[s].mixes[m], index);      }   } else {      NewHMMScan(hset, &hss);      while (GoNextMix(&hss,FALSE)) {         RestorePDF(hss.mp, index);      }      EndHMMScan(&hss);   }}double ScalePDF(MixPDF *mpdf, int vSize, int index, float wt){   float ans;   MuAcc *ma = ((MuAcc*)GetHook(mpdf->mean))+index;   VaAcc *va = ((VaAcc*)GetHook(mpdf->cov.var))+index; /*diagonal case, of course.*/   {/*Scale the mu.*/      int x;      ma->occ *= wt;      for(x=1;x<=vSize;x++)         ma->mu[x] *= wt;   }   {/*Scale the var.*/      int x;      ans = va->occ;      va->occ *= wt;      for(x=1;x<=vSize;x++)         va->cov.var[x] *= wt;   }   return ans;}double ScaleAccs(HMMSet *hset, float wt){   return ScaleAccsParallel(hset,wt,0);}double ScaleAccsParallel(HMMSet *hset, float wt, int index){    HMMScanState hss;   int s,m,size;   float ans=0;     if(hset->ckind != DIAGC || !(hset->hsKind==PLAINHS || hset->hsKind==SHAREDHS ||                                 hset->hsKind==TIEDHS))      HError(-1, "ScaleAccsParallel: wrong kind of hset.");   /* Do gaussians. */   if(hset->hsKind==TIEDHS){      for (s=1; s<=hset->swidth[0]; s++){         size = hset->swidth[s];         for (m=1;m<=hset->tmRecs[s].nMix; m++)            ans += ScalePDF(hset->tmRecs[s].mixes[m], size, index, wt);      }   } else {      NewHMMScan(hset, &hss);      while (GoNextMix(&hss,FALSE)) {         size = hset->swidth[hss.s];         ans += ScalePDF(hss.mp, size, index, wt);      }      EndHMMScan(&hss);   }   /* Do weights. */   NewHMMScan(hset,&hss);   while(GoNextState(&hss,FALSE)){ /*skip over hmm boundaries.*/      while(GoNextStream(&hss,TRUE)){ /*Don't skip over state boundaries.*/         StreamElem *ste = hss.ste; int m, nMix;         WtAcc *wa = ((WtAcc*) hss.ste->hook)+index;         switch(hset->hsKind){         case PLAINHS: case SHAREDHS:            nMix = (ste->nMix>0?ste->nMix:-ste->nMix);            wa->occ*=wt; /*take the value wa->occ to the desired value.*/            for(m=1;m<=nMix;m++){               wa->c[m] *= wt; /*scale the WtAcc->c[]*/            }            break;         case TIEDHS:            nMix = hset->tmRecs[hss.s].nMix;            for(m=1;m<=nMix;m++){               wa->c[m] *= wt; /*scale the WtAcc->c[]*/            }            break;         default: HError(1, "ScaleAccs- unknown hsKind.");         }      }   }   EndHMMScan(&hss);   /* Do transitions. */   NewHMMScan(hset,&hss);   do{      HLink hmm = hss.hmm;       int i,j,N; /*This code taken from UpdateTransP*/      TrAcc *ta;          if (!IsSeenV(hmm->transP)){         TouchV(hmm->transP);         ta = ((TrAcc*)GetHook(hmm->transP))+index;         if (ta==NULL) HError(1, "HTrain.c: ScaleAccs: null TransP.");         N = hmm->numStates;         for (i=1;i<N;i++) {            ta->occ[i]*=wt;            for (j=2;j<=N;j++) {               ta->tran[i][j]*=wt;            }         }      }   } while(GoNextHMM(&hss));   EndHMMScan(&hss);   return ans;}/* ------------------------ End of HTrain.c ----------------------- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本乱大交xxxxx| 日韩你懂的在线播放| 精品中文字幕一区二区| 1区2区3区精品视频| 精品国产一区二区三区四区四| 一本一道久久a久久精品| 国产一区二区剧情av在线| 午夜欧美在线一二页| 国产欧美精品一区二区三区四区| 欧美日韩免费观看一区三区| 岛国精品在线播放| 久久 天天综合| 日韩中文字幕不卡| 亚洲美女精品一区| 国产精品欧美极品| 2020国产精品久久精品美国| 在线播放91灌醉迷j高跟美女| 91丨九色丨黑人外教| 国产成人免费在线视频| 蜜桃av一区二区三区电影| 午夜精品福利在线| 亚洲国产aⅴ成人精品无吗| 国产精品美女久久久久高潮| 久久一二三国产| 日韩欧美亚洲国产另类| 91麻豆精品国产无毒不卡在线观看| 在线视频中文字幕一区二区| 99久久婷婷国产综合精品电影| 国产suv一区二区三区88区| 久久电影网站中文字幕| 美女国产一区二区三区| 麻豆91精品91久久久的内涵| 日本欧美一区二区在线观看| 日韩av中文字幕一区二区| 亚洲一区二区三区四区在线免费观看 | 欧美高清视频不卡网| 欧洲一区二区三区在线| 色老汉av一区二区三区| 97精品超碰一区二区三区| 91浏览器打开| 色屁屁一区二区| 色拍拍在线精品视频8848| 色诱亚洲精品久久久久久| 在线观看成人免费视频| 欧美亚洲日本国产| 69堂精品视频| 精品国产一区二区三区久久久蜜月 | 在线中文字幕一区二区| 欧美又粗又大又爽| 欧美情侣在线播放| 在线播放国产精品二区一二区四区 | 国产91高潮流白浆在线麻豆 | 日本一区二区三区久久久久久久久不| xvideos.蜜桃一区二区| 国产婷婷一区二区| 国产精品欧美一区二区三区| 亚洲免费观看在线视频| 亚洲超碰精品一区二区| 免费av网站大全久久| 国产美女精品人人做人人爽| 国产不卡免费视频| 91久久奴性调教| 欧美欧美欧美欧美首页| 欧美精品一区二区三区视频| 国产欧美日韩在线观看| 亚洲午夜免费电影| 久久国产精品99久久人人澡| 成人性生交大片免费看中文| 色噜噜狠狠色综合中国| 欧美一区二区三区视频| 国产视频911| 一区二区三区日韩欧美| 欧美a一区二区| 粉嫩av一区二区三区| 在线免费观看日本一区| 日韩欧美123| 中文字幕日本乱码精品影院| 亚洲成av人片| 福利一区二区在线| 欧美日韩中字一区| 国产亚洲一二三区| 亚洲专区一二三| 国产一区二区三区免费观看| 色av成人天堂桃色av| 久久亚洲私人国产精品va媚药| 综合久久一区二区三区| 日本麻豆一区二区三区视频| 99久久久久久| 精品美女在线观看| 亚洲精品视频在线看| 久久激情五月婷婷| 在线亚洲一区观看| 久久久精品免费免费| 亚洲一级不卡视频| 国产经典欧美精品| 91精品国产一区二区三区| 亚洲天堂成人网| 国产精品亚洲第一| 欧美一区二区日韩| 亚洲精选视频免费看| 国产福利一区在线观看| 欧美日韩一区二区三区在线| 国产精品进线69影院| 国产真实乱对白精彩久久| 欧美日韩午夜影院| 亚洲欧美日韩在线不卡| 国产91丝袜在线观看| 精品国产乱码久久久久久蜜臀| 亚洲一区二区欧美| 91原创在线视频| 欧美国产日产图区| 久久成人久久鬼色| 欧美巨大另类极品videosbest| 亚洲免费观看在线视频| 成人污视频在线观看| 精品免费国产一区二区三区四区| 亚洲6080在线| 精品视频资源站| 又紧又大又爽精品一区二区| 波多野结衣中文字幕一区二区三区| 精品999久久久| 伦理电影国产精品| 日韩三级电影网址| 日韩av电影天堂| 在线日韩一区二区| 一级特黄大欧美久久久| 91黄视频在线| 亚洲免费毛片网站| 欧美综合亚洲图片综合区| 一区二区三区免费在线观看| 91丝袜美女网| 一区二区视频在线看| 色视频一区二区| 亚洲一区二区三区四区在线免费观看 | 91久久国产综合久久| 亚洲欧洲综合另类在线| 91在线无精精品入口| 日韩一区欧美一区| 色噜噜夜夜夜综合网| 亚洲一区二区三区四区在线免费观看| 一本一道综合狠狠老| 亚洲午夜一二三区视频| 67194成人在线观看| 日本免费新一区视频| 欧美成人一区二区三区片免费 | 国产欧美一区二区精品性色| 成人自拍视频在线观看| 亚洲欧洲成人精品av97| 一本久久精品一区二区| 亚洲综合色视频| 欧美剧情电影在线观看完整版免费励志电影| 亚洲影院理伦片| 7777精品伊人久久久大香线蕉经典版下载 | 久久精品视频网| caoporn国产一区二区| 亚洲精品国产视频| 555www色欧美视频| 国产精品一二三四| 亚洲人成精品久久久久| 欧美乱妇一区二区三区不卡视频| 秋霞影院一区二区| 国产亚洲制服色| 色综合色狠狠天天综合色| 午夜av一区二区三区| 26uuu精品一区二区| av电影一区二区| 午夜影视日本亚洲欧洲精品| 精品国产一区二区三区av性色| 国产精品亚洲а∨天堂免在线| 亚洲精品日产精品乱码不卡| 欧美猛男男办公室激情| 国产一区久久久| 一区二区三区鲁丝不卡| 欧美精品一区二区蜜臀亚洲| a美女胸又www黄视频久久| 日韩精品电影在线| 国产精品乱人伦中文| 在线不卡a资源高清| 暴力调教一区二区三区| 免费精品视频在线| 成人免费一区二区三区视频| 日韩你懂的在线播放| 色综合一区二区三区| 狠狠色丁香婷婷综合| 亚洲精品日日夜夜| 精品动漫一区二区三区在线观看| 色婷婷综合久久久中文一区二区| 老汉av免费一区二区三区 | 国产一区二区三区黄视频 | 免费不卡在线观看| 亚洲色图都市小说| 久久久亚洲综合| 欧美精品一级二级| 不卡影院免费观看| 玖玖九九国产精品| 亚洲国产三级在线| 国产精品电影院| 国产日韩精品一区二区三区在线| 欧美日韩国产精选| 97精品久久久久中文字幕|