De snelheid van katten
Je werkt aan een nieuwe webservice die Instagram-feeds verwerkt om te bepalen welke foto's katten bevatten (vraag niet waarom — dit is het internet). De code die de data verwerkt is trager dan je zou willen, dus je probeert hem te tunen zodat hij sneller draait. Gegeven een afbeelding, image, heb je twee functies die deze kunnen verwerken:
process_with_numpy(image)process_with_pytorch(image)
Je collega heeft een contextmanager, timer(), geschreven die uitprint hoe lang de code binnen het contextblok erover doet. Ze stelt voor om die te gebruiken om te zien welke van de twee opties sneller is. Meet de tijd van elke functie om te bepalen welke je in je webservice moet gebruiken.
Deze oefening maakt deel uit van de cursus
Functies schrijven in Python
Oefeninstructies
- Gebruik de contextmanager
timer()om te meten hoe langprocess_with_numpy(image)erover doet. - Gebruik de contextmanager
timer()om te meten hoe langprocess_with_pytorch(image)erover doet.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)