Best Computer Setup for Deep Learning + Computer Vision

Would appreciate if you could let us know:

(i) What computer set up is optimal for running Deep Learning and Computer Vision project for color images?

(ii) What is the best GPU to use for home computer to run Deep Learning and Computer Vision project, how much memory is optimal.

Thank you

It depends on what you mean by “optimal” and “best”, and the size of the tasks you are going to work on.

I don’t think we can give a definite answer. and would prefer not to, since the costs could be substantial and we do not want to be responsible for recommending specific products.

TMosh,

Thank you for getting back.

What about for running the Programming Assignments we have in this Deep Learning Specialization on our own computer with our own resources (GPU, CPU), what would be the requirements?

Thank you.

Cindy

1 Like

Hi, Cindy.

Sorry, I have not actually tried running the assignment notebooks locally, so I’m not sure what the hardware requirements are. Essentially any modern CPU, including those in any but the cheapest laptops, will have a vector unit. My suggestion would be to just try running things locally and see how the performance compares to what you get when running on the website. Maybe your existing hardware is sufficient, but of course it’s also a matter of how much patience you have. :grin: Note that for most of the assignments here, they specifically set them up with very small training sets by “real world” standards, to minimize the backend costs they are getting charged by AWS for running the courses. Meaning that they probably don’t require lots of memory, but that could be an issue if you want to experiment with larger datasets.

Another possibility to consider is using online compute environments. There are lots of them like AWS, Google Colab and others. The only one I have experience with is Google Colab. They use Jupyter Notebooks as their UI, so it’s pretty easy to port the assignments over there and run them. You can experiment with it for free. Even in free mode, you get access to their GPU support, although you may have to wait in a queue when things are busy. If you want to guarantee GPU access or run training for long periods of time continuously (many hours), then you may end up having to pay some fees, but I don’t have any experience with that.

1 Like

Hello paulinpaloalto,

Thank you for the great feedback.

Will research and try some of your suggestions.

Ideally, I would like to do a Computer Vision project with medical images. Not sure how large the data sets would be, to do a real-life project, it could be large.

Regards,

Cindy

That sounds like a great project! One way to get sense for the size of datasets would be to look around on Kaggle or any of the other websites that have ML challenges. E.g. see if there are any past Kaggle challenges in the area of analyzing medical images and have a look at the test datasets that they used for the competition. It’s also possible that there are standard medical image datasets out there from NIH or the like. I don’t have any personal experience in that space, but see what you can turn up with a bit of googling.

You always learn a lot when you start applying what we’ve learned in the courses to new problems. Best of luck and let us know what you learn about platforms from your experiments!

Cheers,
Paul

Paul,

Thank you for all the great tips.

What areas of ML are your specialty and interests?

Regards,

Cindy

Hi, Cindy.

My activity is purely taking online courses and being a mentor here on the forums. Someday I hope to have the time and focus to pursue some actual DL projects like the one you are describing.

Keep in touch and let us know how it goes!

Regards,
Paul

Medical images are typically very large and require substantial available RAM. MRI is particularly challenging due to the 3-D slicing. For sure expect to have to learn how to dynamically load training data sets and batches from storage, as you will never be able to load an entire dataset at one go. There is an MRI-based exercise in the AI for Medicine specialization that might be worth looking into.

You can find medical images in many places on the web. Here is one location, the US National Institutes of Health ; NIH Clinical Center releases dataset of 32,000 CT images | National Institutes of Health (NIH)
The archive is 228GB

This one is chest x-rays:

Hello ai_curious,

Yes, the whole file is large!!

I downloaded a couple of Chest-X-ray images.

You are very familiar with medical datasets.

Would appreciate it if you could elaborate on 3-D slicing of MRI images. I am particularly interested in “brain” related images.

What is the best way to dynamically load training data sets and batches from storage?

Thank you.

Cindy

1 Like

Take a look at the lectures here for overview of MRI image processing. The week’s programming exercise does just that.

Baseline info about loading large data sets in TensorFlow is here: tf.data: בניית צינורות קלט של TensorFlow  |  TensorFlow Core

Detailed discussions of both questions are beyond the scope of what can be succinctly expressed here.

BTW, MRI scans are frequently stored in DICOM format. Both python and TensorFlow have modules that can read them…

https://pydicom.github.io/pydicom/stable/old/pydicom_user_guide.html

Hope this helps

ai_curious,

Thank you so much for the valuable information. Will study them.

Have you done the AI for Medicine Specialization? If so, what is your experience?

What are your interests in AI?

Regards,

Cindy

I completed the first two courses in May 2020, before the entire Specialization was complete. I never took the courses added after that. The level of teaching in the lectures and videos was substantially lower than what you get from Prof Ng in DLS or MLS courses. Also, at that time, deeplearning.ai was experimenting with using Slack for discussion forums and it was a hot mess. Finally, there was no one like @paulinpaloalto or @TMosh helping learners bridge the knowledge gap. That said, I learned some new techniques and tools, particularly some Python statistical inference packages I had never worked with before. I also had to level my sysadmin game to build a virtual environment to run the exercises locally since they used many different packages than DLS. Getting them all to play nice on my Mac laptop was a bit of an adventure.

If you haven’t noticed already, many of the data sets used in these courses are quite small and can be loaded at one go. This is not a general solution, especially with medical images, even though availability of annotated MRI training images is one of the impediments to wider use of ML. Several of the available data sets are in the hundreds, whereas datasets for general purpose image classification run into the millions. Still, it’s unlikely that whatever platform you end up on you’ll be able to load hundreds of MRI images at once. You will need a data pipeline sooner than later.

I have been interested in automated decision support for a long time. I attended the very first Knowledge Discovery and Data Mining conference in 1995 and spent much of my time working on applying analytics of various types to business decision making, mostly in the clinical space. I worked for IBM when Watson won Jeopardy! on TV and spent the next couple of years traveling to potential customers explaining how the Watson question answering pipeline was architected and how it could be applied to their business challenges. Before I retired I was in a group that worked on building and deploying NLP solutions in clinical and pharmaceutical domains. I was formerly an official mentor for deeplearning, but these days I’m just a curmudgeon, poking around in the fora on occasion to keep my brain from further atrophy. Cheers

ai_curious,

Thank you so much for the information.

You are a pioneer in the AI/ML space! You have lots of experience in the AI/ML field. In 1995, one had to build the NN from the ground up, in C or C++? Python is a much easier language to learn, and most of the AI/ML algorithms are already developed and we just need to call them (from Tensor Flow, PyTorch, Sci-Kit Learn etc.)

Would like to learn more from you about the ML pipeline. Since this discussion is more for course-related questions. How can I best contact you to further this discussion?

Thank you.

Cindy

C and LISP at the beginning of my career as C++ wasn’t widely used yet. My early decision support projects used rules and engineered features, not nets. In the 90’s I didn’t know anyone who did. But yes, we built everything from scratch…no toolkits or libraries.

For Deep Learning GPU (like NVIDIA RTX or A100), RAM (at least 64GB), a multi-core CPU, and fast SSD storage. This setup accelerates training, optimizes model processing, and ensures efficient handling of large datasets and complex neural networks.

Here are some workstation suggestions you must check out Deep Learning on ProX PC website

@parveenkr okay, perhaps if you are ‘infinitely wealthy’ you can get an A100. More modestly I was thinking of an RTX 3090 in the coming months. For models generated today, I think that hits the sweet spot between speed/cost/memory.

Also know, in the end, unless you are looking to run just an ‘out of the box’ something, you can always ‘page’ your memory, sink it to local or your drive-- But then you really need to know CUDA.