If you’re starting out in deep learning and would prefer a laptop over a desktop, basic research will lead you to a whole host of blogs, Q&A sites and opinions that basically amount to “don’t do it” and to get a desktop or remote into a server instead. However, if you want a laptop, whether this is for college, conferences or even because you have a job where you can work from anywhere, then there are plenty of options available to you. Here I’ll lay out what I chose and why, along with how it’s performing.
Why did I choose a laptop? I travel a lot on trains and planes, I go to a lot of conferences, spend a lot of time in non-work environments. While all of these places have wifi, it’s not the best and can cut out at the most inconvenient moments. It’s also a pain to have to wait for these connections to recover to continue what I’m doing, particularly at conferences where I’m grabbing the code being presented from GitHub, trying to run it and adjust it while the speaker is explaining it1. I like being able to open my laptop and just get going. I’m sure I’m not the only one who likes to work like this.
My work routine is to use my local development environment (laptop) to get my code running, do a small training, make sure the data is set up correctly, run all the tests and then when I’m happy that the only thing left to do is throw data at the network and leave it to train, then I upload to a remote server and start work on the next problem. There are limitations to this in terms of the amount of data and size of the network as laptop graphics cards have less on board memory, but I find this a much faster approach than trying to do everything directly on a server.
As an aside, if you’re working for a company rather than a university, getting into the habit of deploying your code to a server rather than directly editing code on a server will earn you much kudos with the rest of the developers2. This approach works even if you have a desktop or a remote server for development – get in the habit of deploying it elsewhere.
There’s also the need to accept that you’ll be paying a premium for convenience, and will be limited in what you can do. To learn deep learning approaches and build (relatively) simple models then a laptop is fine. You’re not going to create anything ground breaking on a laptop.
So, if you’re still aligned with my way of thinking and are wanting to get a laptop then read on!
The requirement for deep learning is the GPU. A good GPU can seriously ramp up the price of a laptop so if money is a limiting factor, then get yourself something cheap, a good wifi connection and remote into something better until you’ve saved up. A high GPU desktop will always give you more for your money than a laptop. But if you’re willing to pay for convenience then you’ve got several good choices3. When I drew up this shortlist, I discounted anything over 2.5kg – there’s no point having a laptop that isn’t portable – you may as well get a desktop more cheaply. I also discounted anything that didn’t have a CUDNN compatible GPU.
My laptop of choice for Deep Learning is the Dell XPS 15″. This comes with the NVIDIA 1050 card with 4G RAM on board, and an i7 CPU with 16 G RAM and a 512GB SSD. This is pricey at £1733.60 (£1478 plus VAT) but a really good machine.. It quite happily runs at full GPU for 7 hours (maximum I’ve tested so far) while allowing you to do other things and while the fan is very active, it only kicks out 60 Db, which is barely anything, and fine for both office and home. Naturally I run it with Ubuntu 16.04 and the standard python 3, anaconda and tensorflow set up. With Spyder you can happily sit and get distracted by confusion matrices for as long as you like. The 4G GPU memory is a bit of a limitation and you’ll get OOM issues if you try to run a model that’s too large. At 36 x 24 cm and approx. 2kg, it is portable, but you’ll want to have a decent backpack to carry it around. If you can meet the cost, this really is a fantastic piece of kit.
Coming in cheaper than the Dell at £1504.99 (£1254.16 plus VAT), the Novatech N1763 is another very good option. This has the NVIDIA 1060 with 6GB RAM and 256GB SSD, with very similar other technical specifications. It’s slightly heavier at 2.5kg and slightly bigger at 36 x 27cm. I’ve had Novatech laptops before and love the quality4. While I’ve not used this for deep learning, it’s got the right specs. The only reason I went for the Dell over this was size and weight5.
Dropping down the price range only a little and you get the Asus Strix, at £1299.98 this is at the bottom end of the feasible range, and even then only just. An i5 12GB 256 SSD with a 1060 GPU and 3GB RAM, you will feel the loss of that extra GB and this probably won’t have the longevity of the other two and you’ll almost certainly get frustrated with it pretty quickly. At 2.2kg and 27 x 39 cm it’s larger again than the Novatech and you may suffer a little with the build quality. If you can afford it, go for one of the other two.
There are plenty of other choices out there, but if you’re choosing a laptop over a desktop for portability then make sure it will last being carried around and isn’t too heavy. If you ‘ve got less than £1500 to spend and it has to be a laptop then either get yourself something that fills your other needs and remote into something with a chunky GPU, or try and find a decent second hand or refurbished laptop that meets your needs.
- This really helps you remember the talk and get your head around what they did and why. ↩
- Seriously, never code as root, learn how deployment works and never ever code on the server…. ↩
- At the time of writing, if you’re reading this even 6 months after posting then I’m sure that there are even more options out there. ↩
- I had one to play World of Warcraft for years and it stood up to 5 raids per week and all the grinding for mats and “the Insane” achievement 😉 ↩
- As an ex-Guide, I tend to carry a lot of stuff around with me “just-in-case” and my backpack is already fairly heavy so every extra weight saving is a bonus 😉 ↩