Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体

0
votes
answers
楼主
57 views
+10

在Keras中預測和評估指標

-1

模型培訓之後我如何預測和評估我的指標?
代碼是這樣的:在Keras中預測和評估指標

for patch in generator(): 
    pred = model.predict(np.array(patch, dtype=patch.dtype)) 

    loss_val_partial,accuracy_val_partial = model.test_on_batch(np.array(patch, dtype=patch.dtype),pred) 

或像這樣:

for patch in generator(): 
    pred = model.predict(np.array(patch, dtype=patch.dtype)) 

    loss_val_partial,accuracy_val_partial = model.test_on_batch(ground_truth,pred) 

其中地面實況是補丁的正確標籤。

我不認爲首先是正確的,因爲精度始終1.0

+0

如果它幫助,那麼請接受答案 – DAXaholic

沙发
0
2

在你的第一個代碼的問題是,你首先預測的輸出與您的模型,然後使用這個結果pred作爲地面實況供試品,讓你當然會擁有1.0

的精度爲test_on_batch方法見signature

test_on_batch(self, x, y, sample_weight=None) 

所以我不能測試它自己y的ou,因爲您只顯示了部分代碼(例如我不知道你的地面實況來自),但嘗試這樣的事情,也就是直接刪除,因爲它是內部爲你在做test_on_batch手動預測步驟:

for patch in generator(): 
    loss_val_partial,accuracy_val_partial = model.test_on_batch(np.array(patch, dtype=patch.dtype), ground_truth) 
+0

test_on_batch方法不會返回預測,因爲我需要預測和指標......這就是爲什麼我也使用預測的原因 – leoScomme

+0

是的,沒關係,但不要將您的預測作爲基礎事實傳遞,因爲這是錯誤的(您認爲自己的acc = 1.0) – DAXaholic

+0

好的,所以解決方案是你的,但如果我想要預測,我也必須添加預測方法,對不對? – leoScomme

discard