web-dev-qa-db-ja.com

Tensorflow-pyinstallerを使用したGPU

テンソルフローに依存するプログラムを配布しようとしています...

Tensorflowを使用すると、スクリプトとしてもpyinstallerでもうまく機能します。 tensorflow-gpuを使用すると、スクリプトとして機能しますが、pyinstallerでは機能しません。 cudaおよびcudnndllは、pyinstallerによってバンドルフォルダーにコピーされています。

python 3.6.5およびtensorflow1.7.0を使用します。(役立つ場合はバージョンを変更できます...)

エラーメッセージ:

トレースバック(最後の最後の呼び出し):ファイル "c:\ users\aleks\appdata\local\programs\python\python36\lib\site-のファイル" site-packages\tensorflow\python\pywrap_tensorflow.py "、58行目packages\PyInstaller\loader\pyimod03_importers.py "、631行目、exec_module exec(bytecode、module。dict)ファイル" site-packages\tensorflow\python\pywrap_tensorflow_internal.py "、18行目、ファイル" site-packages\tensorflow\python\pywrap_tensorflow_internal.py "、17行目、swig_import_helperファイル" importlib__init__。py "、126行目、import_module ModuleNotFoundError: 'tensorflowという名前のモジュールはありません.python._pywrap_tensorflow_internal '

上記の例外の処理中に、別の例外が発生しました。

トレースバック(最後の最後の呼び出し):ファイル "c:\ users\aleks\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\loader\pyimod03_importersのファイル" interface.py "、14行目。 py "、631行目、exec_module exec(bytecode、module。dict)ファイル" site-packages\tensorflow__init__。py "、24行目、ファイル"c:\ users\aleks\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py"、631行目、exec_module exec(bytecode、module。dict)ファイル "c:\ users\aleks\appdata\local\programs\python\python36 \のファイル" site-packages\tensorflow\python__init__。py "、49行目lib\site-packages\PyInstaller\loader\pyimod03_importers.py "、行631、exec_module exec(bytecode、module。dict)ファイル" site- packages\tensorflow\python\pywrap_tensorflow.py "、74行目、ImportError:Traceback(最後の最後の呼び出し):ファイル" site-packages\tensorflow\python\pywrap_tensorflow.py "、58行目、ファイル" c:\ users\aleks\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py "、631行目、exec_module exec(bytecode、module。dict )ファイル「site-packages\tensorflow\python\pywrap_tensorflow_internal.py」、18行目、ファイル「site-packages\tensorflow\python\pywrap_tensorflow_internal.py」、17行目、swig_import_helperファイル「importlib__init __。py」、126行目、 import_moduleのModuleNotFoundError:「tensorflow.python._pywrap_tensorflow_internal」という名前のモジュールがありません

ネイティブTensorFlowランタイムの読み込みに失敗しました。

https://www.tensorflow.org/install/install_sources#common_installation_problems を参照してください

いくつかの一般的な理由と解決策のために。ヘルプを求めるときは、このエラーメッセージの上にスタックトレース全体を含めてください。 [10816]スクリプトインターフェイスの実行に失敗しました

6
Aleksk89

パッケージングも行っていることを確認してくださいMSVCP140.DLL、%PATH%からこれが欠落していると、このエラーがスローされる可能性があります。

TensorFlowアプリケーションを配布するときは、pyinstallerの代わりにcx_Freezeを使用する傾向があります。 cx_Freezeがscipyで持つエラーを克服すると、全体的に簡単になります。

2
Joska

「.../dist/[MmyPyName] /tensorflow/python/_pywrap_tensorflow_internal.pyd」としてdirsを作成することでこの問題を修正しました

  • tensorflow-gpu = 1.10.0
  • python = 3.6.2
  • cuda = 9.0
  • cudnn = 7.3.0
1
Bill

多分 this 助けになるでしょう。ファイルの名前を手動で変更しました_pywrap_tensorflow_internal.pydからtensorflow.python._pywrap_tensorflow_internal.pyddistフォルダー内。すべてが機能します。

1
Y Song