📄 cnetpara.bas
字号:
Attribute VB_Name = "CNetPara"
'节点数
Public Nodes(0 To 2) As Double
'传递函数
Public TransFunc(0 To 1) As String
'网络训练参数
Public TrainPara(0 To 7) As String
'训练样本组数
Public TrainSampleNum As Integer
'仿真数据组数
Public SimuSampleNum As Integer
'文件路径
Public FilePath As String
'模型编号
Public ModelNo As Integer
'加载现有网络模型
Public Function NetModel_Load() As Boolean
NetModel_Load = True
On Error GoTo Handle_Error
For i = 0 To 1
frmNetwork.combFunc(i) = TransFunc(i)
Next
For i = 0 To 2
frmNetwork.txtNode(i) = Nodes(i)
Next
For i = 0 To 7
frmNetwork.txtTrainPara(i) = TrainPara(i)
Next
frmNetwork.txtTrain(0) = InTrainFile
frmNetwork.txtTrain(1) = OutTrainFile
frmNetwork.txtTrain(2) = TrainSampleNum
frmNetwork.txtSimu(0) = InSimuFile
frmNetwork.txtSimu(1) = OutSimuFile
Exit Function
Handle_Error:
NetModel_Load = False
End Function
'显示当前操作状态
Public Function OperStatus_Show(info As String)
'frmNetwork.lblStatus = info
frmNetwork.statusShow.SimpleText = "当前操作:" + info
End Function
'网络模型初始化
Public Function NetModel_Init()
Nodes(0) = 7
Nodes(1) = 28
Nodes(2) = 1
TrainPara(0) = "25" ' 显示间隔次数 25"
TrainPara(1) = "1000" ' 最大循环次数 1000"
TrainPara(2) = "0.001" ' 目标误差 0.02"
TrainPara(3) = "0.001" ' 学习速率 0.001"
TrainPara(4) = "0.001" ' 动量常数 0.001"
TrainPara(5) = "10" ' 学习速率增加比率 10"
TrainPara(6) = "0.1" ' '学习速率减少比率 0.1"
TrainPara(7) = "10000000000" '最大误差比率
TransFunc(0) = "tansig"
TransFunc(1) = "purelin"
End Function
Public Function File_Show(FName As String, FInfo As String)
On Error GoTo Handle_Error
frmNetwork.rtxtShowResult.Text = ""
frmNetwork.rtxtShowResult.FileName = FName
OperStatus_Show ("文件" + FName + "进入编辑状态,修改后请注意保存!")
Exit Function
Handle_Error:
info = "无法打开" + FInfo + FName + ",请确认是否存在!"
MsgBox (info)
End Function
'生成网络模型文件
Public Function NetFile_Create(FileName As String)
Dim fso As New FileSystemObject, fil As File, ts As TextStream
fso.CreateTextFile BpnFileName
Set fil = fso.GetFile(BpnFileName)
Set ts = fil.OpenAsTextStream(ForWriting)
ts.WriteLine ("[NetPara]")
ts.WriteLine ("InputNum")
ts.WriteLine ("MidNum")
ts.WriteLine ("OutputNum")
ts.WriteLine ("")
ts.WriteLine ("[TrainPara]")
ts.WriteLine ("df")
ts.WriteLine ("Me")
ts.WriteLine ("eg")
ts.WriteLine ("lr")
ts.WriteLine ("lrInc")
ts.WriteLine ("lrIdec")
ts.WriteLine ("momConst")
ts.WriteLine ("errRatio")
ts.WriteLine ("inputFunc")
ts.WriteLine ("outputFunc")
ts.WriteLine ("")
ts.WriteLine ("[OtherPara]")
ts.WriteLine ("FileDir")
ts.WriteLine ("TrainSampleNum")
ts.WriteLine ("SimuSampleNum")
ts.Close
End Function
'保存新建的网络模型数据
Public Function NetPara_Save()
If WriteString("NetPara", "InputNum", frmNetwork.txtNode(0)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("NetPara", "MidNum", frmNetwork.txtNode(1)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("NetPara", "OutputNum", frmNetwork.txtNode(2)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("OtherPara", "TrainSampleNum", frmNetwork.txtTrain(2)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("OtherPara", "SimuSampleNum", frmNetwork.txtSimu(1)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "inputFunc", frmNetwork.combFunc(0)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "outputFunc", frmNetwork.combFunc(1)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "df", frmNetwork.txtTrainPara(0)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "me", frmNetwork.txtTrainPara(1)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "eg", frmNetwork.txtTrainPara(2)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "lr", frmNetwork.txtTrainPara(3)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "lrInc", frmNetwork.txtTrainPara(4)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "lrIdec", frmNetwork.txtTrainPara(5)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "momConst", frmNetwork.txtTrainPara(6)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
If WriteString("TrainPara", "errRatio", frmNetwork.txtTrainPara(7)) <> True Then
MsgBox (ErrorMsg)
Exit Function
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -