LoslegenKostenlos loslegen

Die Geschwindigkeit von Katzen

Du arbeitest an einem neuen Webservice, der Instagram-Feeds verarbeitet, um herauszufinden, auf welchen Bildern Katzen zu sehen sind (frag nicht warum - das ist das Internet). Der Code, der die Daten verarbeitet, ist langsamer als du es gerne hättest, also arbeitest du daran, ihn zu optimieren, damit er schneller läuft. Wenn du ein Bild image hast, gibt es zwei Funktionen, die es verarbeiten können:

  • process_with_numpy(image)
  • process_with_pytorch(image)

Dein Kollege hat einen Context-Manager geschrieben, timer(), der ausgibt, wie lange der Code innerhalb des Context-Blocks zur Ausführung benötigt. Sie schlägt vor, dass du es benutzt, um zu sehen, welche der beiden Optionen schneller ist. Nimm jede Funktion unter die Lupe, um festzustellen, welche du in deinem Webservice verwenden willst.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Verwende den timer() Kontextmanager, um zu sehen, wie lange process_with_numpy(image) für die Ausführung braucht.
  • Verwende den timer() Kontextmanager, um zu sehen, wie lange process_with_pytorch(image) für die Ausführung 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)
Code bearbeiten und ausführen