2011-03-11 40 views
1

我已經在Matlab中編寫了一些機器學習代碼,並且我已經添加了一段代碼以在每次重量更新後可視化權重。不幸的是,數字窗口阻塞,直到火車功能退出。Matlab:如何以[編程方式]顯示圖像而不會出現數字窗口阻塞

有沒有簡單的方法來解決這個問題?

-Brian

+0

作爲一個純粹的技術問題,這屬於StackOverflow(請不要在那裏重新發布,如果有足夠的人投票結束它,它將被自動化)。 – 2011-03-11 08:22:03

+0

這可能會有所幫助:http://stackoverflow.com/questions/4733902/get-input-from-keyboard-while-displaying-an-avi-with-matlab/4735497#4735497 – sheepez 2011-03-11 09:14:40

+0

你可以發佈代碼哪個顯示圖像? – Jacob 2011-03-11 09:19:45

回答

3

drawnow是做到這一點的最直接方法。這並不是每個循環都沒有畫出這個數字,而更多的是這個數字沒有被刷新。這在運行在Linux & Mac上的Matlab中更常見,因爲圖形是通過X11流式傳輸的。 Windows有一個更原生的圖形用戶界面,所以這是不常見的(除非如果劇情太龐大,繪圖需要時間...)。所以,只需發出一個drawnow命令,就可以完成設置。

編輯

使用drawnow在一個循環和力MATLAB繪製數字環路

for i=1:N %#begin loop 
    <plot command here> 
    drawnow 
end  %#end loop 

這種方式的每次迭代,drawnow是在環路和你的情節會顯示在每個迭代

+0

作爲一個後續行動,我很好奇是否有辦法像'drawnow'那樣指示它不要阻止,或者附加一個處理程序到定期告訴它繪製的圖形 – 2011-03-11 23:15:52

+0

我不'不明白你的問題。你可以發出'drawnow'來繪製每一個循環。我編輯了我的帖子來說明我的觀點。 – 2011-03-12 00:09:58

+0

我正在使用的代碼是用於訓練神經網絡。它在等待共軛梯度算法完成運行時被阻塞。與你所建議的等價步驟是CG例程定期運行drawnow(),這似乎是必須採取的一個非常冒險的步驟來解決這個問題。 如果這就是我所能做的,那就這樣吧。我只是希望在花費數千美元的東西中增加一點靈活性=) – 2011-03-15 21:07:15

相關問題