More Related Content Similar to BYOM - Bring Your Own Model (20) More from Lars Gregori (20) BYOM - Bring Your Own Model2. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !2
BYOM - Bring Your Own Model
Data Model Hosting
?
3. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !3
Save and load a model (classical)
TensorFlow Serving local
TensorFlow Serving with Docker
Cloud (BYOM)
TensorFlow Extended (TFX)
Agenda
4. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !4
XOR
input_a input_b output
0 0 0
0 1 1
1 0 1
1 1 0
5. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !5
XOR Model
https://github.com/choas/byom_with_tf
6. INTERNAL© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !6
“[A] SavedModel [is] a universal,
language-neutral, hermetic,
recoverable serialization of a
TensorFlow model”
SavedModel
https://www.tensorflow.org/tfx/guide#model_vs_savedmodel
8. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !8
“A flexible, high-performance
serving system for machine
learning models”
TensorFlow Serving
https://www.tensorflow.org/tfx/guide/serving
9. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !9
“TFServe is a framework
designed to serve
TensorFlow models
in a simple and easy way
as an HTTP API server.”
TFServe (Python)
https://pypi.org/project/tfserve/
11. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !11
“One of the easiest ways
to get started using
TensorFlow Serving
is with Docker.”
TensorFlow Serving with Docker
https://www.tensorflow.org/tfx/serving/docker
13. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !13
BYOM - Bring Your Own Model
http://sappress.de/4795
14. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !14
BYOM - Deploy Modell
15. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !15
BYOM - Deploy Modell
16. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !16
BYOM - Deploy Modell
19. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !19
20. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !20
BYOM Application
Fiori App SCP Python App
Model
token/
Same-origin policy gRPC
caCrt
21. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !21
applications:
- name: xor
memory: 1024M
buildpack: python_buildpack
command: python app.py
env:
MODEL_NAME: xor
MODEL_VERSION: 3
DEPLOYMENT_URL: https://mlfproduction-deployment-api.cfapps.eu10.hana.ondemand.com
services:
- ml
BYOM - manifest.yaml (Cloud Foundry)
22. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !22
grpcio==1.12.1
tensorflow==1.8.0
tensorflow-serving-api==1.8.0
requests
flask
BYOM - requirements.txt
23. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !23
deployment_url = DEPLOYMENT_URL + "/api/v2/modelServers"
token = globals.request.headers.get("Authorization")
headers = {
'Authorization': token,
'Cache-Control': "no-cache"
}
query = {"modelName": MODEL_NAME, "modelVersion": MODEL_VERSION}
response = requests.request("GET", deployment_url,
headers=headers, params=query)
model_info = json.loads(response.text)
BYOM - app.py
24. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !24
model_info = model_info["modelServers"][0]
endpoint = model_info["endpoints"][0]
credentials = implementations.ssl_channel_credentials(
root_certificates=str(endpoint["caCrt"]))
channel = implementations.secure_channel(
str(endpoint["host"]),
int(endpoint["port"]),
credentials)
BYOM - app.py
25. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !25
request = predict_pb2.PredictRequest()
request.model_spec.name = MODEL_NAME
request.model_spec.signature_name = 'serving_default'
tfutil = tf.contrib.util
t_proto = tfutil.make_tensor_proto(data, shape=[1, len(data)],
dtype="float")
request.inputs["dense_1_input:0"].CopyFrom(t_proto)
predict = stub.Predict(request)
res = predict.outputs['dense_2/Sigmoid:0'].float_val[0]
return str(res)
BYOM - app.py
27. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !27
“TensorFlow Extended (TFX) is
an end-to-end platform
for deploying
production ML pipelines.”
TensorFlow Extended (TFX)
https://www.tensorflow.org/tfx
28. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !28
TensorFlow Extended
https://www.tensorflow.org/tfx/guide#tfx_pipeline_components
29. © 2019 SAP SE or an SAP affiliate company. All rights reserved. !29
TensorFlow Extended (TFX)
https://www.youtube.com/watch?v=A5wiwT1qFjc
30. © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ !30
TensorFlow Serving
BYOM
BYOM Application
TensorFlow Extended (TFX)
Summary
32. www.sap.com/germany/contactsap
© 2019 SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer,
ohne die ausdrückliche schriftliche Genehmigung durch SAP SE oder ein SAP-Konzernunternehmen nicht gestattet.
In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die von SAP SE oder deren
Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten. Produkte
können länderspezifische Unterschiede aufweisen.
Die vorliegenden Unterlagen werden von der SAP SE oder einem SAP-Konzernunternehmen bereitgestellt und dienen ausschließlich
zu Informationszwecken. Die SAP SE oder ihre Konzernunternehmen übernehmen keinerlei Haftung oder Gewährleistung für Fehler
oder Unvollständigkeiten in dieser Publikation. Die SAP SE oder ein SAP-Konzernunternehmen steht lediglich für Produkte und
Dienstleistungen nach der Maßgabe ein, die in der Vereinbarung über die jeweiligen Produkte und Dienstleistungen ausdrücklich
geregelt ist. Keine der hierin enthaltenen Informationen ist als zusätzliche Garantie zu interpretieren.
Insbesondere sind die SAP SE oder ihre Konzernunternehmen in keiner Weise verpflichtet, in dieser Publikation oder einer
zugehörigen Präsentation dargestellte Geschäftsabläufe zu verfolgen oder hierin wiedergegebene Funktionen zu entwickeln oder zu
veröffentlichen. Diese Publikation oder eine zugehörige Präsentation, die Strategie und etwaige künftige Entwicklungen, Produkte und/
oder Plattformen der SAP SE oder ihrer Konzernunternehmen können von der SAP SE oder ihren Konzernunternehmen jederzeit und
ohne Angabe von Gründen unangekündigt geändert werden. Die in dieser Publikation enthaltenen Informationen stellen keine Zusage,
kein Versprechen und keine rechtliche Verpflichtung zur Lieferung von Material, Code oder Funktionen dar. Sämtliche
vorausschauenden Aussagen unterliegen unterschiedlichen Risiken und Unsicherheiten, durch die die tatsächlichen Ergebnisse von
den Erwartungen abweichen können. Dem Leser wird empfohlen, diesen vorausschauenden Aussagen kein übertriebenes Vertrauen
zu schenken und sich bei Kaufentscheidungen nicht auf sie zu stützen.
SAP und andere in diesem Dokument erwähnte Produkte und Dienstleistungen von SAP sowie die dazugehörigen Logos sind Marken
oder eingetragene Marken der SAP SE (oder von einem SAP-Konzernunternehmen) in Deutschland und verschiedenen anderen
Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.
Zusätzliche Informationen zur Marke und Vermerke finden Sie auf der Seite www.sap.com/corporate/de/legal/copyright.html.
SAP folgen auf