0

事前トレーニング済みのモデルを onnx 形式に変換しようとしています。この目的のためにtf2onnx.convertを使用しています。私が実行したコマンド:

$ python3 -m tf2onnx.convert --saved-model models --output tf_model_op9.onnx

コマンドを実行すると、OOM の問題が発生し、プロセスは次のように強制終了されます。

2021-06-10 20:45:45.363569: 私は tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] TensorFlow デバイスを作成しました (/job:localhost/replica:0/task:0/device:GPU:0 with 984 MB メモリ) -> 物理 GPU (デバイス: 0、名前: Xavier、pci バス ID: 0000:00:00.0、計算能力: 7.2)

2021-06-10 20:45:46,335 - 情報 - 定数折りたたみの計算された 2 つの値

殺された

/var/log/kern.logを確認すると、次のようになります。

Jun 10 21:01:36 dreamvu-desktop カーネル: [559821.101983] メモリ不足: プロセス 27888 を強制終了 (python3) スコア 501 または子を犠牲にする

6 月 10 日 21:01:36 dreamvu-desktop カーネル: [559821.102503] 強制終了されたプロセス 27888 (python3) total-vm:18059264kB、anon-rss:3788464kB、file-rss:126752kB、shmem-rss:0kB

6 月 10 日 21:01:36 dreamvu-desktop カーネル: [559822.232634] oom_reaper: リープされたプロセス 27888 (python3)、現在 anon-rss:0kB、file-rss:127808kB、shmem-rss:0kB

私が見つけた解決策のほとんどは、batch_size(すでに1)、セッションを使用してgpuリソースを制限する(すでに試行済み)、またはCPUのスレッド数を変更するか、メモリ制限を変更することです(tf v2.5でもサポートされていません)。使用するRAMを制限する必要があると思います。

それ、どうやったら出来るの?

OS:ubuntu 18.04 || メモリ: 7.6 GiB

グラフィック: NVIDIA Tegra Xavier (nvgpu)/統合

プロセッサ : ARMv8 プロセッサ rev 0 (v8l) × 6

4

1 に答える 1