2011-03-11 3 views
1

Matlab에서 일부 기계 학습 코드를 작성했으며 각 가중치 업데이트 후 가중치를 시각화하는 코드를 추가했습니다. 불행하게도, Figure 창은 열차 기능이 종료 될 때까지 차단됩니다.Matlab : 도형 창 차단없이 이미지를 [프로그래밍 방식으로] 표시하는 방법

이 문제를 해결할 수있는 간단한 방법이 있습니까?

+0

이것은 기술적 인 질문이므로 StackOverflow에 속합니다 (여기에 다시 게시하지 마십시오. 충분한 사람이 여기에서 투표를 완료하면 자동 채점됩니다). –

+0

도움이 될 수 있습니다 : http://stackoverflow.com/questions/4733902/get-input-from-keyboard-while-displaying-an-avi-with-matlab/4735497#4735497 – sheepez

+0

섹션 주위에 코드를 게시 할 수 있습니까? 이미지를 표시합니까? – Jacob

답변

3

drawnow 브라이언

이 작업을 수행 할 수있는 가장 간단한 방법입니다. 그림이 각 루프에 그려지지 않고있는 것은 아닙니다. 그림이 새로 고쳐지지 않는 것이 더 있습니다. 이것은 그래픽이 X11을 통해 스트리밍되기 때문에 Linux & Mac에서 실행되는 Matlab에서 더 일반적입니다. Windows는보다 네이티브 그래픽 UI를 가지고 있기 때문에 그리 쉽지 않습니다 (플롯이 너무 부피가 크고 드로잉에 시간이 걸리는 경우가 아니면 ...). 그러므로 drawnow 명령을 실행하면 모든 것이 설정됩니다.

편집

drawnow 루프에와 플롯이 될 것입니다, 루프

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

이 방법의 각 반복에 그림을 그릴 수있는 루프와 힘 MATLAB에서 drawnow를 사용하는 각 반복에 표시

+0

후속 조치로서, 블록킹하지 않겠다고 지시 한 'drawnow'와 같은 문제를 제기 할 수있는 방법이 있는지 또는 주기적으로 그려야 할 그림을 처리기에 연결하는 방법이 있는지 궁금하다. –

+0

' 당신의 질문을 이해합니다. 'drawnow'를 실행하여 모든 루프를 그릴 수 있습니다. 내 지점을 설명하기 위해 내 게시물을 편집했습니다. –

+0

내가 작업중인 코드는 신경망을 훈련하는 코드입니다. 공액 그라디언트 알고리즘 실행을 기다리는 동안 차단됩니다. 당신이 제안한 것과 동일한 단계는 CG 루틴이 drawnow()를 주기적으로 실행하는 것입니다.이 문제는이 문제를 해결하는 데 매우 까다로운 단계 인 것처럼 보입니다. 그게 전부라면, 그렇게 할 수 있습니다. 나는 단지 수천 달러의 비용이 드는 것에 약간의 유연성을 기대하고 있었다. –

관련 문제