2016-07-31 12 views
1

Ich erforsche IBM Watson von Visual Recognition Service und wenn ich einen Klassifikator mit Klassennamen wie ‚schwarz-Hund‘ (dh schwarz-dog_positive_example), dann wird diese Klassennamen später kehrte als ‚black_dog‘ (mit unterstreichen Ersetzen Strich) wenn ich ein Bild unter Verwendung der /v3/classify Endpunkt klassifizieren.Welche Regeln gelten für Klassennamen im IBM Watson Visual Recognition Service?

Aber wenn ich die Klassifizierer Details mit der /v3/classifiers/{classifier_id} abrufen, wird die Klasse korrekt als "Black-Dog" aufgeführt.

Also, mein Ergebnis für GET /v3/classifiers/{classifier_id} ist wie:

{ 
    "classifier_id": "dog_561932172", 
    "name": "dog", 
    "owner": "xxxxxxxx-xxx-xxx-xxx-xxxxxxxxxxxx", 
    "status": "ready", 
    "created": "2016-07-30T22:06:39.327Z", 
    "classes": [ 
     {"class": "black-dog"} 
    ] 
} 

Während mein Ergebnis für GET /v3/classify ist

{ 
    "custom_classes": 1, 
    "images": [ 
    { 
     "classifiers": [ 
     { 
      "classes": [ 
      { 
       "class": "black_dog", 
       "score": 0.546941 
      } 
      ], 
      "classifier_id": "dog_561932172", 
      "name": "dog" 
     } 
     ], 
     "image": "20160620_142113.jpg" 
    } 
    ], 
    "images_processed": 1 
} 

Also dieses oder ein Defekt erwartet? Sollte ich vermeiden, "-" in Klassennamen zu verwenden? Gibt es noch andere Regeln für den Wert eines Klassennamens?

+1

Sieht für mich wie ein Defekt aus, also danke, dass du das gemacht hast. Ein guter Weg, dies zu vermeiden Dies würde keine Bindestriche verwenden. Lassen Sie mich jedoch mit dem Visual Recognition-Team in Kontakt treten, um zu überprüfen, ob dies das erwartete Verhalten ist. Ich habe in der API-Referenz nachgesehen und konnte keine Regeln bezüglich des Klassennamens finden. – joe

Antwort

1

Gibt es noch andere Regeln für den Wert eines Klassennamens?

Wir haben eine Aktualisierung vorgenommen, und der Dienst sollte keine Klassennamen wie das Ersetzen eines Gedankenstrichs durch einen Unterstrich ändern. Stattdessen werden Klassennamen mit keinem dieser Zeichen für benutzerdefiniertes Lernen akzeptiert: \, |, *, {,}, $, -, /, ', `,"

(Sie werden sehen, dass der Strich ist enthalten in.) Leerzeichen sind akzeptabel. Das Update ist nicht rückwirkend, so dass vorhandene Klassennamen, die während des Trainings geändert wurden, nicht betroffen sind.

2

Update:

über Matts Antwort aktualisiert.


Gesprochen mit dem Support-Team, und es ist in der Tat ein Fehler. Hier war ihre Antwort:

Vielen Dank für das Aufzeigen. Ich reproduziert und bestätigt mit dem Entwicklerteam, und wir betrachten diese Inkonsistenz zwischen dem aufgelisteten Klassennamen und dem Klassennamen in den Ergebnissen als einen Fehler.

Und dies ist, weil der Klassenname im Ergebnis von dem, was gesendet wurde, geändert wurde.

Ich habe ein Ticket für das Tracking auf diese angehoben. Laut Entwickler kann die Ausgabe derzeit entweder ein Dokument sein, um die Ersetzungen aufzulisten, oder einen Weg finden, sie zu entfernen.

... so arbeiten sie gerade daran.

Verwandte Themen