Usando gcloud ml servindo para imagens grandes

Eu tenho uma rede treinada em tensorflow que desejo usar no gcloud ml-engine, servindo para previsão.

Prever que a porção gcloud ml deve aceitar imagens do tipo numpy array float32 com tamanho de 320x240x3 e retornar 2 matrizes minúsculas como saída.

Alguém sabe como devo criar as camadas de entrada que aceitariam esse tipo de tipo de entrada?

Eu tentei várias maneiras, por exemplo, usando arquivos json codificados em base64, mas converter a string no tipo float produz um erro no qual não é suportado:

"error": "Prediction failed: Exception during model execution: LocalError(code=StatusCode.UNIMPLEMENTED, details=\"Cast string to float is not supported\n\t [[Node: ToFloat = Cast[DstT=DT_FLOAT, SrcT=DT_STRING, _output_shapes=[[-1,320,240,3]], _device=\"/job:localhost/replica:0/task:0/cpu:0\"](ParseExample/ParseExample)]]\")"

Este é um exemplo de criação do arquivo json (após salvar a matriz numpy acima como jpeg):

python -c 'import base64, sys, json; img = base64.b64encode(open(sys.argv[1], "rb").read()); print json.dumps({"images": {"b64": img}})' example_img.jpg &> request.json

E os comandos tensorflow que tentam manipular a entrada:

raw_str_input = tf.placeholder(tf.string, name='source')
feature_configs = {
                'image': tf.FixedLenFeature(
                    shape=[], dtype=tf.string),
            }
tf_example = tf.parse_example(raw_str_input, feature_configs)
input = tf.identity(tf.to_float(tf_example['image/encoded']), name='input')

o acima é um exemplo de um dos testes realizados, também tentou várias tentativas de diferentes comandos tensorflow para manipular a entrada, mas nenhum deles funcionou ...

questionAnswers(2)

yourAnswerToTheQuestion