2016-11-09 22 views
0

私はWatson Visual Recognitionで作業しており、カスタム分類子を正常に作成しました。私は、この分類器をテストするには、以下のcurlコマンドを実行していますWatson Visual Recognitionでカスタムの分類器を使用していません

{ 
"classifier_id": "paintings_----", 
"name": "paintings", 
"owner": "--- owner id -----", 
"status": "ready", 
"created": "2016-11-09T14:55:45.835Z", 
"classes": [ 
    {"class": "water"}, 
    {"class": "collage"}, 
    {"class": "forest"}, 
    {"class": "beach"}, 
    {"class": "still"}, 
    {"class": "abstract"}, 
    {"class": "building"}, 
    {"class": "garden"} 
], 
"retrained": "2016-11-09T15:11:50.740Z" 
} 

::分類器は、それが次のステータスを持つ準備ができていることを示して

curl -X POST -F "[email protected]_5309.JPG" -F "[email protected]" "https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classify?api_key={valid API key}&version=2016-05-20&threshold=0.0" 

とpaintings.jsonファイルには、以下の内容があります。

:このクエリを実行する は
{ 
"parameters":{ 
    "classifier_ids": [ 
    "water", 
    "collage", 
    "forest", 
    "beach", 
    "still", 
    "abstract", 
    "building", 
    "garden" 
    ] , 
    "owner":"me", 
    "threshold":".5" 
} 
} 

次の結果を返します。

視覚認識は明らかに私のクラシファイアファイルを使用していないので、本当に明白な何かを見逃している可能性があります。私が逃したものについてのアイデアは?私はここにドキュメントを守っています:

classifier_ids - イメージを分類するための分類IDの配列です。https://www.ibm.com/watson/developercloud/visual-recognition/api/v3/#classify_an_image

オーナー - 実行するためにどの分類を指定する値(複数可)、「IBM」および/または「」の配列。

threshold - レスポンスに表示する必要がある最小スコアを指定する浮動小数点値。

答えて

0

@Matt ...ドキュメントに大きな誤りがあるようです。 -F "[email protected]"というJSONファイルの構造を実験しました。 jsonファイルのparameter要素がcurl文でパラメータ識別子を複製している可能性があります。私のjsonファイルは次のようになります:

{ 
    "classifier_ids": ["paintings_2--------2"], 
    "owners": "me", 
    "threshold":"0.0" 
} 

これはBluemix PublicとBluemix Dedicatedの両方で動作します。

2

paintings.jsonファイル内の配列classifier_idsには、クラス名(水、コラージュなど)の代わりに1つのエントリ:"paintings_----"(ダッシュの代わりに数字のIDを使用)が必要です。

それはclassifier_idとしてクラス名を理解することができないため、APIは「デフォルト」の汎用分類器(したがって、フィールド「custom_classesに:0」)からの結果を返している。また

ownersフィールド必要があります複数の場合 - "owners": "me"は、すべてのカスタム分類子を使用し、デフォルトのものをスキップするようにAPIに指示するのが簡略です。あなたの場合、どのclassifier_idを呼び出したいのか正確に分かるので、ownersフィールドを省略することができます。私はドキュメントの例を二重にチェックして、これらの両方の問題についてAPIリファレンスの例を修正する必要があることを確認しました。

ご質問にすべての詳細を記載していただき、ありがとうございました!

関連する問題