首页 > 解决方案 > 无法成功导入tensorflowjs

问题描述

我有 tensorflow 1.5,并且在 tensorflow 上一切正常。现在我想将我的 tensorflow keras 模型转换为在 Web 应用程序中使用,所以我成功安装了 tensorflowjs,但是当我导入时出现错误。

我尝试更改以下版本:
numpy 从 1.16.4 到 1.15.1,
tensorflow 1.5.0 到 1.8.0 和 1.12.0,
tensorflowjs 1.1.2 到 1.0.0

张量流测试:

import tensorflow as tf

print(tf.__version__)
hello = tf.constant("Hello Tensorflow")
with tf.Session() as sesh:
    print(sesh.run(hello))

输出:

1.12.0
2019-06-11 12:02:11.140827: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
b'Hello Tensorflow'

所以我想 tensorflow 一切都很好,但由于我的 tensorflow 安装中缺少一些文件,我仍然无法导入 tensorflowjs。

我首先得到了这个错误:

Traceback (most recent call last):
  File "C:/Users/Uxama/PycharmProjects/untitled1/test.py", line 2, in <module>
    import tensorflowjs as tfjs
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflowjs\__init__.py", line 21, in <module>
    from tensorflowjs import converters
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflowjs\converters\__init__.py", line 24, in <module>
    from tensorflowjs.converters.tf_saved_model_conversion_v2 import convert_tf_saved_model
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflowjs\converters\tf_saved_model_conversion_v2.py", line 29, in <module>
    from tensorflow.python.framework import convert_to_constants
ImportError: cannot import name 'convert_to_constants'

然后我手动放置了文件(convert_to_constants),因为更改版本似乎不起作用并更改任何内容。

然后我得到了这个错误:

Traceback (most recent call last):
  File "C:/Users/Uxama/PycharmProjects/untitled1/test.py", line 2, in <module>
    import tensorflowjs as tfjs
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflowjs\__init__.py", line 21, in <module>
    from tensorflowjs import converters
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflowjs\converters\__init__.py", line 24, in <module>
    from tensorflowjs.converters.tf_saved_model_conversion_v2 import convert_tf_saved_model
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflowjs\converters\tf_saved_model_conversion_v2.py", line 29, in <module>
    from tensorflow.python.framework import convert_to_constants
  File "C:\Users\Uxama\PycharmProjects\untitled1\venv\lib\site-packages\tensorflow\python\framework\convert_to_constants.py", line 26, in <module>
    from tensorflow.python.eager import wrap_function
ImportError: cannot import name 'wrap_function'

我再次做了同样的事情并放置了文件,但错误似乎不断出现。

我不知道究竟是什么导致了我用 pip 安装 tensorflow 并尝试用轮子安装它。我只想成功安装 tensorflowjs,以便我可以将我的 keras 模型转换为在 Web 应用程序中使用。

标签: pythontensorflowpython-3.6tensorflowjs

解决方案


Tensorflow 1.12 没有定义一个名为wrap_function(). 考虑升级到API r1.13. API r1.12是您当前正在使用的 中定义的函数,wrap_function()是 中定义的方法API r1.13


推荐阅读