带有tensorflow gpu支持的编译python应用时出错

时间:2018-09-20 14:26:57

标签: python python-3.x tensorflow pyinstaller

我正在尝试编译一个使用keras和tensorflow-gpu的python应用程序。使用针对CPU的tensorflow版本,生成的.exe就像一个超级按钮一样工作。当我编译GPU版本时,它可以顺利编译而不会出错。当我尝试运行.exe时,它会显示以下输出:

  

使用TensorFlow后端。追溯(最近一次通话):文件   “ site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行,在      文件   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 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 ImportError:未命名模块   'tensorflow.python._pywrap_tensorflow_internal'

     

在处理上述异常期间,发生了另一个异常:

     

回溯(最近一次通话最后一次):文件“ predict_service.py”,行   21,在文件中   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ keras__init__.py”,第3行,在文件中   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ keras \ utils__init __。py”,文件中的第6行   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ keras \ utils \ conv_utils.py”,文件中的第9行   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ keras \ backend__init __。py”,文件中的第84行   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ keras \ backend \ tensorflow_backend.py”,文件中的第5行   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ site-packages \ tensorflow__init __。py”,文件中的第24行   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )在
中的文件“ site-packages \ tensorflow \ python__init __。py”,第49行   文件   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 dict )文件“ site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第74行,在    ImportError:追溯(最近一次通话):文件   “ site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行,在      文件   “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,   第631行,在exec_module中       exec(字节码,模块。 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 ImportError:未命名模块   'tensorflow.python._pywrap_tensorflow_internal'

     

无法加载本机TensorFlow运行时。

     

请参阅   https://www.tensorflow.org/install/install_sources#common_installation_problems

     

出于某些常见原因和解决方案。包括整个堆栈跟踪   寻求帮助时,此错误消息上方。

我正在使用以下.spec文件:

# -*- mode: python -*-

block_cipher = None

a = Analysis(['predict_service.py'],
             pathex=['C:\\Users\\jfontes\\Documents\\AGATHA',
                     'C:\\Users\\jfontes\\Documents\\AGATHA\\Accessories',
                     'C:\\Users\\jfontes\\Documents\\AGATHA\\Accessories\\Training Data',
                     'C:\\Users\\jfontes\\AppData\\Local\\Continuum\\Anaconda3\\envs\\agatha\\Lib\\site-packages\\scipy\\extra-dll'],
             binaries=[],
             datas=[('.\\Accessories\\config.json', '.\\')],
             hiddenimports=['h5py','h5py.defs','h5py.utils','h5py.h5ac','h5py._proxy',
                            'scipy._lib.messagestream', 'scipy', 'scipy.signal', 'scipy.signal.bsplines', 'scipy.special', 'scipy.special._ufuncs_cxx', 'scipy.linalg.cython_blas', 'scipy.linalg.cython_lapack', 'scipy.integrate', 'scipy.integrate.quadrature', 'scipy.integrate.odepack', 'scipy.integrate._odepack', 'scipy.integrate.quadpack', 'scipy.integrate._quadpack', 'scipy.integrate._ode', 'scipy.integrate.vode', 'scipy.integrate._dop', 'scipy._lib', 'scipy._build_utils','scipy.__config__', 'scipy.integrate.lsoda', 'scipy.cluster', 'scipy.constants','scipy.fftpack','scipy.interpolate','scipy.io','scipy.linalg','scipy.misc','scipy.ndimage','scipy.odr','scipy.optimize','scipy.setup','scipy.sparse','scipy.spatial','scipy.special','scipy.stats','scipy.version',
                            'sklearn.utils.sparsetools._graph_validation', 'sklearn.utils.sparsetools._graph_tools', 'scipy.special._ufuncs_cxx', 'sklearn.utils.lgamma', 'sklearn.utils.weight_vector', 'sklearn.neighbors.typedefs','sklearn.neighbors.quad_tree','sklearn.tree','sklearn.tree._utils',
                            'pandas','pandas._libs.tslibs','pandas._libs.tslibs.conversion','yaml','sklearn.ensemble','tensorflow','tensorflow-gpu'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='predict_service',
          debug=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True )

我试图在.spec文件中导入tensorflow和tensorflow-gpu模块,但没有结果。我在做错什么吗?

0 个答案:

没有答案