Я использую тонкий пакет resnet_v2_152
для обучения модели классификации.Затем он экспортируется в файл .pb для предоставления услуги.Поскольку вход является изображением, он должен быть закодирован с использованием безопасной для Интернета кодировки base64.Это выглядит так:
serialized_tf_example = tf.placeholder(dtype=tf.string, name='tf_example')
decoded = tf.decode_base64(serialized_tf_example)
Затем я кодирую изображение с base64 таким образом:
img_path = '/Users/wuyanxue/Desktop/not_emoji1.jpeg'
img_b64 = base64.b64encode(open(img_path, 'rb').read())
s = str(img_b64, encoding='utf-8')
s = s.replace('+', '-').replace(r'/', '_')
Мои данные постов структурированы следующим образом: post_data = {
'signature_name': 'predict',
'instances':[ {
'inputs':
{ 'b64': s }
}]
}
Наконец, я отправляю HTTP-запрос на этот сервер:
res = requests.post('server_address', json=post_data)
Это дает мне:
'{ "error": "Failed to process element: 0 key: inputs of \\\'instances\\\' list. Error: Invalid argument: Unable to base64 decode" }'
Я хочу знать, как это может встретиться?И есть ли какие-то решения для этого?