2

私はアクティビティ認識に取り組んでいますが、out of memory error1 つのビデオを処理した後に取得しています。

最大可能な配列は 444mb から 84mb に変わります。これは、複数のビデオを処理できないことを意味します。を使用するclear all;close all;、matlab メモリをクリアできますが、matlab を閉じずに仮想メモリ (ram) スペースをクリアするにはどうすればよいですか?

どんな助けでも大歓迎です。

4

3 に答える 3

1

これらすべてを同時に実行する必要がある場合は、メモリが不足している可能性があります。ただし、それらを順次処理したいと思います。この質問で述べたように、matlab を閉じて再起動する必要がある場合があります。

これはひどく聞こえるかもしれませんが、少しの作業で痛みを和らげることができます。

実行できる手順は次のとおりです。

  1. 進行状況が便利な方法でディスクに書き込まれていることを確認してください。たとえば、まだ処理する必要がある数値のリストを含む .mat ファイルです。
  2. ラッパー関数を記述します。この関数は次のようにする必要があります。
    • リストを開く
    • リストの次のアイテムが処理されることを確認してください
    • リストに何か残っている場合は、この関数が呼び出される新しい matlab セッションを開き、既存のセッションを閉じます。

最後の部分は見つけにくいかもしれませんが、呼び出したい関数が であるとすると、次のmagic(5)ようになります。

!matlab -r "magic(5)" &
exit
于 2013-09-16T11:51:52.090 に答える