Загрузить файл модели h5 keras в R - PullRequest
3 голосов
/ 13 марта 2019

Я создаю пакет R для двоичной классификации и использую opencpu для его размещения.В настоящее время я сохранил файл h5 как файл .RData (сериализованный), который затем загружается в среду с помощью функции .onLoad() в R. Это позволяет сценарию R использовать переменную среды для загрузки модели keras с использованием * 1003.*.

Я пытался напрямую использовать keras::load_model_hdf5() в коде, но после сборки и развертывания на opencpu, когда я пытаюсь запустить API прогнозирования, я получаю ошибку

ioerror: unable to open file (unable to open file: name = '/home/modelfile_26feb.h5', errno = 13, error message = 'permission denied', flags = 0, o_flags = 0)

Я изменил разрешение для файла (777) и даже групп, но все еще получаю сообщение об ошибке.

Я даже попытался поместить файл в папку inst/extdata, чтобы он попал в пакетно все та же ошибка.

Может кто-нибудь помочь в этом, или предложить какой-то альтернативный вариант загрузки модели h5 напрямую?

1 Ответ

1 голос
/ 13 марта 2019

В какой ОС работает OpenCPU? Почему он пытается написать в /home/, это очень необычно? Лучшее решение - адаптировать ваш код для записи в getwd() или tempdir(). Еще лучше сохранить данные в локальной базе данных или на сервере Redis и позволить R читать их оттуда, поэтому вам вообще не нужен доступ к диску.

Если вы работаете на Ubuntu Server, чтение с /home/ не разрешено по умолчанию. Если вы хотите разрешить это, вам нужно добавить правила apparmor, см. Раздел 3.5 руководства по серверу *1008*.

Некоторые актуальные темы из списка рассылки opencpu:

...