Проблема с преобразованием h5 в pb
Имею проблему с преобразованием модели h5 в tensorflow pb.
Пробовал использовать freeze_session, но постоянно сталкиваюсь с ошибками.
Вот участок кода:
model = tfk.models.load_model('model.h5')
frozen_graph = freeze_session(K.get_session(),
output_names=[out.op.name for out in model.outputs])
tf.python.train.write_graph(frozen_graph, "C:\+ " + "Users" + "\Me\someAI", "my_model.pb", as_text=False)
Получаю такую ошибку:
Traceback (most recent call last):
File "C:/Users/Me/someAI/script.py", line 26, in <module>
frozen_graph = freeze_session(K.get_session(),
File "C:\Users\Me\someAI\venv\lib\site-packages\keras\backend\tensorflow_backend.py", line 171, in get_session
default_session = tf.get_default_session()
AttributeError: module 'tensorflow' has no attribute 'get_default_session'
Process finished with exit code 1
Как я могу ее исправить?
PS Сейчас имею tensorflow 1.14.0, keras 2.2.0
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Попробуйте воспользоваться tf.compat.v1.get_default_session():
In [34]: tf.compat.v1.get_default_session?
Signature: tf.compat.v1.get_default_session()
Docstring:
Returns the default session for the current thread.
The returned `Session` will be the innermost session on which a
`Session` or `Session.as_default()` context has been entered.
NOTE: The default session is a property of the current thread. If you
create a new thread, and wish to use the default session in that
thread, you must explicitly add a `with sess.as_default():` in that
thread's function.
Returns:
The default `Session` being used in the current thread.