Tensorflow関係のメモ

VLOGの出し方

tenosorflowでうまく動かないときに、cppソースとかを見たらVLOG(2)とかに有用なログが出てそうな時があります。 通常のLOGではなく、VLOGはデフォルトでオフなので、出力するには環境変数 TF_CPP_MAX_VLOG_LEVEL をセットします。

    import os
    os.environ['TF_CPP_MAX_VLOG_LEVEL'] = '2'    

なお大量にログが出るので、すごく遅くなります。ファイルに出すときには標準エラーをリダイレクトするのを忘れずに。

error: Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice

学習しようとした際に、以下のエラーが出る場合
error: Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice

あちこちに答えがありますが、コンパイル時のcudaフォルダの場所と違うところに現在のcudaがある場合に、 このエラーが出ます。 基本的に、以下のコードで直ります。

    import os
    os.environ["XLA_FLAGS"]='--xla_gpu_cuda_data_dir=/path/to/cuda'

windowsの場合は、この方法でうまくいくのですが、空白パスとパス区切りでさらに失敗しますので、 次のようにします。

    import os
    os.environ["XLA_FLAGS"]='--xla_gpu_cuda_data_dir="%s"'%os.environ["CUDA_PATH"].replace('\\','/')