• Wayne Cheng

Building a New Computer for Artificial Neural Networks, Deep Learning, and Machine Learning Projects

Updated: Feb 6

My New Computer!

Are you interested in building a new computer to run artificial neural network, deep learning, and machine learning projects?

I recently built a new computer that does just that, and the following describes my process.

Step 1 : Research

I’ve been running my neural network projects on the Keras and Tensorflow platforms. Tensorflow natively supports Nvidia GPUs (through cuDNN), so building a system with an Nvidia video card will ensure the easiest setup and the most community support.

But which Nvidia video card should I purchase? According to Tim Dettmers, the most cost-efficient card is the RTX 2070. He also recommends purchasing video cards with large memories, so that large neural network models can be supported. The computer should be able to support multiple video cards, in case I need more processing power or memory in the future.

Step 2 : Order Parts

I’ve never built a computer before, so I wasn’t sure how to order parts that are compatible with each other. Fortunately, there are numerous websites out there that automatically check the compatibility between parts, and make the ordering process easy. I’ve found that PC Part Picker makes the process intuitive and easy.

In fact, PC Part Picker is able to save my choices. The following explains my choices :

  • CPU : Intel Core i9-9900K 3.6 GHz 8-Core Processor

I chose the Core i9 to future proof the system. Intel CPUs tend to run cooler than AMD CPUs, even though they are more expensive. Maintaining a low temperature is important for a computer that supports multiple video cards.

  • CPU Cooler : CRYORIG H7 49 CFM

Quieter and cooler than the more popular Cooler Master Hyper 212 EVO.

  • Motherboard : Gigabyte Z390 AORUS ULTRA ATX LGA1151

This motherboard has 3 M.2 slots, compared to the 2 on other boards. These slots are needed in case I need to install more SSD hard drives in the future.

  • Memory : Corsair Vengeance LPX 32 GB (2 x 16 GB) DDR4-3200

I got at least 32GB of RAM to future proof the system.

  • Storage : Intel 660p Series 2.048 TB M.2-2280 NVME Solid State Drive

Artificial neural networks require large datasets, and a faster hard drive will allow me to quickly parse and load the data. A SSD hard drive with an M.2 interface is currently the fastest solution. Getting a drive with at least 2TB is important, since my large datasets and neural network models are in the order of GBs.

  • Video Card : Gigabyte GeForce RTX 2080 8 GB GAMING OC

This is the most important part of the system. Instead of the RTX 2070 recommended by Tim Dettmers, I chose the RTX 2080 to future proof the system.

Two memory sizes are available : 8GB and 11GB (Ti edition). However the 11GB cards are 50% more expensive than the 8GB cards. I decided to purchase the 8GB card, because if I need more memory or computing resources, then I can purchase additional video cards in the future.

I chose the Gigabyte manufacturer because the video card contains 3 fans, compared to the 2 fans on the competitors. Plus, it’s made by the same company as the motherboard that I chose.

  • Case : Corsair Air 540 ATX Mid Tower

The case should be able to support multiple video cards, and this case seems to be the best solution despite its large footprint. The case isolates the CPU and video card away from the power supply, ensuring maximum airflow. It also has a lot of room, so it gives me the flexibility to add another video card or a better cooling system in the future.

  • Power Supply : EVGA SuperNOVA G3 750 W 80+ Gold Certified Fully Modular ATX

This is a modular power supply that can support a maxed out CPU (95W) and two maxed out video cards (2 x 215W).

For now, I only purchased one video card because I’m not sure if I need a second video card yet. When deciding whether to purchase a second video card, I will have to evaluate the cost compared to the cloud computing options provided by Google, Amazon, or Microsoft.

PC Part Picker provides the merchant link for each component. I purchased my parts from Amazon, B&H Photo, and Newegg, which are all highly reputable merchants with great customer service.

Step 3 : Build the Computer

After receiving the parts, I can now assemble the components together into a computer. Before starting, I browsed through this guide for an overview of the steps involved. The following is the order of steps :

  1. Prepare the work area and screwdrivers needed

  2. Install CPU into the motherboard

  3. Attach CPU cooler to the motherboard (make sure there is clearance for the memory)

  4. Install memory into the motherboard

  5. Install SSD storage into the motherboard

  6. Install the motherboard into the case

  7. Install the video card into the motherboard

  8. Install the power supply into the case and connect power cables to the motherboard and video card

  9. Connect all other cables to the motherboard such as the CPU cooler fan, case fans, and front panel cables

I started with the manual that came with the motherboard, and referred to each component’s manual when installing that part.

Here are some tips that I learned during the building process :

  • Read each step twice before proceeding. If needed, refer to tutorials on YouTube if the instructions are unclear. Correct installation saves more time than trying to fix a problem caused by incorrect installation.

  • Make sure that the memory and GPU are secured firmly into the motherboard. This is a common point of failure for new computer builds.

  • If there is a problem, before Google searching the problem, go back through each step of the manual to see if a mistake was made. In most cases, a failure is caused by a step that was not followed correctly.

Step 4 : Power Up Computer and Install Operating System

Once I was able to power up the computer and access the BIOS, it’s time to install the operating system. The easiest way to do this is to use an USB flash drive loaded with an image of the operating system.

The operating system that provides the most community support for the development of artificial neural networks is Linux. The most user-friendly Linux based operating system is Ubuntu. Because of Ubuntu's similarity to Windows and MacOS, the transition to Ubuntu is fairly straightforward for people who are unfamiliar with Linux.

I am a MacOS user, so I used this tutorial to install Ubuntu into my new computer. For Windows users, refer to this tutorial.

Step 5 : Enable Remote Access to the Computer

I decided to set up my computer to be accessed remotely. There are two benefits from this setup :

  • I can access my new computer from a different computer and location. This allows me to work on my projects using my iMac or Macbook, and gives me the flexibility to work anywhere I wish.

  • The computer resources for my new computer will be isolated to the development and experimentation of my artificial neural network projects.

Since most of my development takes place on Jupyter Notebook, I'll need to access the computer with a graphical interface. Ubuntu provides their list of recommended remote access methods. I've found that the free version of NoMachine works well for me. Compared with other remote access methods, NoMachine provides the easiest setup, most flexibility in terms of display options, and greatest support.

Although I can run Jupyter Notebook on the default Firefox browser, I find that Google Chrome runs smoother. To avoid issues, install Google Chrome only after setting up remote access.

I have my computer set up in a headless configuration (without a monitor), which requires a HDMI dummy plug to be plugged into the video card. If the computer does not detect a connected monitor, it will not load the programs needed to support a graphical interface. The dummy plug tricks the computer into detecting a connected monitor.

Thank you for reading. I hope you find this guide helpful if you are building or planning to build a new computer for your artificial neural network projects.

Questions or comments? You can reach me at info@audoir.com

Wayne Cheng is an A.I., machine learning, and deep learning developer at Audoir, LLC. His research involves the use of artificial neural networks to create music. Prior to starting Audoir, LLC, he worked as an engineer in various Silicon Valley startups. He has an M.S.E.E. degree from UC Davis, and a Music Technology degree from Foothill College.

Copyright © 2020 Audoir, LLC

All rights reserved