2017-01-12 7 views
4

CNTKを使用してモデルを訓練しました。私たちは、このモデルをロードし、文章を分類する要求に応答するサービスを構築しています。パフォーマンスに関して最も良いAPIは何ですか? https://github.com/Microsoft/CNTK/tree/master/Examples/Evaluation/CSEvalClientのようにC#サービスを構築したいと思っていますが、PythonでモデルをロードするPythonサービスを構築することを検討しています。CNTK:モデル消費用PythonとC#API

いずれかのアプローチにはお勧めがありますか? (どのAPIがより速く、積極的に維持されているか、またはあなたが考えることができる他のパラメータについて)。次のステップは、両方のAPI呼び出しのパフォーマンスを測定する実験を設定することですが、私たちの決定に役立つ事前知識があるかどうか疑問に思っていました。

ありがとうございました

+0

この質問は、Stack Exchangeのソフトウェアエンジニアリングに適しているかもしれません。 http://softwareengineering.stackexchange.com/ - 私は通常、この行がぼやけている場合を参照しています:http://meta.stackexchange.com/a/129632/309337 –

+1

@kayleeFrye_onDeck他のサイトを参照すると、ポイントは[クロスポストは眉をひそめます](http://meta.stackexchange.com/tags/cross-posting/info) – gnat

答えて

4

どちらのAPIもよく開発され、維持されています。テキストデータの場合は、C#APIを使用します。

C#の主な焦点は高速で簡単な評価で、テキスト読み込みの場合はデータが簡単です。

Python APIはモデルの開発/トレーニングに適しており、現時点では評価にはあまり注意を払っていません。さらに、エキゾチックなフォーマットでデータをロードする豊富なパッケージがPythonではC#よりも簡単です。

+0

あなたの返信ありがとうございます。ここではhttps://github.com/Microsoft/CNTK/wiki/EvalDLL-Evaluation-Overviewを参照してください。「シングルスレッド評価 CNTK評価ライブラリと管理対象EvalWrapperライブラリはシングルスレッドであり、つまり、単一のモデルを一度に1つのスレッドでしか評価することはできませんが、同じプロセスで複数のモデルをロードし、単一のスレッドを使用して各モデルを照会することは可能です。単一スレッド制限がPython評価APIに適用されますか? – malex

+0

私は申し訳ありませんが、ここには2つの異なるC#評価APIがあります:https://github.com/Microsoft/CNTK/wiki/CNTK-Evaluation-Overview私は、 C#では(開発中)可能ではないようですが、 – malex

2

CNTKLibraryに基づく新しいC#Eval APIはすぐに利用可能になります(最初のベータはおそらく来週です)。このAPIは、評価に関するC++およびPython APIと機能的に同等です。

このAPIは、複数のスレッドを使用して複数の評価要求を並行して処理することをサポートし、同じロードされたモデルのモデルパラメータをこれらのスレッド間で共有します。

ASP.Net環境でEval APIを使用する方法については、turorialもあります。それでもEvalDLLの評価を指しますが、新しいC#APIにも適用されます。ドキュメントは、新しいC#APIがリリースされた後に更新されます。

関連する問題