.net中使用python训练好的模型

Imports System.IO
Imports System.Numerics
Imports TensorFlow

'Install-Package TensorFlowSharp

Public Class KeyWordDetect

    Dim graph As TFGraph
    Dim session As TFSession

    '加载模型
    Public Sub New()
        Dim model As Byte() = File.ReadAllBytes("f:\graph1.pb")
        '导入GraphDef

        graph = New TFGraph()
        graph.Import(model, "")

        session = New TFSession(graph)

        ' Threading.ThreadPool.SetMaxThreads(5, 5)
    End Sub

    Protected Overrides Sub finalize()

        session.CloseSession()


    End Sub





    Dim output
    Dim runner As TFSession.Runner
    Dim result
    Dim rshape

    '运行模型
    Public Function Detected(Data(,,) As Double) As Double

        ' Dim tensor As TFTensor = New TFTensor(Data)
        runner = session.GetRunner()

        runner.AddInput(graph("input")(0), Data).Fetch(graph("out")(0))

        output = runner.Run()


        result = output(0)
        rshape = result.Shape
        Dim rt As Double
        rt = result.GetValue(True)(0)(0)
        'For k = 0 To rshape.GetValue(0) - 1
        '    rt = result.GetValue(True)(k)(0)
        '    'Debug.Print(rt)
        '    If (rt > 0.8) Then
        '        Debug.Print("-----------recogxili")
        '        ' MsgBox("recgo")
        '    End If
        'Next

        Return RT

    End Function



    Public Function Run(dataI() As Int16) As Double
        '  Debug.Print("thread *****1")
        Dim mfccd As Double(,) = DataToMFCC(dataI)
        Dim inputx As Double(,,) = MFCCToVect(mfccd)
        Return Detected(inputx)
    End Function

   

End Class

猜你喜欢

转载自blog.csdn.net/qq_39239990/article/details/80879506