Matplotlibを使用しているときにエラーメッセージを取得する:
エラー#15:libiomp5.dylibの初期化が、libiomp5.dylibがすでにOMPを初期化したことを発見:ヒント:これは、OpenMPランタイムの複数のコピーがプログラムにリンクされていることを意味します。パフォーマンスが低下したり、誤った結果が生じる可能性があるため、これは危険です。最善の方法は、単一のOpenMPランタイムのみがプロセスにリンクされるようにすることです。ライブラリ内のOpenMPランタイムの静的リンクを回避します。安全ではない、サポートされていない、文書化されていない回避策として、環境変数KMP_DUPLICATE_LIB_OK = TRUEを設定して、プログラムの実行を継続できますが、クラッシュを引き起こしたり、誤った結果を生成する可能性があります。詳細については、 http://www.intel.com/software/products/support/ を参照してください。
これはMacOSの問題のようです。問題を解決するには、次を実行します。
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
回答が見つかりました: https://github.com/dmlc/xgboost/issues/1715
これは、適切な場合、より良いソリューションです。それ以外の場合は、とにかくgcamargoのソリューションが機能する可能性があります。ただし、「クラッシュの原因になったり、誤って誤った結果を生成したりする可能性がある」という警告が付いています
私のMacでもpython numpy、keras、matplotlibを使用したプログラムで同じエラーが発生しました。
conda install nomkl
回答が見つかりました: https://github.com/dmlc/xgboost/issues/1715
Condaを使用してtensoflowを1.13に更新するときに、OSXで同じ問題が発生していました。
Anacondaの新しいIntel-MKL最適化は、OSXテンソルフローでは壊れているようです。
そのため、lightgbmでこれと同じ問題を抱えている人のために、 ドキュメント
pip uninstall lightgbm
pip install lightgbm
ln -sf `ls -d "$(brew --cellar libomp)"/*/lib`/* $CONDA_PREFIX/lib
これらの3つのことがうまくいきました。
TensorFlowがインストールされているconda環境でも同じ問題が発生しました。やった後
pip uninstall tensorflow
pip install tensorflow
問題はなくなりました。
matplotlib
のバックエンドを変更してみてください。
たとえば、私の場合、Tkagg
バックエンドがこの問題を引き起こします。 Qt5Agg
に変更しました
matplotlib.use('Qt5Agg')
そしてそれは役立ちます。