Скорость обработки изображений
Вы работаете над новым веб-сервисом, который анализирует ленты Instagram и определяет, есть ли на фотографиях кошки (не спрашивайте зачем — это интернет). Код обработки данных работает медленнее, чем хотелось бы, поэтому вы занимаетесь его оптимизацией. Для обработки изображения image у вас есть две функции:
process_with_numpy(image)process_with_pytorch(image)
Ваш коллега написал контекстный менеджер timer(), который выводит время выполнения кода внутри контекстного блока. Он предлагает воспользоваться им, чтобы выяснить, какой из двух вариантов работает быстрее. Замерьте время выполнения каждой функции и решите, какую из них использовать в вашем веб-сервисе.
Это упражнение является частью курса
Написание функций на Python
Инструкции к упражнению
- С помощью контекстного менеджера
timer()замерьте время выполнения функцииprocess_with_numpy(image). - С помощью контекстного менеджера
timer()замерьте время выполнения функцииprocess_with_pytorch(image).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)