cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Getting error while executing ML Procedure

shivamshukla12
Contributor
0 Kudos
535

Hello Experts ,

I am facing the below error while calling EML procedure which will be further execute on tensoflow server ,

Could not execute 'CALL "SCORE_DIGITS" ("PARAMS", "V_DATA", ?)' in 73 ms 842 µs . SAP DBTech JDBC: [423]: AFL error: search table error: _SYS_AFL.EML:PREDICT: [423] (range 3) AFL error exception: No remote source matching model

i followed the blog on Integration of HANA with tensorflow by Philip -

https://blogs.sap.com/2017/08/29/introducing-sap-hana-external-machine-learning-aka-tensorflow-integ...

https://blogs.sap.com/2017/09/20/sap-hana-external-machine-learning-take-2/

Thanks,

Shivam

Accepted Solutions (1)

Accepted Solutions (1)

shivamshukla12
Contributor
0 Kudos

Hi ,

I got this new error instead of the posted error -

Could not execute 'CALL "SCORE_DIGITS" ("PARAMS", "V_DATA", ?)' in 5.587 seconds . SAP DBTech JDBC: [423]: AFL error: search table error: _SYS_AFL.EML:PREDICT: [423] (range 3) AFL error exception: Number of output table columns(2) does not match number of reply columns (20)

Any suggestion please !

Thanks,

Shivam

AbdelhalimDadouche
Active Contributor
0 Kudos

Hi @shivam shukla,

Can you post the saved_model_cli output for your TF model?

The message mean that it expects an output table with 20 columns and not just 2.

You have to look at the shape of the output elements in your TensorFlow model.

@bdel

shivamshukla12
Contributor
0 Kudos

Hi Abdel ,

Here is the signature output -

i followed this video tutorial - https://www.youtube.com/watch?v=GHwLzSwecsA&list=PLkzo92owKnVwrZto5m1pl3JNajP94wHju∈dex=4

Thanks,

Shivam

shivamshukla12
Contributor
0 Kudos

Hi Abdel ,

Thanks i got it , Now i understood the signature part after reading tensorflow docs.


Thanks,

Shivam

AbdelhalimDadouche
Active Contributor

Hi,

Cool that you found your way in.

A few comments that may help others:

  • The default signature used will be the "serving_default" one, which expects an output table with 20 columns, 10 VARCHAR and 10 FLOAT.
  • You can also call the "predict_images" if you want. To do so, you will need to configure your model with the following name "mnist%predict_images". Then the input will be a table with 784 FLOAT fields and the output a table with 10 FLOAT fields.
  • One thing you need to be careful with the "serving_default" one is that it expects a tf.Example format for the input that you can't generate from EML for now. So you should definitely use "mnist%predict_images" when defining your model in EML.


Can you mark the question as answered?

Regards


@bdel


shivamshukla12
Contributor
0 Kudos

Hi Abdel,

Thanks a lot for your great response on this as it is really going to help me & everyone else in next learning steps .

Thanks,

Shivam

Answers (0)