⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nxmlinterpreter.vb

📁 neural networks applications
💻 VB
📖 第 1 页 / 共 2 页
字号:

                                If Not (bmapInput.Width = idata.InputWidth And bmapInput.Height = idata.InputHeight) Then
                                    bmapInput = imageHelper.ShrinkImage(bmapInput, idata.InputWidth, idata.InputHeight, True)
                                End If

                                input = imageHelper.ArrayListFromImage(bmapInput)

                                '''Get the output
                                If idata.OutputFile <> "" Then
                                    Dim bmapOutput As New Bitmap(idata.OutputFile)

                                    If Not (bmapOutput.Width = idata.OutputWidth And bmapOutput.Height = idata.OutputHeight) Then
                                        bmapOutput = imageHelper.ShrinkImage(bmapOutput, idata.OutputWidth, idata.OutputHeight, True)
                                    End If

                                    output = imageHelper.ArrayListFromImage(bmapOutput)
                                Else

                                    '''Get the output
                                    Select Case idata.OutputType
                                        Case DataModel.DataType.Array
                                            '''Split this string to arraylist
                                            Dim arraystr() As String = Split(idata.OutputValue.Trim(), ",")
                                            Dim onestr As String

                                            For Each onestr In arraystr
                                                output.Add(CType(onestr, Single))
                                            Next
                                        Case DataModel.DataType.Number
                                            output = patternHelper.ArrayListFromNumber(CType(idata.OutputValue.Trim(), Long), mynn.OutputLayer.Count)
                                        Case DataModel.DataType.Pattern
                                            output = patternHelper.ArrayListFromPattern(idata.OutputValue.Trim)
                                        Case DataModel.DataType.Char
                                            output = patternHelper.ArrayListFromChar(idata.OutputValue.Trim)
                                    End Select

                                    PrintArr("Train: Input: ", input)
                                    PrintArr("Train: Output: ", output)

                                End If

                                helper.AddTrainingData(input, output)

                            End If

                        Next idata

                        '''Train the network
                        Console.WriteLine("Training Or Running Network...")
                        AddHandler helper.TrainingProgress, AddressOf Me.TrainingProgress
                        helper.Train(datablock.TrainCount)

                        '''Loop to run the network
                        For Each pdata In datablock.PatternDataCollection
                            input = New ArrayList()
                            output = New ArrayList()

                            If datablock.Type = DataModel.BlockType.Run Then
                                '''Get the input
                                Select Case pdata.InputType
                                    Case DataModel.DataType.Array
                                        '''Split this string to arraylist
                                        Dim arraystr() As String = Split(pdata.InputValue.Trim(), ",")
                                        Dim onestr As String

                                        For Each onestr In arraystr
                                            input.Add(CType(onestr, Single))
                                        Next
                                    Case DataModel.DataType.Number
                                        input = patternHelper.ArrayListFromNumber(CType(pdata.InputValue.Trim(), Single), mynn.InputLayer.Count)
                                    Case DataModel.DataType.Pattern
                                        input = patternHelper.ArrayListFromPattern(pdata.InputValue.Trim)
                                    Case DataModel.DataType.Char
                                        input = patternHelper.ArrayListFromChar(pdata.InputValue.Trim)
                                End Select

                                mynn.RunNetwork(input)
                                PrintArr("Run: Input:", input)

                                '''Show the output
                                output = mynn.GetOutput()

                                PrintArr("Run: Output:", output)

                                Dim outstr As String = ""

                                Select Case pdata.OutputType
                                    Case DataModel.DataType.Array
                                        '''Split this string to arraylist
                                        Dim acount As Long

                                        For acount = 0 To output.Count - 1
                                            outstr = outstr & CType(output(acount), String)
                                            If acount < output.Count - 1 Then outstr = outstr & ","
                                        Next
                                    Case DataModel.DataType.Number
                                        outstr = CType(patternHelper.NumberFromArraylist(output), String)
                                    Case DataModel.DataType.Pattern
                                        outstr = patternHelper.PatternFromArraylist(output)
                                    Case DataModel.DataType.Char
                                        outstr = patternHelper.CharFromArraylist(output)
                                End Select

                                pdata.OutputValue = outstr

                            End If

                        Next pdata

                        '''Loop to run the network
                        For Each idata In datablock.ImageDataCollection
                            input = New ArrayList()
                            output = New ArrayList()

                            If datablock.Type = DataModel.BlockType.Run Then

                                '''Get the input

                                Dim bmapInput As New Bitmap(idata.InputFile)

                                If Not (bmapInput.Width = idata.InputWidth And bmapInput.Height = idata.InputHeight) Then
                                    bmapInput = imageHelper.ShrinkImage(bmapInput, idata.InputWidth, idata.InputHeight, True)
                                End If

                                input = imageHelper.ArrayListFromImage(bmapInput)

                                mynn.RunNetwork(input)


                                '''Show the output
                                output = mynn.GetOutput()

                                PrintArr("Run: Output:", output)

                                Dim outstr As String = ""

                                '''Save the output as an image file if required
                                If idata.OutputFile <> "" Then
                                    Dim bmapOutput As Bitmap = imageHelper.ImageFromArraylist(output, idata.OutputWidth, idata.OutputHeight)
                                    bmapoutput.Save(idata.OutputFile)
                                End If

                                Select Case idata.OutputType
                                    Case DataModel.DataType.Array
                                        '''Split this string to arraylist
                                        Dim acount As Long

                                        For acount = 0 To output.Count - 1
                                            outstr = outstr & CType(output(acount), String)
                                            If acount < output.Count - 1 Then outstr = outstr & ","
                                        Next
                                    Case DataModel.DataType.Number
                                        outstr = CType(patternHelper.NumberFromArraylist(output), String)
                                    Case DataModel.DataType.Pattern
                                        outstr = patternHelper.PatternFromArraylist(output)
                                    Case DataModel.DataType.Char
                                        outstr = patternHelper.CharFromArraylist(output)
                                End Select

                                idata.OutputValue = outstr
                            End If


                        Next idata

                    Next datablock

                    '''Save the network
                    If network.SavePath.Trim = "" Then network.SavePath = network.LoadPath
                    serializer.SaveNetwork(network.SavePath, mynn)

                Next network

            Catch ex As Exception
                Throw New InterpreterException("Unable to interpret. Invalid file path provided for image data? " & ex.Message, ex)
            End Try

            '''Update this nxml file
            Save(file, nxmlDoc)

        End Sub

        Private Sub TrainingProgress(ByVal Current As Long, ByVal Max As Long, ByRef cancel As Boolean)
            Console.Write(".")
        End Sub

    End Class

End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -