diff --git a/.vs/Nerve/v14/.suo b/.vs/Nerve/v14/.suo index e009cac..ce1d5c5 100644 Binary files a/.vs/Nerve/v14/.suo and b/.vs/Nerve/v14/.suo differ diff --git a/Nerve/Nerve.cpp b/Nerve/Nerve.cpp index 0feb5d4..09d3e08 100644 --- a/Nerve/Nerve.cpp +++ b/Nerve/Nerve.cpp @@ -67,8 +67,10 @@ namespace Nerve } d_H[0].resize(_max); d_H[1].resize(_max); - d_Wjk.resize(_max, vector(_max)); layers.push_back(Layer(m, layers.back())); + for (int i = 0; i < layers.size(); i++) + d_Wjk.push_back(vector>(_max, vector(_max, 0.0))); + d_P.resize(layers.size(), vector(_max, 0.0)); } //为了方便测试,我增加了保存神经网络到文件的操作 @@ -94,7 +96,9 @@ namespace Nerve d_H[0].resize(_max); d_H[1].resize(_max); - d_Wjk.resize(_max, vector(_max)); + for (int i = 0; i < layers.size(); i++) + d_Wjk.push_back(vector>(_max, vector(_max, 0.0))); + d_P.resize(layers.size(), vector(_max, 0.0)); double data; for (int i = 1; i < layers.size(); i++) @@ -182,8 +186,23 @@ namespace Nerve return out; } - void Train() //反向传播!(BP) + void Began_training() + { + if (if_training)Send_error("is training"); + samples = 0; + for (int i = 1; i < layers.size(); i++) + for (int j = 0; j < layers[i].neurons.size(); j++) + for (int k = 0; k < layers[i - 1].neurons.size(); k++) + d_Wjk[i][j][k] = 0.0; + + for (int i = 1; i < layers.size(); i++) + for (int j = 0; j < layers[i].neurons.size(); j++) + d_P[i][j] = 0.0; + if_training = true; + } + void Learn() //反向传播!(BP) { + if (!if_training)Send_error("is no training"); //对于保存δH、δw的数据结构,这里我选择重复利用容器节省时间,所以要分情况讨论 for (int i = 0; i < layers.back().neurons.size(); i++)//先求出输出层的δH @@ -195,28 +214,38 @@ namespace Nerve //清空d_H fill(d_H[bjH ^ 1].begin(), d_H[bjH ^ 1].end(), 0.0); #pragma omp parallel for//一步加速 - for (int k = 0; k < layers[L - 1].neurons.size(); k++)//循环L-1每一个神经元 + for (int j = 0; j < layers[L].neurons.size(); j++)//循环L每一个神经元 { - for (int j = 0; j < layers[L].neurons.size(); j++)//循环L每一个神经元 + for (int k = 0; k < layers[L - 1].neurons.size(); k++)//循环L-1每一个神经元 { - d_Wjk[j][k] = Figue_d_w(L, j, k); + d_Wjk[L][j][k] += Figue_d_w(L, j, k);//累加当前样本的δ权值 d_H[bjH ^ 1][k] += Figue_d_H(L, j, k); } - + d_P[L][j] += d_H[bjH][j];//累加当前样本的δ偏置 } + + bjH ^= 1; + } + samples++;//处理样本数+1 + } + + void End_training() + { + if (!if_training)Send_error("is no training"); + if_training = false; + for (int L = layers.size() - 1; L > 0; L--)//循环层,L层即当前处理层 + { for (int j = 0; j < layers[L].neurons.size(); j++)//循环L每一个神经元 { for (int k = 0; k < layers[L - 1].neurons.size(); k++)//循环L-1每一个神经元 { //更新L层的W - layers[L].neurons[j].w[k] -= learning_rate * d_Wjk[j][k]; + layers[L].neurons[j].w[k] -= learning_rate * d_Wjk[L][j][k] / (double)samples; } //更新L层的P(由公式可推知δPj=δHj,所以就可以很好偷懒) - layers[L].neurons[j].p -= learning_rate * d_H[bjH][j]; + layers[L].neurons[j].p -= learning_rate * d_P[L][j] / (double)samples; } - - bjH ^= 1; } } //========================================================Math========================================================= @@ -262,64 +291,62 @@ namespace Nerve return d_H[bjH][j] * layers[L].neurons[j].w[k] * (1 - layers[L - 1].neurons[k].out)*layers[L - 1].neurons[k].out; } + void Send_error(char *info) + { + MessageBox(NULL, info, "class Nerve_net", MB_OK); + } private: vector layers; vector desired_ouput; - double learning_rate = 0.2; + double learning_rate = 0.5; + int samples;//一次训练的样本数 + bool if_training;//是否正在训练中 vector d_H[2]; //Train过程中处理层和将处理层的偏导δH short bjH = 0;//标记当前d_H使用的是哪一个 - vector> d_Wjk; //learn过程处理层的所有权值偏导 + vector>> d_Wjk; //learn过程所有权值偏导 + vector> d_P; //learn过程所有偏置偏导 }; } using namespace Nerve; -//int main() +//int main()//a simple example //{ -// //Nerve_net net(4, 3, vector{3,4}); -// Nerve_net net("a.nerve");//从文件读入 -// -// int o = 30000; -// default_random_engine e(GetTickCount());/*初始化随机引擎*/ -// uniform_int_distribution u(0,2); +// Nerve_net net(4, 3, vector{3,4}); +// //Nerve_net net("a.nerve");//从文件读入 +// int o = 60000; // while (o--) // { -// if (u(e) == 0) -// { -// net.Input(vector{1, 1, 0, 0}); -// net.Set_Desired_output(vector{1, 0, 0}); -// net.Figue(); -// net.Train(); -// } -// else if (u(e) == 1) -// { -// net.Input(vector{0, 1, 1, 0}); -// net.Set_Desired_output(vector{0, 1, 0}); -// net.Figue(); -// net.Train(); -// } -// else -// { -// net.Input(vector{0, 0, 1, 1}); -// net.Set_Desired_output(vector{0, 0, 1}); -// net.Figue(); -// net.Train(); -// } +// net.Began_training(); //① +// +// net.Input(vector{1, 1, 0, 0}); //② +// net.Set_Desired_output(vector{1, 0, 0}); //③ +// net.Figue(); //④ +// net.Learn(); //⑤ +// +// net.Input(vector{0, 1, 1, 0}); +// net.Set_Desired_output(vector{0, 1, 0}); +// net.Figue(); +// net.Learn(); // -// net.Input(vector{1, 1, 1, 1}); -// net.Set_Desired_output(vector{1, 1, 1}); +// net.Input(vector{0, 0, 1, 1}); +// net.Set_Desired_output(vector{0, 0, 1}); // net.Figue(); -// net.Train(); +// net.Learn(); +// +// net.End_training(); //⑥ // // } // //教会它识别01 -// net.Input(vector{1,0.5,0,0.0}); +// net.Input(vector{1, 1, 0, 0.0}); // net.Figue(); // vector oo = net.Output(); // for (int i = 0; i < oo.size(); i++) // std::cout << oo[i] << " "; +// // std::cout << endl; -// net.Input(vector{0,0.60,1.0,0.00}); +// +// net.Input(vector{0.0,0.00,1.0,0.41}); // net.Figue(); // vector ooo = net.Output(); // for (int i = 0; i < ooo.size(); i++) diff --git a/Nerve/Nerve.vcxproj b/Nerve/Nerve.vcxproj index 23d9084..637ea36 100644 --- a/Nerve/Nerve.vcxproj +++ b/Nerve/Nerve.vcxproj @@ -42,14 +42,14 @@ Application true v140 - Unicode + MultiByte Application false v140 true - Unicode + MultiByte diff --git a/Nerve/Nerve.vcxproj.user b/Nerve/Nerve.vcxproj.user new file mode 100644 index 0000000..abe8dd8 --- /dev/null +++ b/Nerve/Nerve.vcxproj.user @@ -0,0 +1,4 @@ +锘 + + + \ No newline at end of file diff --git a/Nerve/a.nerve b/Nerve/a.nerve index b988c58..de64bba 100644 Binary files a/Nerve/a.nerve and b/Nerve/a.nerve differ diff --git a/Nerve/x64/Debug/Nerve.log b/Nerve/x64/Debug/Nerve.log index 36a8126..b840218 100644 --- a/Nerve/x64/Debug/Nerve.log +++ b/Nerve/x64/Debug/Nerve.log @@ -1,11 +1,12 @@ 锘 Nerve.cpp e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(39): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(109): warning C4244: 鈥滃垵濮嬪寲鈥: 浠庘渟td::streamsize鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(120): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(125): warning C4267: 鈥=鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(146): warning C4305: 鈥渞eturn鈥: 浠庘渋nt鈥濆埌鈥渂ool鈥濇埅鏂 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(193): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(232): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(163): warning C4715: 鈥淣erve::Nerve_net::Set_Desired_output鈥: 涓嶆槸鎵鏈夌殑鎺т欢璺緞閮借繑鍥炲 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(113): warning C4244: 鈥滃垵濮嬪寲鈥: 浠庘渟td::streamsize鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(124): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(129): warning C4267: 鈥=鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(150): warning C4305: 鈥渞eturn鈥: 浠庘渋nt鈥濆埌鈥渂ool鈥濇埅鏂 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(212): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(237): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(261): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(167): warning C4715: 鈥淣erve::Nerve_net::Set_Desired_output鈥: 涓嶆槸鎵鏈夌殑鎺т欢璺緞閮借繑鍥炲 Nerve.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Debug\Nerve.exe Nerve.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Debug\Nerve.pdb (Full PDB) diff --git a/Nerve/x64/Debug/Nerve.tlog/CL.command.1.tlog b/Nerve/x64/Debug/Nerve.tlog/CL.command.1.tlog index f2305c9..8855436 100644 Binary files a/Nerve/x64/Debug/Nerve.tlog/CL.command.1.tlog and b/Nerve/x64/Debug/Nerve.tlog/CL.command.1.tlog differ diff --git a/Nerve/x64/Debug/Nerve.tlog/link.read.1.tlog b/Nerve/x64/Debug/Nerve.tlog/link.read.1.tlog index f1473d1..60a325c 100644 Binary files a/Nerve/x64/Debug/Nerve.tlog/link.read.1.tlog and b/Nerve/x64/Debug/Nerve.tlog/link.read.1.tlog differ diff --git a/Nerve/x64/Debug/vc140.idb b/Nerve/x64/Debug/vc140.idb index 0d4331c..ff8c90f 100644 Binary files a/Nerve/x64/Debug/vc140.idb and b/Nerve/x64/Debug/vc140.idb differ diff --git a/Nerve/x64/Debug/vc140.pdb b/Nerve/x64/Debug/vc140.pdb index 4d2ca51..2dc1c20 100644 Binary files a/Nerve/x64/Debug/vc140.pdb and b/Nerve/x64/Debug/vc140.pdb differ diff --git a/Nerve/x64/Release/Nerve.log b/Nerve/x64/Release/Nerve.log index 1913fd8..4bcba0c 100644 --- a/Nerve/x64/Release/Nerve.log +++ b/Nerve/x64/Release/Nerve.log @@ -1,15 +1,16 @@ 锘 Nerve.cpp Nerve.cpp(39): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -Nerve.cpp(109): warning C4244: 鈥滃垵濮嬪寲鈥: 浠庘渟td::streamsize鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -Nerve.cpp(120): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -Nerve.cpp(125): warning C4267: 鈥=鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -Nerve.cpp(146): warning C4305: 鈥渞eturn鈥: 浠庘渋nt鈥濆埌鈥渂ool鈥濇埅鏂 -Nerve.cpp(193): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 -Nerve.cpp(232): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +Nerve.cpp(113): warning C4244: 鈥滃垵濮嬪寲鈥: 浠庘渟td::streamsize鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +Nerve.cpp(124): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +Nerve.cpp(129): warning C4267: 鈥=鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +Nerve.cpp(150): warning C4305: 鈥渞eturn鈥: 浠庘渋nt鈥濆埌鈥渂ool鈥濇埅鏂 +Nerve.cpp(212): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +Nerve.cpp(237): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +Nerve.cpp(261): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 姝e湪鐢熸垚浠g爜 - 4 of 535 functions ( 0.7%) were compiled, the rest were copied from previous compilation. + 6 of 613 functions ( 1.0%) were compiled, the rest were copied from previous compilation. 0 functions were new in current compilation - 12 functions had inline decision re-evaluated but remain unchanged + 1 functions had inline decision re-evaluated but remain unchanged 宸插畬鎴愪唬鐮佺殑鐢熸垚 Nerve.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Release\Nerve.exe Nerve.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Release\Nerve.pdb (Full PDB) diff --git a/Nerve/x64/Release/Nerve.tlog/CL.command.1.tlog b/Nerve/x64/Release/Nerve.tlog/CL.command.1.tlog index 1e28d19..46353b9 100644 Binary files a/Nerve/x64/Release/Nerve.tlog/CL.command.1.tlog and b/Nerve/x64/Release/Nerve.tlog/CL.command.1.tlog differ diff --git a/Nerve/x64/Release/vc140.pdb b/Nerve/x64/Release/vc140.pdb index 907bbb0..e19413b 100644 Binary files a/Nerve/x64/Release/vc140.pdb and b/Nerve/x64/Release/vc140.pdb differ diff --git a/Train/Train.cpp b/Train/Train.cpp index 321e3c4..66d2877 100644 --- a/Train/Train.cpp +++ b/Train/Train.cpp @@ -8,17 +8,17 @@ using namespace std; 单体数据结构 */ #define N 28 -struct Train +class Train { - int train_times; //训练次数 + int train_times = 0; //训练次数 - int exam_times; //测试次数 + int exam_times = 0; //测试次数 - int exam_A; //正确样本数 - int exam_W; //错误样本数 + int exam_A = 0; //正确样本数 + int exam_W = 0; //错误样本数 Nerve_net &nerve; //训练神经网络 - char Nerve_ID[16]; //神经网络ID + struct Data { char point[N * N]; @@ -31,61 +31,88 @@ struct Train } void train(char *file) { - ifstream in(file,ios::binary); + ifstream in(file, ios::binary); Data data; - vector vec(N*N,0.0); - vector outp(10,0.0); - while(1) + vector vec(N*N, 0.0); + vector outp(10, 0.0); + bool ok = false; + while (!ok) { - in.read((char*)&data,sizeof(data)); - if(in.gcount()!=0) + nerve.Began_training(); + for (int k = 1; k <= 6000; k++) { - for(int i=0;i vec(N*N,0.0); - vector ans(10,0.0); + vector vec(N*N, 0.0); + vector ans(10, 0.0); while(1) { in.read((char*)&data,sizeof(data)); if(in.gcount()!=0) { for(int i=0;i{16,16}); + Train train(nerve); + train.train("export.train"); + train.exam("export.exam"); + train.output_statistic(cout); + + ofstream out("statistic.txt"); + train.output_statistic(cout); + train.output_statistic(out); + out.close(); return 0; } diff --git a/Train/Train.vcxproj b/Train/Train.vcxproj index 1570d01..048c1e8 100644 --- a/Train/Train.vcxproj +++ b/Train/Train.vcxproj @@ -42,14 +42,14 @@ Application true v140 - Unicode + MultiByte Application false v140 true - Unicode + MultiByte @@ -100,9 +100,10 @@ Level3 - Disabled + MaxSpeed _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true + Default Console diff --git a/Train/statistic.txt b/Train/statistic.txt new file mode 100644 index 0000000..22907ef --- /dev/null +++ b/Train/statistic.txt @@ -0,0 +1,7 @@ +********************************************************** +训练次数:60000 +测试次数:10000 +正确样本数:980 +错误样本数:9020 +正确率:9.8% +********************************************************** diff --git a/Train/x64/Debug/Train.log b/Train/x64/Debug/Train.log new file mode 100644 index 0000000..d220b9c --- /dev/null +++ b/Train/x64/Debug/Train.log @@ -0,0 +1,12 @@ +锘 Train.cpp +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(39): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(113): warning C4244: 鈥滃垵濮嬪寲鈥: 浠庘渟td::streamsize鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(124): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(129): warning C4267: 鈥=鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(150): warning C4305: 鈥渞eturn鈥: 浠庘渋nt鈥濆埌鈥渂ool鈥濇埅鏂 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(212): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(237): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(261): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\nerve\nerve.cpp(167): warning C4715: 鈥淣erve::Nerve_net::Set_Desired_output鈥: 涓嶆槸鎵鏈夌殑鎺т欢璺緞閮借繑鍥炲 + Train.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Debug\Train.exe + Train.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Debug\Train.pdb (Full PDB) diff --git a/Train/x64/Debug/Train.tlog/CL.command.1.tlog b/Train/x64/Debug/Train.tlog/CL.command.1.tlog new file mode 100644 index 0000000..83ff08e Binary files /dev/null and b/Train/x64/Debug/Train.tlog/CL.command.1.tlog differ diff --git a/Train/x64/Debug/Train.tlog/CL.read.1.tlog b/Train/x64/Debug/Train.tlog/CL.read.1.tlog new file mode 100644 index 0000000..9c46c68 Binary files /dev/null and b/Train/x64/Debug/Train.tlog/CL.read.1.tlog differ diff --git a/Train/x64/Debug/Train.tlog/CL.write.1.tlog b/Train/x64/Debug/Train.tlog/CL.write.1.tlog new file mode 100644 index 0000000..f2362f0 Binary files /dev/null and b/Train/x64/Debug/Train.tlog/CL.write.1.tlog differ diff --git a/Train/x64/Debug/Train.tlog/Train.lastbuildstate b/Train/x64/Debug/Train.tlog/Train.lastbuildstate new file mode 100644 index 0000000..ec97b6f --- /dev/null +++ b/Train/x64/Debug/Train.tlog/Train.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1 +Debug|x64|E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\| diff --git a/Train/x64/Debug/Train.tlog/link.command.1.tlog b/Train/x64/Debug/Train.tlog/link.command.1.tlog new file mode 100644 index 0000000..d645304 Binary files /dev/null and b/Train/x64/Debug/Train.tlog/link.command.1.tlog differ diff --git a/Train/x64/Debug/Train.tlog/link.read.1.tlog b/Train/x64/Debug/Train.tlog/link.read.1.tlog new file mode 100644 index 0000000..acc4833 Binary files /dev/null and b/Train/x64/Debug/Train.tlog/link.read.1.tlog differ diff --git a/Train/x64/Debug/Train.tlog/link.write.1.tlog b/Train/x64/Debug/Train.tlog/link.write.1.tlog new file mode 100644 index 0000000..75bc0b7 Binary files /dev/null and b/Train/x64/Debug/Train.tlog/link.write.1.tlog differ diff --git a/Train/x64/Debug/vc140.idb b/Train/x64/Debug/vc140.idb new file mode 100644 index 0000000..b441166 Binary files /dev/null and b/Train/x64/Debug/vc140.idb differ diff --git a/Train/x64/Debug/vc140.pdb b/Train/x64/Debug/vc140.pdb new file mode 100644 index 0000000..409747a Binary files /dev/null and b/Train/x64/Debug/vc140.pdb differ diff --git a/Train/x64/Release/Train.log b/Train/x64/Release/Train.log new file mode 100644 index 0000000..ba93fe9 --- /dev/null +++ b/Train/x64/Release/Train.log @@ -0,0 +1,16 @@ +锘 Train.cpp +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(39): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(113): warning C4244: 鈥滃垵濮嬪寲鈥: 浠庘渟td::streamsize鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(124): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(129): warning C4267: 鈥=鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(150): warning C4305: 鈥渞eturn鈥: 浠庘渋nt鈥濆埌鈥渂ool鈥濇埅鏂 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(212): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(237): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 +e:\鎴戠殑 涓滀笢\easyx瀛︿範\娣卞害瀛︿範\nerve_net\train\..//Nerve//Nerve.cpp(261): warning C4267: 鈥滃垵濮嬪寲鈥: 浠庘渟ize_t鈥濊浆鎹㈠埌鈥渋nt鈥濓紝鍙兘涓㈠け鏁版嵁 + 姝e湪鐢熸垚浠g爜 + 3 of 665 functions ( 0.5%) were compiled, the rest were copied from previous compilation. + 0 functions were new in current compilation + 1 functions had inline decision re-evaluated but remain unchanged + 宸插畬鎴愪唬鐮佺殑鐢熸垚 + Train.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Release\Train.exe + Train.vcxproj -> E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\x64\Release\Train.pdb (Full PDB) diff --git a/Train/x64/Release/Train.tlog/CL.command.1.tlog b/Train/x64/Release/Train.tlog/CL.command.1.tlog new file mode 100644 index 0000000..34fbe5f Binary files /dev/null and b/Train/x64/Release/Train.tlog/CL.command.1.tlog differ diff --git a/Train/x64/Release/Train.tlog/CL.read.1.tlog b/Train/x64/Release/Train.tlog/CL.read.1.tlog new file mode 100644 index 0000000..9c46c68 Binary files /dev/null and b/Train/x64/Release/Train.tlog/CL.read.1.tlog differ diff --git a/Train/x64/Release/Train.tlog/CL.write.1.tlog b/Train/x64/Release/Train.tlog/CL.write.1.tlog new file mode 100644 index 0000000..086e4a8 Binary files /dev/null and b/Train/x64/Release/Train.tlog/CL.write.1.tlog differ diff --git a/Train/x64/Release/Train.tlog/Train.lastbuildstate b/Train/x64/Release/Train.tlog/Train.lastbuildstate new file mode 100644 index 0000000..0d8d638 --- /dev/null +++ b/Train/x64/Release/Train.tlog/Train.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1 +Release|x64|E:\鎴戠殑 涓滀笢\EasyX瀛︿範\娣卞害瀛︿範\Nerve_Net\| diff --git a/Train/x64/Release/Train.tlog/link.command.1.tlog b/Train/x64/Release/Train.tlog/link.command.1.tlog new file mode 100644 index 0000000..97f675a Binary files /dev/null and b/Train/x64/Release/Train.tlog/link.command.1.tlog differ diff --git a/Train/x64/Release/Train.tlog/link.read.1.tlog b/Train/x64/Release/Train.tlog/link.read.1.tlog new file mode 100644 index 0000000..b25236e Binary files /dev/null and b/Train/x64/Release/Train.tlog/link.read.1.tlog differ diff --git a/Train/x64/Release/Train.tlog/link.write.1.tlog b/Train/x64/Release/Train.tlog/link.write.1.tlog new file mode 100644 index 0000000..d31a9eb Binary files /dev/null and b/Train/x64/Release/Train.tlog/link.write.1.tlog differ diff --git a/Train/x64/Release/vc140.pdb b/Train/x64/Release/vc140.pdb new file mode 100644 index 0000000..35b6970 Binary files /dev/null and b/Train/x64/Release/vc140.pdb differ diff --git a/log.txt b/log.txt index 7f8514c..170480f 100644 --- a/log.txt +++ b/log.txt @@ -1,2 +1,6 @@ log 2018-11-25 -卧槽,我前一天调了一个晚上的值无效问题居然是数组没清0??? \ No newline at end of file +卧槽,我前一天调了一个晚上的值无效问题居然是数组没清0??? + +log 2018-12-15 +当我完成工程,结果出来一瞬间我是崩溃的,9%的正确率EXM? +好吧,我重新看了一遍视频,饿,原来人家的detaW是统计所有样本的期望,然后取平均值再一次性改的,醉了233 \ No newline at end of file diff --git a/x64/Debug/Nerve.ilk b/x64/Debug/Nerve.ilk index b050fdc..8e0510e 100644 Binary files a/x64/Debug/Nerve.ilk and b/x64/Debug/Nerve.ilk differ diff --git a/x64/Debug/Nerve.pdb b/x64/Debug/Nerve.pdb index a2e88c5..49d702b 100644 Binary files a/x64/Debug/Nerve.pdb and b/x64/Debug/Nerve.pdb differ diff --git a/x64/Debug/Train.ilk b/x64/Debug/Train.ilk new file mode 100644 index 0000000..81b99c0 Binary files /dev/null and b/x64/Debug/Train.ilk differ diff --git a/x64/Debug/Train.pdb b/x64/Debug/Train.pdb new file mode 100644 index 0000000..6095c00 Binary files /dev/null and b/x64/Debug/Train.pdb differ diff --git a/x64/Release/Nerve.iobj b/x64/Release/Nerve.iobj index bae1ed9..90e1d4f 100644 Binary files a/x64/Release/Nerve.iobj and b/x64/Release/Nerve.iobj differ diff --git a/x64/Release/Nerve.ipdb b/x64/Release/Nerve.ipdb index f7c1ea9..c1bc0a3 100644 Binary files a/x64/Release/Nerve.ipdb and b/x64/Release/Nerve.ipdb differ diff --git a/x64/Release/Nerve.pdb b/x64/Release/Nerve.pdb index f42eadf..69d2ae2 100644 Binary files a/x64/Release/Nerve.pdb and b/x64/Release/Nerve.pdb differ diff --git a/x64/Release/Train.iobj b/x64/Release/Train.iobj new file mode 100644 index 0000000..19319f0 Binary files /dev/null and b/x64/Release/Train.iobj differ diff --git a/x64/Release/Train.ipdb b/x64/Release/Train.ipdb new file mode 100644 index 0000000..0a91c43 Binary files /dev/null and b/x64/Release/Train.ipdb differ diff --git a/x64/Release/Train.pdb b/x64/Release/Train.pdb new file mode 100644 index 0000000..1981b0b Binary files /dev/null and b/x64/Release/Train.pdb differ