La velocità dei gatti
Stai lavorando a un nuovo servizio web che elabora i feed di Instagram per identificare quali foto contengono gatti (non chiedere perché — è internet). Il codice che elabora i dati è più lento di quanto vorresti, quindi stai cercando di ottimizzarlo per farlo girare più veloce. Data un'immagine, image, hai due funzioni che possono elaborarla:
process_with_numpy(image)process_with_pytorch(image)
La tua collega ha scritto un context manager, timer(), che stampa quanto tempo impiega a essere eseguito il codice all'interno del blocco di contesto. Ti suggerisce di usarlo per vedere quale delle due opzioni è più veloce. Misura il tempo di ciascuna funzione per decidere quale usare nel tuo servizio web.
Questo esercizio fa parte del corso
Scrivere funzioni in Python
Istruzioni dell'esercizio
- Usa il context manager
timer()per misurare quanto impiegaprocess_with_numpy(image)a essere eseguita. - Usa il context manager
timer()per misurare quanto impiegaprocess_with_pytorch(image)a essere eseguita.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)