Commit ca1e3418 by songxinkai

20190110, modify go_data_write_example 2

parent 89b3b291
......@@ -14,13 +14,13 @@ using namespace std;
void read(const string file, vector<vector<float> >& feas,
vector<vector<float> >& pis, vector<float>& vs){
int steps_in = 0;
float winner_in = 0.0;
int winner_in = 0;
char feas_in[1000 * 17*19*19];
float pis_in[1000 * 362];
std::ifstream input(file, ios::in | ios::binary);
input.read((char*)&steps_in, sizeof(int));
// CHECK_LE(steps_in, 1000);
input.read((char*)&winner_in, sizeof(float));
input.read((char*)&winner_in, sizeof(int));
input.read((char*)feas_in, sizeof(char) * 19*19*17 * steps_in);
input.read((char*)pis_in, sizeof(float) * (19*19+1) * steps_in);
input.close();
......@@ -36,7 +36,7 @@ void read(const string file, vector<vector<float> >& feas,
for (int j = 0; j < 1+19*19; ++j){
pis[step][j] = pis_in[step*(1+19*19)+j];
}
if ((step%2==0)^(winner_in==1.0)){ // self lose
if ((step%2==0)^(winner_in==1)){ // self lose
vs[step] = -1.0;
}else{
vs[step] = 1.0;
......@@ -84,28 +84,28 @@ int main (){
for (int i = 0; i < 1000; ++i){
ss.str("");
ss << "go/" << i << ".bin";
write(ss.str());
// vector<vector<float> > feas;
// vector<vector<float> > pis;
// vector<float> vs;
// read(ss.str(), feas, pis, vs);
// cout << feas.size() << ", " << pis.size() << ", " << vs.size() << ", " << endl;
// for (int i = 0; i < feas.size(); ++i){
// cout << "========" << i << "======" << endl;
// for (int j = 0; j < 19*19; ++j){
// cout << j << ": ";
// for (int c = 0; c < 17; ++c){
// cout << feas[i][j*17+c] << ", ";
// }
// cout << endl;
// }
// for (int j = 0; j < pis[i].size(); ++j){
// if (pis[i][j] != 0){
// cout << "(" << j << "-" << pis[i][j] << "), ";
// }
// }
// cout << endl << vs[i] << endl;
// }
// write(ss.str());
vector<vector<float> > feas;
vector<vector<float> > pis;
vector<float> vs;
read(ss.str(), feas, pis, vs);
cout << feas.size() << ", " << pis.size() << ", " << vs.size() << ", " << endl;
for (int i = 0; i < feas.size(); ++i){
cout << "========" << i << "======" << endl;
for (int j = 0; j < 19*19; ++j){
cout << j << ": ";
for (int c = 0; c < 17; ++c){
cout << feas[i][j*17+c] << ", ";
}
cout << endl;
}
for (int j = 0; j < pis[i].size(); ++j){
if (pis[i][j] != 0){
cout << "(" << j << "-" << pis[i][j] << "), ";
}
}
cout << endl << vs[i] << endl;
}
}
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment