Benchmarking TensorFlow on a personal computer not specialised for machine learning

Many recent advancement of modern technologies can be attributed to the rapid growth of the machine learning field and especially deep learning. A big challenge for deep learning is that the learning process can be very time-consuming. TensorFlow is a framework which allows developers to make use of...

Full description

Bibliographic Details
Main Authors: Gedin, Sebastian, Holm, Jakob
Format: Others
Language:English
Published: KTH, Skolan för elektroteknik och datavetenskap (EECS) 2018
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-229390
id ndltd-UPSALLA1-oai-DiVA.org-kth-229390
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-2293902018-08-30T06:04:18ZBenchmarking TensorFlow on a personal computer not specialised for machine learningengPrestandatestning av TensorFlow på en dator ej specialiserad för maskininlärningGedin, SebastianHolm, JakobKTH, Skolan för elektroteknik och datavetenskap (EECS)KTH, Skolan för elektroteknik och datavetenskap (EECS)2018Computer SciencesDatavetenskap (datalogi)Many recent advancement of modern technologies can be attributed to the rapid growth of the machine learning field and especially deep learning. A big challenge for deep learning is that the learning process can be very time-consuming. TensorFlow is a framework which allows developers to make use of GPUs and other processing units in order to tackle this and other tasks involved in machine learning. In this study we benchmark and investigate the performance of TensorFlow in terms of images per second on a personal computer not specialised for machine learning. We investigate how the performance when training different convolutional neural networks is affected by batch size and available GPU memory capacity. We also profile the execution. Our results suggest that increasing the memory capacity of the GPU can be beneficial both for being able to train network using larger batch sizes but also for improving performance in some situations. We also conclude that improving the GPU, rather than the CPU, has greater potential for improving performance, but to what extent differs significantly between network models. Furthermore, using a power of two for batch size appears to be advantageous for performance. Framsteg inom maskininlärning, och särskilt djupinlärning, har gett upphov till många tekniska framsteg under de senaste åren. Ett problem vid djupinlärning är dock att träningsfasen kan vara väldigt tidskrävande. TensorFlow är ett ramverk utvecklat för att lösa just detta problem, genom att göra det enkelt för utvecklare att nyttja grafikkort och andra slags processorer för att utföra beräkningar som används inom maskininlärning. I den här studien prestandatestar vi TensorFlow genom att hitta det maximala antalet bilder per sekund vid träning av olika faltningsnätverk på en dator ej byggd för maskininlärning. Vi undersöker hur prestandan påverkas av batchstorlek och mängden tillgängligt grafikminne. Utöver detta profilerar vi även exekveringen av prestandatesterna. Våra resultat pekar på att större mängd grafikminne både möjliggör större batchstorlek vid träning men även leder till högre prestanda i vissa situationer. Vi drar även slutsatsen att förbättringar av grafikkortet har större potential än av processorn för att öka prestanda, men till vilken grad varierar avsevärt mellan de olika faltningsnätverken. Vidare tycks det vara fördelaktigt prestandamässigt att använda en tvåpotens som batchstorlek. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-229390TRITA-EECS-EX ; 2018:250application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Computer Sciences
Datavetenskap (datalogi)
spellingShingle Computer Sciences
Datavetenskap (datalogi)
Gedin, Sebastian
Holm, Jakob
Benchmarking TensorFlow on a personal computer not specialised for machine learning
description Many recent advancement of modern technologies can be attributed to the rapid growth of the machine learning field and especially deep learning. A big challenge for deep learning is that the learning process can be very time-consuming. TensorFlow is a framework which allows developers to make use of GPUs and other processing units in order to tackle this and other tasks involved in machine learning. In this study we benchmark and investigate the performance of TensorFlow in terms of images per second on a personal computer not specialised for machine learning. We investigate how the performance when training different convolutional neural networks is affected by batch size and available GPU memory capacity. We also profile the execution. Our results suggest that increasing the memory capacity of the GPU can be beneficial both for being able to train network using larger batch sizes but also for improving performance in some situations. We also conclude that improving the GPU, rather than the CPU, has greater potential for improving performance, but to what extent differs significantly between network models. Furthermore, using a power of two for batch size appears to be advantageous for performance. === Framsteg inom maskininlärning, och särskilt djupinlärning, har gett upphov till många tekniska framsteg under de senaste åren. Ett problem vid djupinlärning är dock att träningsfasen kan vara väldigt tidskrävande. TensorFlow är ett ramverk utvecklat för att lösa just detta problem, genom att göra det enkelt för utvecklare att nyttja grafikkort och andra slags processorer för att utföra beräkningar som används inom maskininlärning. I den här studien prestandatestar vi TensorFlow genom att hitta det maximala antalet bilder per sekund vid träning av olika faltningsnätverk på en dator ej byggd för maskininlärning. Vi undersöker hur prestandan påverkas av batchstorlek och mängden tillgängligt grafikminne. Utöver detta profilerar vi även exekveringen av prestandatesterna. Våra resultat pekar på att större mängd grafikminne både möjliggör större batchstorlek vid träning men även leder till högre prestanda i vissa situationer. Vi drar även slutsatsen att förbättringar av grafikkortet har större potential än av processorn för att öka prestanda, men till vilken grad varierar avsevärt mellan de olika faltningsnätverken. Vidare tycks det vara fördelaktigt prestandamässigt att använda en tvåpotens som batchstorlek.
author Gedin, Sebastian
Holm, Jakob
author_facet Gedin, Sebastian
Holm, Jakob
author_sort Gedin, Sebastian
title Benchmarking TensorFlow on a personal computer not specialised for machine learning
title_short Benchmarking TensorFlow on a personal computer not specialised for machine learning
title_full Benchmarking TensorFlow on a personal computer not specialised for machine learning
title_fullStr Benchmarking TensorFlow on a personal computer not specialised for machine learning
title_full_unstemmed Benchmarking TensorFlow on a personal computer not specialised for machine learning
title_sort benchmarking tensorflow on a personal computer not specialised for machine learning
publisher KTH, Skolan för elektroteknik och datavetenskap (EECS)
publishDate 2018
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-229390
work_keys_str_mv AT gedinsebastian benchmarkingtensorflowonapersonalcomputernotspecialisedformachinelearning
AT holmjakob benchmarkingtensorflowonapersonalcomputernotspecialisedformachinelearning
AT gedinsebastian prestandatestningavtensorflowpaendatorejspecialiseradformaskininlarning
AT holmjakob prestandatestningavtensorflowpaendatorejspecialiseradformaskininlarning
_version_ 1718727263250284544