Клиент обслуживания Tensorflow / проблема с Base64 / ошибка 3

Я бы хотел запустить на Tensorflow Serving следующую модель:

https://github.com/mdietrichstein/tensorflow-open_nsfw

Я экспортировал модель, используя этот код: https://github.com/mdietrichstein/tensorflow-open_nsfw/blob/master/tools/export_model.py

Но при попытке вычислить результат с помощью клиента node.js я получаю следующую ошибку:

{ code: 3, 
  details: 'Invalid character found in base64.\n\t 
  [[Node: map/while/DecodeBase64 = DecodeBase64[_output_shapes=[[]],
  _device="/job:localhost/replica:0/task:0/cpu:0"](map/while/TensorArrayReadV3)]]',
  metadata: Metadata {
   _ internal_repr: {}
  }
}

Код для моего клиента, настроенного с адресом тестового сервера, можно найти здесь:

https://github.com/delta9/tensorflow-serving-node-client

Сталкивался ли кто-нибудь с подобными проблемами, и если да, то как вы их решили?

Большое спасибо


person kdev    schedule 19.06.2017    source источник


Ответы (1)


Вы должны использовать безопасное веб-кодирование base64. base64.urlsafe_b64encode(open('test.jpg', 'rb').read()) Поскольку tensorflow.decode_base64 использует модель WEB-SAFE для декодирования кодировки base64. Официальный документ для tensorflow.decode_base64:

Декодировать строки в кодировке base64, безопасные для Интернета. В конце ввода может быть заполнение, а может и не быть. Смотрите EncodeBase64 для заполнения. Веб-безопасность означает, что вводимые данные должны использовать - и _ вместо + и /.

person JavaFresher    schedule 29.11.2018