Проблема с преобразованием 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.
→ Ссылка