訓練出力と可視化を表示するには、任意の時点でnohupを背景+中断のない操作を使用してトレーニングプログラム
リモート訓練のためにサーバーを使用します
私は、多くの場合、訓練のためにサーバーを使用する必要があり、いくつかのモデルを訓練それは、このようなマスクモデルとして、長い時間がかかるため、長期的なプログラムを実行する必要があることが多いです。私はときに、ネットワークオフのsshログインアカウントを使用して、または終了しておりますのでプログラムは、killされます。以下は、共通のリモートトレーニングコマンドをまとめたもので、あなたが中断されていないモデルをトレーニングすることができます、あなたは常に、モデルの視覚的な結果を見ることができます。
nohupは、コマンドと出力を表示します
nohupを一切、頭字語をハングアップされていないだけで意味がハングアップしません。
nohupコマンド:あなたがプロセスを実行している、とあなたがあなたのアカウントを終了するときにプロセスが終了しないだろうと感じた場合は、nohupコマンドを使用することができます。このコマンドは、次のことができ、端末を閉じた後に対応する処理を実行し続ける/口座から撤退します。
デフォルトでは、プログラムは、すべての出力はnohup.outにという名前のファイルにリダイレクトされます。
書かれたデフォルトの出力ファイル
nohup python3 -W ignore -m xxx.py
このようなアプローチでは、すべての出力がに保存されているディレクトリnohup.outフォルダ内のファイルを表示し、LSに示すように、リアルタイムで読んで。
言葉遣いは、出力ファイルを指定しました
nohup python -u xxx.py > my_out_file.txt 2>&1 &
my_out_file.txtへのすべての年を保持しますxxx.py出力
そして、一緒にCUDAと
一つのサーバは、複数のサーバーが使用するGPUピースすることができますが、今回は最初の2つだけと4 GPUを使用したいが、私たちは2つのGPUのコードを見ることができますまだあることを願って、番号0 1、この時間は、我々はこの問題を解決するために、環境変数のCUDA_VISIBLE_DEVICESを使用することができます。
そのようなものとして
CUDA_VISIBLE_DEVICES=1 只有编号为1的GPU对程序是可见的,在代码中gpu[0]指的就是这块儿GPU
CUDA_VISIBLE_DEVICES=0,2,3 只有编号为0,2,3的GPU对程序是可见的,在代码中gpu[0]指的是第0块儿,gpu[1]指的是第2块儿,gpu[2]指的是第3块儿
CUDA_VISIBLE_DEVICES=2,0,3 只有编号为0,2,3的GPU对程序是可见的,但是在代码中gpu[0]指的是第2块儿,gpu[1]指的是第0块儿,gpu[2]指的是第3块儿
CUDA先行する命令
CUDA_VISIBLE_DEVICES=1 nohup python3 -W ignore -m xxx.py
リアルタイムチェックアウト
ファイルを表示するvimのnohup.out使用してください。
使用してファイルに、リアルタイムで出力を表示するには、Shift+ Gすぐにファイルの末尾にジャンプするキーの組み合わせを。
ダイレクト:特定の行にジャンプ:+デジタル
visdomと使用
時々 、私たちは訓練結果の可視化をvisdom使用しますが、あなたができるように、システムは、自動的にvisdomまた、閉じ閲覧影響ログアウトします直接nohupをオープンvisdomを使用するので、サーバーが出ている場合でも、あなたは次回ログイン時にも指定されたポートの可視化にアクセスすることができます結果。
nohup python -m visdom.server