2016-12-05 8 views
1

私は本当に洗練されたネットを持っています。これは私のGPUで多くのメモリを占有しています。私はデータを訓練してテストすると(標準的なケースです)、訓練だけの場合の2倍のメモリ使用量があることがわかりました。データをテストすることは本当に必要ですか?または、それは視覚化のためだけに使用されていますか?つまり、ネットが過半数であるかsthのように表示されていますか?caffe:テストが必要ですか?

必要と思われますが、理由はわかりません。私の質問は、トレーニングとテストを分ける方法です。私はあなたができることを知っています

test_initialization: false 

しかし、私はネットをテストしたいと思ったら、後でそれをやりますか?

ありがとうございます!

+0

レイヤーにまだテスト段階がありますか? – Cassie

+0

いいえ、どうですか? @Cassie – thigi

+0

これを行うと、コマンドラインテストを使用できます。そうでない場合は、スクリプトを書くことができます。私はあなたに答えを書いています。 – Cassie

答えて

2

train.prototxtにTESTフェーズがある場合は、コマンドラインを使用してネットワークをテストできます。あなたのネットワークをテストするためにそれを編集することができます

# score the learned LeNet model on the validation set as defined in the 
    # model architeture lenet_train_test.prototxt 
    caffe test -model examples/mnist/lenet_train_test.prototxt -weights 
    examples/mnist/lenet_iter_10000.caffemodel -gpu 0 -iterations 100 

:あなたは、彼らが次のコマンドラインを言及し、このlinkを、見ることができます。

また、訓練されたネットワークにスクリプトを読み込んでフィールドに使用することもできます。Python tutorialがあります。これは、別々の順方向パスを実行し、期待どおりの結果を比較するために操作することができます。私はこれが箱から完全に動作するとは思わないので、いくつかのことを試してみる必要があります。

+0

ええ、これは私のトレーニング中にテストフェーズがあるのと同じですか?もしそうなら、私はなぜテスト段階が必要なのでしょうか? @Cassie – thigi

+0

トレーニング中にテスト段階を実行すると、トレーニング中にモデルが一般化する度合いに関する情報が得られます。もちろんこれは必須ではありませんが、モデルがどれほど迅速に学習するか、過大なタイミングと時期を洞察することができます。 – Cassie

+0

ああ、それは一般的に「テスト」ですが、トレーニングそのものは改善されません。ありがとうございました! – thigi

関連する問題