2017-04-03 11 views
0

正確にkur testkur evaluateの違いは何ですか?`` kur test`と `` kur evaluate``の違いは何ですか

の違いは、私たちはどのように我々は正確に、彼らが違うかを理解することができ、kur testkur evaluateの背後にあるソースコードを理解することなく、コンソール

(dlnd-tf-lab) ->kur evaluate mnist.yml 
    Evaluating: 100%|████████████████████████████| 10000/10000 [00:04<00:00, 2417.95samples/s] 
    LABEL  CORRECT TOTAL  ACCURACY 
    0   949  980  96.8% 
    1   1096  1135  96.6% 
    2   861  1032  83.4% 
    3   868  1010  85.9% 
    4   929  982  94.6% 
    5   761  892  85.3% 
    6   849  958  88.6% 
    7   935  1028  91.0% 
    8   828  974  85.0% 
    9   859  1009  85.1% 
    ALL  8935  10000  89.3% 


    Focus on one: /Users/Natsume/Downloads/kur/examples 
    (dlnd-tf-lab) ->kur test mnist.yml 
    Testing, loss=0.458: 100%|█████████████████████| 3200/3200 [00:01<00:00, 2427.42samples/s] 

から参照してください?

答えて

0

@ajsyp Kur(深い学習ライブラリ)のデベロッパーは、次の回答を得ました。これは非常に役に立ちました。

kur testあなたが「正解」が何であるかを知っているときに使用され、あなたは単にあなたのモデルが開催されたアウトサンプルに行い、どれだけ見てみたい 。

kur evaluateは純粋な推論です:あなたの訓練を受けたモデル からの結果を生成するためのものです。

通常、機械学習では、利用可能なデータをトレーニング、検証、テストの3つのセットに分割します(これは というものです。特定のモデル モデルのハイパーパラメータのアーキテクチャ/選択については、 トレーニングセットをトレーニングし、モデル のパフォーマンス(正しく学習していますか?それはオーバートレーニングですか?など)を検証するために検証セットを使用します。しかし、 は通常、さまざまなモデルのハイパーパラメータを比較したいと考えています。たとえば、 の場合、レイヤの数やサイズなどを微調整します。

「ベスト」モデルをどのように選択しますか?最も簡単なことは、最も低い検証損失でモデルを選択することです。 です。しかし 検証セットでうまくいくようにモデルを最適化/微調整するリスクを実行します。

テストセットが有効になります。テストセットを最後の としてテストセットを使用して、各モデルのパフォーマンスがどの程度良好であるかをテストします。 可能であれば、そのテストセットを隠すことは非常に重要です。 あなたのモデルが のどれくらい良いか、他のモデルとの比較方法がわからない公平な方法はありません。

kur testは、モデル でテストセットを実行して損失を計算し、適用可能なフックを実行するために使用することを意図しています。

しかし、訓練されたモデル、画像認識 モデルなどがあり、実際に使用したいとしましょう。新しいデータが得られます( には「真実」というラベルがありません。ちょうど未加工の イメージです)、モデルでイメージを分類する必要があります。それは kur evaluateのためのものです:それは訓練されたモデルをとり、真実の値を必要としない/真実の値を必要としない " 生産モード"でそれを使用します。

関連する問題