python - AttributeError:“模块”对象没有属性“占位符”,我该如何解决这个问题?
问题描述
当我运行代码时,会出现该错误消息。
我正在使用 python 2.7.5、keras 2.2.4 和 tensorflow 2.0.0-beta1。有人告诉我“不要制作文件名 tensorflow”,但我没有那样做。我认为升级后的 tensorflow 版本中的更改项目可能会发生这种情况, https: //www.tensorflow.org/beta/guide/effective_tf2 ,但较低版本也无法运行,错误为“ValueError:bad marshal数据”。所有进程都在虚拟环境中运行。
错误信息是
Using TensorFlow backend.
WARNING: Logging before flag parsing goes to stderr.
W0619 16:47:38.715425 139651914356544 deprecation.py:323] From /home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/tensorflow/python/compat/v2_compat.py:65: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.
Instructions for updating:
non-resource variables are not supported in the long term
Traceback (most recent call last):
File "./gpd_predict.py", line 165, in <module>
model = model_from_json(loaded_model_json, custom_objects={'tf':tf})
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/engine/saving.py", line 622, in model_from_json
return deserialize(config, custom_objects=custom_objects)
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/layers/__init__.py", line 168, in deserialize
printable_module_name='layer')
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 147, in deserialize_keras_object
list(custom_objects.items())))
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/engine/network.py", line 1043, in from_config
process_layer(layer_data)
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/engine/network.py", line 1029, in process_layer
custom_objects=custom_objects)
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/layers/__init__.py", line 168, in deserialize
printable_module_name='layer')
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 149, in deserialize_keras_object
return cls.from_config(config['config'])
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/engine/base_layer.py", line 1103, in from_config
return cls(**config)
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/engine/input_layer.py", line 87, in __init__
name=self.name)
File "/home/sea/Programs/generalized-phase-detection/generalized-phase-detection-master/venv/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py", line 529, in placeholder
x = tf.placeholder(dtype, shape=shape, name=name)
AttributeError: 'module' object has no attribute 'placeholder'
我不知道这是否是一个问题行,但这行只是我在错误消息中的代码。(最后一行)
# load json and create model
json_file = open('model_pol.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
model = model_from_json(loaded_model_json, custom_objects={'tf':tf})
如何在没有错误代码的情况下运行程序?
解决方案
当前的 Keras 与 TensorFlow 2.0 不兼容(尚未发布稳定版,只是作为 beta 版),所以暂时不要尝试将官方的 keras 与 tf 2.0 一起使用(使用像 1.13 这样的稳定 tensorflow),或者改用tf.keras
tensorflow 2.0 .
推荐阅读
- html - html 表中的列周围的边框,某些行具有 collspan
- java - 我总共有 3 个测试用例,父类中有 2 个测试用例,子类中有 1 个测试用例,当我从头等舱运行脚本测试用例运行两次时
- angular - Angular 如何在 git 库的请求更改中提取更改?
- php - 模型 [App\Product] 没有查询结果 36
- javascript - 如何通过编写少量代码在 React 中创建大量变量
- spring-boot - 使用 Springboot @Conditional 动态加载数据类型
- reactjs - 在 GatsbyJS React 站点上输出未转义的 JSON+LD
- mesh - 如何使用 CGAL 为水平集表面的一部分生成网格?
- r - 创建包含从另一列派生的特定字符串表达式的列
- laravel - Illuminate\Contracts\Filesystem\FileNotFoundException 在 Laravel 5.6 中使用存储门面