NRE

Форк
0
/
test.cpp 
87 строк · 2.6 Кб
1
#include <cstring>
2
#include <cstdio>
3
#include <vector>
4
#include <string>
5
#include <cstdlib>
6
#include <map>
7
#include <cmath>
8
#include <pthread.h>
9
#include <iostream>
10

11
#include<assert.h>
12
#include<ctime>
13
#include<sys/time.h>
14

15
#include "init.h"
16
#include "test.h"
17

18
void preprocess()
19
{
20

21
	matrixRelation = (float *)calloc(3*dimensionC * relationTotal, sizeof(float));
22
	matrixRelationPr = (float *)calloc(relationTotal, sizeof(float));
23
	positionVecE1 = (float *)calloc(PositionTotalE1 * dimensionWPE, sizeof(float));
24
	positionVecE2 = (float *)calloc(PositionTotalE2 * dimensionWPE, sizeof(float));
25
	
26
	matrixW1 = (float*)calloc(dimensionC * dimension * window, sizeof(float));
27
	matrixW1PositionE1 = (float *)calloc(dimensionC * dimensionWPE * window, sizeof(float));
28
	matrixW1PositionE2 = (float *)calloc(dimensionC * dimensionWPE * window, sizeof(float));
29
	matrixB1 = (float*)calloc(3*dimensionC, sizeof(float));
30

31
	version = "";
32
	
33
	FILE *fout = fopen(("./out/matrixW1+B1.txt"+version).c_str(), "r");
34
	fscanf(fout,"%d%d%d%d", &dimensionC, &dimension, &window, &dimensionWPE);
35
	for (int i = 0; i < dimensionC; i++) {
36
		//cout<<i<<endl;
37
		for (int j = 0; j < dimension * window; j++)
38
			fscanf(fout, "%f", &matrixW1[i* dimension*window+j]);
39
		for (int j = 0; j < dimensionWPE * window; j++)
40
			fscanf(fout, "%f", &matrixW1PositionE1[i* dimensionWPE*window+j]);
41
		for (int j = 0; j < dimensionWPE * window; j++)
42
			fscanf(fout, "%f", &matrixW1PositionE2[i* dimensionWPE*window+j]);
43
		for (int j=0; j<3; j++)
44
		fscanf(fout, "%f", &matrixB1[3*i+j]);
45
	}
46
	fscanf(fout,"%f", &wt);
47
	fclose(fout);
48

49
	fout = fopen(("./out/matrixRl.txt"+version).c_str(), "r");
50
	fscanf(fout,"%d%d", &relationTotal, &dimensionC);
51
	for (int i = 0; i < relationTotal; i++) {
52
		for (int j = 0; j < 3*dimensionC; j++)
53
			fscanf(fout, "%f", &matrixRelation[3*i * dimensionC + j]);
54
	}
55
	for (int i = 0; i < relationTotal; i++) 
56
		fscanf(fout, "%f", &matrixRelationPr[i]);
57
	fclose(fout);
58

59
	fout = fopen(("./out/matrixPosition.txt"+version).c_str(), "r");
60
	fscanf(fout,"%d%d%d", &PositionTotalE1, &PositionTotalE2, &dimensionWPE);
61
	for (int i = 0; i < PositionTotalE1; i++) {
62
		for (int j = 0; j < dimensionWPE; j++)
63
			fscanf(fout, "%f", &positionVecE1[i * dimensionWPE + j]);
64
	}
65
	for (int i = 0; i < PositionTotalE2; i++) {
66
		for (int j = 0; j < dimensionWPE; j++)
67
			fscanf(fout, "%f", &positionVecE2[i * dimensionWPE + j]);
68
	}
69
	fclose(fout);
70

71
	fout = fopen(("./out/word2vec.txt"+version).c_str(), "r");
72
	fscanf(fout,"%d%d",&wordTotal,&dimension);
73
	for (int i = 0; i < wordTotal; i++)
74
	{
75
		for (int j=0; j<dimension; j++)
76
			fscanf(fout,"%f", &wordVec[i*dimension+j]);
77
	}
78
	fclose(fout);
79
}
80

81
int main()
82
{
83
	init();
84
	preprocess();
85
	test();
86
	return 0;
87
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.