2

トレーニング済みの人工ニューラル ネットワーク (ANN) の PMML ファイルがあります。入力を単純に受け取り、目的の値を返す Java メソッドを作成したいと思います。

これはかなり簡単に思えますが、どのように実現するのかわかりません。

PMML バージョン = 3.0

更新: 24.05.2013

jpmml Java API を使ってみました。

これは私がやったことです:

(1) Maven Central Repository (リンク) から 3 つの .Jar ファイルをダウンロード:

  • pmml-マネージャー-1.0.2.jar
  • pmml-モデル-1.0.2.jar
  • pmml-評価者-1.0.2.jar

(2)Eclipseを使用して「ビルドパスを構成」し、これら3つの外部.Jarを追加しました

(3) 「text.xml」という名前の PMML ファイル (人工ニューラル ネットワーク (ANN)) をインポート PMML version="3.0"

(4) jpmml-project が提供するサンプル「 TreeModelTraversalExample.java 」を実行してみた

明らかに、いくつかの理由で機能しませんでした:

  • 上記の例は、ANN のものではありません。書き直す方法は?
  • 私の PMML ファイルは XML 形式です。それは正しいフォーマットですか?
  • Java API の処理方法や追加方法がわかりません。Eclipseで「ビルドパスを構成」してそれらを追加する必要がありますか?

明白な事実 #2、私は自分が何をしているのか見当もつかない :-)

改めまして、よろしくお願いいたします。

ステファン

4

3 に答える 3

2

JPMML は、PMML 3.X 以降のバージョンのNeuralNetworkモデルを問題なく処理できるはずです。さらに、そのようなモデルに伴うすべての正規化および非正規化変換を処理できる必要があります。

そもそもなぜPMMLモデルをJavaコードに変換することに興味があるのか​​ を明確にすることができます. これは問題全体を非常に複雑にし、価値を追加しません。JPMML ライブラリ自体はかなりコンパクトで、外部依存関係は最小限です (これを書いている時点では、commons-math のみに依存しています)。パフォーマンスに関しては、大きな違いはないはずです。最新のデスクトップ コンピューターでは、1 秒あたり最大 10,000 のスコアが得られると合理的に期待できます。

JPMML コードベースは最近 GitHub に移動しました: http://github.com/jpmml/jpmml

Turn Inc. の仲間のコーダーは、このコードベースをフォークし、選択したモデル タイプに対して PMML から Java への変換を実装しています (最上位モジュール「pmml-translation」を参照): https://github.com/turn/jpmml

現時点では、Openscoring プロジェクト (内部で JPMML を使用) を確認することをお勧めします: http://www.openscoring.org

次に、次のことを試すことができます。

  1. HTTP PUT メソッドを使用して XML ファイルをデプロイします。
  2. HTTP GET メソッドを使用して、モデルの概要情報を取得します。リクエストが成功した場合 (HTTP ステータス 500 エラー コードで失敗した場合とは対照的に)、モデルは適切にサポートされています。
  3. HTTP POST メソッドを使用して、単一予測モードまたはバッチ予測モードでモデルを実行します。より大きなバッチを送信して、パフォーマンス要件を満たしているかどうかを確認してください。
  4. HTTP DELETE メソッドを使用してモデルをアンデプロイします。

詳細については、いつでもプロジェクト オーナーに連絡してみてください。きっといい人たちです。

于 2013-05-30T07:03:15.903 に答える
0

これはあなたが必要とすることをするかもしれないと思います。これは、pmml ニューラル ネットワークを読み取って評価できると主張するオープン ソース ライブラリです。私はそれを試していません。

https://code.google.com/p/jpmml/

于 2013-05-23T22:18:06.847 に答える