Die Schnelligkeit von Katzen
Du arbeitest an einem neuen Webservice, der Instagram-Feeds verarbeitet, um zu erkennen, welche Bilder Katzen enthalten (frag nicht nach dem Warum – es ist das Internet). Der Code zur Verarbeitung der Daten ist langsamer, als dir lieb ist, deshalb optimierst du ihn, damit er schneller läuft. Für ein Bild image hast du zwei Funktionen, die es verarbeiten können:
process_with_numpy(image)process_with_pytorch(image)
Deine Kollegin hat einen Context-Manager timer() geschrieben, der ausgibt, wie lange der Code im Kontextblock zum Ausführen braucht. Sie schlägt vor, ihn zu nutzen, um zu sehen, welche der beiden Optionen schneller ist. Miss die Laufzeit jeder Funktion, um zu entscheiden, welche du in deinem Webservice verwenden solltest.
Diese Übung ist Teil des Kurses
Funktionen in Python schreiben
Anleitung zur Übung
- Verwende den
timer()-Context-Manager, um zu messen, wie langeprocess_with_numpy(image)zum Ausführen braucht. - Verwende den
timer()-Context-Manager, um zu messen, wie langeprocess_with_pytorch(image)zum Ausführen braucht.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
image = get_image_from_instagram()
# Time how long process_with_numpy(image) takes to run
____ ____:
print('Numpy version')
process_with_numpy(image)
# Time how long process_with_pytorch(image) takes to run
____ ____:
print('Pytorch version')
process_with_pytorch(image)