YUTO-Wの日記

美容と健康のためのブログです(`・ω・´) #ビタミンC #健康志向 #機械学習 #AI #ロボット #ROS

【解決】Cannot execute learning task. : this plan instance can have only 1 custom classifier(s), and 1 already exist.

【目的】

IBM Bluemixで表題のエラーが発生した場合の解決方法を示す。

エラー画面: 

f:id:yutow0403:20170705143752j:plain

 

【背景】

IBM Bluemixのフリープラン(無料)では、Visual Recognitionサービスで1つしか独自の分類機を作ることはできない。

フリープランの概要:

f:id:yutow0403:20170705142504p:plain

 

そのため、2つ以上は作れませんよ、というエラーが出る。

しかし、UI上では削除している(見えていない)が、裏で残ってしまう場合がある。

具体的には、

分類結果/分類機の名前に2バイト文字を使う

と、表題のエラーが発生するようになった。(つまり日本語は使うなということ。)

 

しかもこのエラー、何時間待っても解消されないのだ。なんて恐ろしい。

そこで、いろいろググってみたが解決方法は見つからなかった。

 

以下の記事でも、このエラーについて触れている。

研究開発:画像認識学習APIの使い方 - livedoor Blog(ブログ)

 

また、以下の記事を読むと現存している分類機のリストが表示できることが分かる。

How can I delete my classifier without classifier id? - dWAnswers

>> 確かに、以下のコマンドで確認できる。

 

 

ということでcurlしてみた結果。

f:id:yutow0403:20170705143629p:plain

空じゃねぇか(#^ω^)ピキピキ

つまり、独自の分類機は残っていないということ。

だがエラーは解消しない。なんて恐ろしいサービスなのだ。

 

以下の記事を読むと、空の場合はチケット切ってサポートに問い合わせろとある。

Visual Recognition error 400 - "custom classifier already exist." - dWAnswers

 

 

 サポートに問い合わせして対応してもらえって・・・

そんな時間ねぇよ(#^ω^)ピキピキ

 ということでいろいろ試行錯誤してみた。

 

【内容】

①サービス削除

Q:サービスを削除→新規作成すれば解消されるのではないか?

f:id:yutow0403:20170705144247p:plain

A:ダメでした(;´∀`)

 

②資格情報削除

Q:サービス資格情報を削除→新規作成すれば解消されるのではないか?

f:id:yutow0403:20170705144640p:plain

A:解消された!!

※ちなみに、APIキーは更新されない。何度削除&新規作成しても同じ値。

 

【結論】

表題のエラーは、

『サービス資格情報を削除→新規作成』

で解決する。

 

【所感】

外部サービスを使うと、内部の動作はブラックボックスなので不慮のエラーに対処しずらい。(デモ当日に突然エラー発生するようになるかもしれないし、その場合に即座に対応できない。)

本来なら自らアルゴリズムを組むべきだが、機械学習でそれは敷居が高い。

 

まぁ他人のサービスを使わせて貰っている立場なので、多少は仕方ないかなと思いました。(今回の件でIBMの信頼は下がりましたが。)