トップ回答者
エラーについて

質問
-
只今、azureのMachineLearnningを使っております。
そこで、学習して生成した分類器モデルを、web apii として公開し、発行された、apikeyとapiURLを用いて、javaのプログラム(公開されているサンプルコードを利用)により、外部からAPIを実行しようとしたところ、
javaに下記のエラーがで表示されました。
java.io.FileNotFoundException: 2 (指定されたファイルが見つかりません。)
java.io.FileNotFoundException: 2 (指定されたファイルが見つかりません。)
java.lang.IllegalArgumentException: Source string may not be null
お手数ですが、解決法を教えていただけますでしょうか。
サンプルコードのURL
https://azure.microsoft.com/ja-jp/documentation/articles/machine-learning-consume-web-services/
回答
-
こんにちは。
サンプルコードURLではRRSとBES2種類のサンプルが用意されていますが、
どちらで試されたのでしょうか。FileNotFoundExceptionが表示されたとのことなのでJavaの後者だと仮定して話させていただくと、
サンプルの実行には2種類のCSV(コンテンツはJSON)が必要だと記載されています。その場合、私も手順を追って実行したわけではないのですが、一番可能性としてありそうなのは
MLのAPIが云々ではなく、JavaのMain関数の最初のほうでエラーで終了している可能性があります。また、以下のサンプルコードまで見てみるとプログラム実行時に引数でファイルパスを渡しているようですが、
現在どのように実行されているのでしょうか。
ファイルパスがわたっているのか、ファイルの実体が存在するのかそのあたりから確認されては如何ですか。https://github.com/nk773/AzureML_BESApp/blob/master/src/azureml_besapp/AzureML_BESApp.java
- 回答としてマーク 星 睦美 2016年10月17日 2:25
すべての返信
-
こんにちは。
サンプルコードURLではRRSとBES2種類のサンプルが用意されていますが、
どちらで試されたのでしょうか。FileNotFoundExceptionが表示されたとのことなのでJavaの後者だと仮定して話させていただくと、
サンプルの実行には2種類のCSV(コンテンツはJSON)が必要だと記載されています。その場合、私も手順を追って実行したわけではないのですが、一番可能性としてありそうなのは
MLのAPIが云々ではなく、JavaのMain関数の最初のほうでエラーで終了している可能性があります。また、以下のサンプルコードまで見てみるとプログラム実行時に引数でファイルパスを渡しているようですが、
現在どのように実行されているのでしょうか。
ファイルパスがわたっているのか、ファイルの実体が存在するのかそのあたりから確認されては如何ですか。https://github.com/nk773/AzureML_BESApp/blob/master/src/azureml_besapp/AzureML_BESApp.java
- 回答としてマーク 星 睦美 2016年10月17日 2:25
-
ご返信いただきありがとうございます。
ご指摘いただいた点から、実行構成での、引数を変更したところ、
ArrayIndexOutOfBoundsException:1というエラーに変化いたしました。
指定したパスが文字数として抽出され、配列に代入され、
String jsonFile = args[0];でエラーを起こしているものと思われます。どのような対処が必要でしょうか。
Eclipse及びJAVAは慣れていないため、的外れな質問であれば、申し訳ございません。
また、前提としてEclipseの実行構成からの引数指定(パスを指定)を実行するという、実行方法はパスの指定方法として正しいのでしょうか…。
-
そのエラーはおそらく第二引数が指定されていないために発生しています。
スペース区切りでJsonのパスを2つ指定してください。// first argument is full path with file name of JSON file and
// second argument is full path with file name of API file that contains API URL and API Key of request response REST API第一引数はJsonファイルのフルパス、第二引数はapiファイルのフルパスです。
以下を参考にソース定義、apiファイルの用意をしてください。
https://github.com/nk773/AzureML_RRSApp/tree/master/src/azureml_rrsappそれでも動作しないのであれば不正な引数を設定している可能性がありますので、
まずはどういった値を設定しているのか現状をきちんと提示するところからされると宜しいかと思います。