0

SDK のインストールとサービス資格情報の構成の手順は既に実行しました。問題は、自分の分類器をトレーニングできないことです。次のエラーが表示されます: No overload for method 'TrainClassifier' takes 5 arguments

void Start()
{
    string m_positiveExamplesPath = Application.dataPath + "/testData/cpu_positive_examples.zip";
    string m_negativeExamplesPath = Application.dataPath + "/testData/negative_examples.zip";
    if(!m_VisualRecognition.TrainClassifier("components", "cpu", m_positiveExamplesPath, m_negativeExamplesPath, OnTrainClassifier))
        Log.Debug("ExampleVisualRecognition", "Train classifier failed!");
}

private void OnTrainClassifier(GetClassifiersPerClassifierVerbose classifier)
{

    if(classifier != null)
    {
        Log.Debug("ExampleVisualRecognition", "Classifier is training! " + classifier);
    }
    else
    {
        Log.Debug("ExampleVisualRecognition", "Failed to train classifier!");
    }
}

GitHub の SDK のリンクは次のとおりですありがとう!

4

1 に答える 1

1

サンプル ページからそのコードをコピーしましたが、そのページのすべてが古くなっているようです。IBM による更新が必要です。

VisualRecognitionクラスには次の 2 つのオーバーロードがありますTrainClassifier

public bool TrainClassifier(OnTrainClassifier callback, string classifierName, Dictionary<string, string> positiveExamples, string negativeExamplesPath = default(string), string mimeType = "application/zip", string customData = default(string))

public bool TrainClassifier(OnTrainClassifier callback, string classifierName, Dictionary<string, byte[]> positiveExamplesData, byte[] negativeExamplesData = null, string mimeType = "application/zip", string customData = default(string))

目の前に SDK があります。次回このようなエラーが発生した場合は、関数を選択し、右クリックして [定義に移動] をクリックします。関数のオーバーロードが表示され、その中に正しいパラメーターを渡すことができます。

ここに画像の説明を入力

コードは次のようになります。

private VisualRecognition m_VisualRecognition = new VisualRecognition();

void Start()
{
    string m_positiveExamplesPath = Application.dataPath + "/testData/cpu_positive_examples.zip";
    string m_negativeExamplesPath = Application.dataPath + "/testData/negative_examples.zip";

    Dictionary<string, string> positiveExamples = new Dictionary<string, string>();
    positiveExamples.Add("giraffe", m_positiveExamplesPath);

    if (!m_VisualRecognition.TrainClassifier(OnTrainClassifier, "unity-test-classifier-example", positiveExamples, m_negativeExamplesPath))
        Log.Debug("ExampleVisualRecognition", "Train classifier failed!");
}

private void OnTrainClassifier(GetClassifiersPerClassifierVerbose classifier, string data)
{

    if (classifier != null)
    {
        Log.Debug("ExampleVisualRecognition", "Classifier is training! " + classifier);
    }
    else
    {
        Log.Debug("ExampleVisualRecognition", "Failed to train classifier!");
    }
}

他の例が必要な場合は、例のページから取得しないでください。プラグインに付属のExample フォルダーから取得します。

于 2017-01-08T17:38:37.627 に答える