我有一個非常複雜的網絡,佔用了我的GPU上的大量內存。我發現,如果我訓練和測試我的數據(這是標準情況),內存使用率比單純訓練高兩倍。真的有必要測試我的數據嗎?或者它只是用於可視化,即向我展示我的網絡是否過度配合或者像那樣?caffe:需要測試嗎?
我認爲這是必要的,但我不知道原因。我的問題是:如何區分培訓和測試?我知道你可以做
test_initialization: false
但是,如果我想測試我的網後,我會怎麼做?
在此先感謝!
我有一個非常複雜的網絡,佔用了我的GPU上的大量內存。我發現,如果我訓練和測試我的數據(這是標準情況),內存使用率比單純訓練高兩倍。真的有必要測試我的數據嗎?或者它只是用於可視化,即向我展示我的網絡是否過度配合或者像那樣?caffe:需要測試嗎?
我認爲這是必要的,但我不知道原因。我的問題是:如何區分培訓和測試?我知道你可以做
test_initialization: false
但是,如果我想測試我的網後,我會怎麼做?
在此先感謝!
如果您的train.prototxt中有一個測試階段,您可以使用命令行來測試您的網絡。你可以看到這個link,他們提以下命令行:
# 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
您可以編輯它來測試你的網絡。
還有一個Python tutorial您可以按照加載訓練有素的網絡與腳本並在現場使用它。這可以被操縱來執行單獨的前向傳球,並將結果與預期結果進行比較。我不指望它完全開箱即用,所以你將不得不嘗試一些東西。
你的圖層中是否還有測試階段? – Cassie
不,我應該嗎? @Cassie – thigi
如果你這樣做,那麼你可以使用命令行測試。如果沒有,你可以寫一個腳本。我正在爲你寫一個答案。 – Cassie