/// <summary> /// Save Current AIML Data to File work on this Script /// </summary> /// <param name="s_Link"></param> public void File_Save(string s_Link) { Class_FileIO myFile = new Class_FileIO(); myFile.FileSet_Write_Add("LayerCount:"); myFile.FileSet_Write_Add(this.i_LayerCount); myFile.FileSet_Write_Add("NeuralCount:"); for (int lay = 0; lay < i_LayerCount; lay++) { myFile.FileSet_Write_Add(this.li_NeuralCount[lay]); //Lưu Number of Neural of Layer } myFile.FileSet_Write_Add("Bias:"); for (int lay = 0; lay < i_LayerCount - 1; lay++) { myFile.FileSet_Write_Add(this.li_Bias[lay]); //Lưu Bias of Layer } myFile.FileSet_Write_Add("Weight:"); for (int lay = 0; lay < i_LayerCount - 1; lay++) { //Xét fromng Layer (L-1) for (int neuY = 0; neuY < li_NeuralCount[lay + 1]; neuY++) { //Xét fromng Neural Y of Layer (L) for (int neuX = 0; neuX < li_NeuralCount[lay]; neuX++) { //Xét fromng Neural X of Layer (L-1) myFile.FileSet_Write_Add(this.li3_Weight[lay][neuY][neuX]); //Lưu Weight of Layer } } } //for (int neu = 0; neu < li_NeuralCount[0]; neu++) //{ // myFile.FileSet_Write_Add(BrainGet_Input()[neu]); // //Lưu Input //} //for (int neu = 0; neu < li_NeuralCount[i_LayerCount - 1]; neu++) //{ // myFile.FileSet_Write_Add(BrainGet_Desired()[neu]); // //Lưu Desired //} //myFile.FileSet_Write_Add(BrainGet_ErrorTotal()); ////Lưu Error Total //myFile.FileSet_Write_Add(BrainGet_LoopLearned()); ////Lưu Loop Learning myFile.FileSet_Write_Add("Comment:"); myFile.FileSet_Write_Add(li_Comment_dou.Count); //myFile.FileWrite(li_Comment_str.Count); //two List of này có cùng Number of phần tử for (int i = 0; i < li_Comment_dou.Count; i++) { myFile.FileSet_Write_Add(li_Comment_str[i]); myFile.FileSet_Write_Add(li_Comment_dou[i]); //Lưu Imformation } //Kích hoạt lưu File myFile.FileActive_Write_Start(s_Link); }
/// <summary> /// Read AIML Data from File work on this Script /// </summary> /// <param name="s_Link"></param> public void File_Open(string s_Link) { Class_FileIO myFile = new Class_FileIO(); //Kích hoạt đọc File myFile.FileActive_Read_Start(s_Link); string t; t = myFile.FileGet_Read_Auto_String(); int LayerCount = myFile.FileGet_Read_Auto_Int(); Set_LayerCount(LayerCount); t = myFile.FileGet_Read_Auto_String(); for (int lay = 0; lay < LayerCount; lay++) { Set_NeuralCount(lay, myFile.FileGet_Read_Auto_Int()); //Ghi Number of Neural of Layer } //Debug.Log("Create"); Set_NeuralNetworkCreate(false); //Debug.Log("Weight"); t = myFile.FileGet_Read_Auto_String(); for (int lay = 0; lay < i_LayerCount - 1; lay++) { Set_Bias(lay, myFile.FileGet_Read_Auto_Float()); //Ghi Bias of Layer } t = myFile.FileGet_Read_Auto_String(); for (int lay = 0; lay < i_LayerCount - 1; lay++) { //Xét fromng Layer (L-1) for (int neuY = 0; neuY < li_NeuralCount[lay + 1]; neuY++) { //Xét fromng Neural Y of Layer (L) for (int neuX = 0; neuX < li_NeuralCount[lay]; neuX++) { //Xét fromng Neural X of Layer (L-1) //Debug.Log(lay + " " + neuY + " " + neuX + " : " + this.li3_Weight[lay][neuY][neuX]); //this.li3_Weight[lay][neuY][neuX] = myFile.FileGet_Read_Auto_Float(); Set_Weight(lay, neuY, neuX, myFile.FileGet_Read_Auto_Float()); //Ghi Weight of Layer } } } //for (int neu = 0; neu < li_NeuralCount[0]; neu++) //{ // BrainSet_Input(neu, myFile.FileGet_Read_Auto_Float()); // //Ghi Input //} //for (int neu = 0; neu < li_NeuralCount[i_LayerCount - 1]; neu++) //{ // BrainSet_Desired(neu, myFile.FileGet_Read_Auto_Float()); // //Ghi Desired //} //this.f_ErrorTotal = myFile.FileGet_Read_Auto_Float(); ////Ghi Error Total //this.i_LoopLearning = myFile.FileGet_Read_Auto_Int(); ////Ghi Loop Learning t = myFile.FileGet_Read_Auto_String(); int CommentCount = myFile.FileGet_Read_Auto_Int(); //myFile.FileReader(li_Comment_str.Count); //two List of này có cùng Number of phần tử for (int i = 0; i < CommentCount; i++) { li_Comment_str.Add(myFile.FileGet_Read_Auto_String()); li_Comment_dou.Add(myFile.FileGet_Read_Auto_Float()); //Ghi Imformation } }
//Get Error Total sau khi chạy FeedForward và trước khi chạy BackPropagation //public float BrainGet_ErrorTotal() //{ // return f_ErrorTotal; //} //Get số lần đã chạy BackPropagation //public int BrainGet_LoopLearned() //{ // return i_LoopLearning; //} //---------------------------------------------------------------------------- File /// <summary> /// Check AIML File Exist /// </summary> /// <param name="s_Link"></param> /// <returns></returns> public bool File_Check(string s_Link) { Class_FileIO myFile = new Class_FileIO(); return(myFile.Get_FileExist(s_Link)); }