Acumos: Docker контейнер не может найти файлы - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь протестировать модель, которую я установил на платформу Acumos (с клиентом python). Запуск образа в Docker завершается с ошибкой:

Файл "h5py / h5f.pyx", строка 85, в h5py.h5f.open. OSError: Невозможно открыть файл (невозможно открыть файл: name = 'data / keras / ticketsModel / model.hdf5', errno = 2, сообщение об ошибке = 'Нет такого файла или каталога', flags = 0, o_flags = 0)

Мой код выглядит так:

from acumos.session import AcumosSession
from acumos.modeling import Model, List, create_dataframe
from tensorflow.python.keras.models import load_model

# This version tells me : unable to open file: name = 'data/keras/ticketsModel/model.hdf5'
#def classify_ticket(inText: str) -> str:
#    current_model = load_model('data/keras/ticketsModel/model.hdf5')
#    return current_model.predict(inText)

# This version tells me : NotImplementedError: numpy() is only available when eager execution is enabled.
current_model = load_model('data/keras/ticketsModel/model.hdf5')
def classify_ticket(inText: str) -> str:
    return current_model.predict(inText)

model = Model(classify=classify_ticket)
session = AcumosSession()
session.dump(model,'ticket_classification','acumos_out')

Любая помощь очень ценится!

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Можете ли вы заглянуть внутрь zip-файла, сгенерированного при выгрузке модели, и сообщить мне все имеющиеся файлы и их размер?

0 голосов
/ 21 марта 2019

Библиотека acumos в настоящее время сериализует модели от имени пользователей, чтобы она могла переносить объекты портативным способом, сводя к минимуму усилия разработчика. Однако в будущем может быть добавлена ​​возможность предоставления настраиваемой логики сериализации.

Решение вашей проблемы должно состоять в том, чтобы загрузить вашу модель выше определения функции, например ::100100

current_model = load_model('data/keras/ticketsModel/model.hdf5')

def classify_ticket(inText: str) -> str:
    return current_model.predict(inText)
...