• 大小: 93.28MB
    文件类型: .tar
    金币: 1
    下载: 0 次
    发布日期: 2022-09-24
  • 语言: 其他
  • 标签: tensorflow  RNN  PTB  

资源简介

来源于 Tomas Mikolov 网站上的 PTB 数据集http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgz。 该数据集已经预先处理过并且包含了全部的 10000 个不同的词语,其中包括语句结束标记符,以及标记稀有词语的特殊符号 () 。我们在 reader.py 中转换所有的词语,让他们各自有唯一的整型标识符,便于神经网络处理。

资源截图

代码片段和文件信息

#include 
#include 

void main(int argc char **argv)
{
    int a b i cn bestwcn wcn last_nbest nbest;
    float bestscore score acscore lmscore rnnscore;
    float LM_SCALE WI_PENALTY;
    char st[1000];
    char best[1000][1000];
    char curr[1000][1000];
    FILE *f1 *f2;
    
    if (argc<=2) {
printf(“Need 2 arguments - score file & nbest list\n“);
exit(1);
    }
    
    f1=fopen(argv[1] “rb“);
    f2=fopen(argv[2] “rb“);
    
    
    i=0;
    bestwcn=0;
    bestscore=-1000000;
    last_nbest=0;
    while (1) {
fscanf (f1 “%f“ &rnnscore);
fscanf (f2 “%d“ &nbest);

if ((last_nbest!=nbest) || feof(f2)) {
    for (a=0; a     printf(“\n“);

    bestwcn=0;
    bestscore=-1000000;
}
last_nbest=nbest;

if (feof(f1)) break;

fscanf (f2 “%f“ &acscore);
fscanf (f2 “%f“ &lmscore);
fscanf (f2 “%d“ &wcn);

wcn=0;
fscanf (f2 “%s“ st);
fscanf (f2 “%s“ st);

while (1) {
    fscanf (f2 “%s“ curr[wcn]);
    
    if (!strcmp(curr[wcn] ““)) break;
    
    wcn++;
}
fscanf (f2 “%s“ st);

LM_SCALE=14;
WI_PENALTY=0;
score=acscore + rnnscore*LM_SCALE + wcn*WI_PENALTY/(2.718);

//score=acscore + (rnnscore+lmscore)/2*LM_SCALE + wcn*WI_PENALTY/(2.718); //optionally the LM scores from lattices can be used like this

if (score>bestscore) {
    for (a=0; a     bestwcn=wcn;
    bestscore=score;
}
    }
}

评论

共有 条评论