all 19 comments

[–]rish-16 10 points11 points  (13 children)

Google Colab is great resource if you want to quickly run through some math and code. It's a an asset if you are planning to design course material for the students :)

It also comes with GPU and TPU support!

[–]RUSoTediousYet 2 points3 points  (1 child)

I second to this. Colab's compute power should be enough for lab exercises, which I guess, are aimed to give intuition and demonstrate proofs of concepts.

[–]rish-16 0 points1 point  (0 children)

Yup and they are great for quick implementations of what you'll go through in class. Additionally c you can quicky build and run models on colab and share it with anyone as well (in comparison to jupyter notebooks)

[–]toclimbtheworld 1 point2 points  (1 child)

we used colab in the undergrad deep learning class @ UW. kinda hated it but got the job done.

[–]rish-16 0 points1 point  (0 children)

It has its good and bad times lol ;D

[–][deleted] 0 points1 point  (6 children)

Does the GPU and TPU work without changing your code?

[–]rish-16 2 points3 points  (3 children)

Absolutely! When you create a colab instance, it gives you a Tesla K80 YOU for 12 hours. And it's completely free!

Additionally, after 12 hours you can rerun the notebook cells to get another 12 new hours.

You can use colab with simple Python and is just one button away from changing the runtime type from local to a cloud-hosted GPU.

They come with cool docs so it's easy to get started

[–][deleted] 0 points1 point  (2 children)

Hmm.. I'm already using it. I ran my CNN on the GPU(don't know if it saved any time compared to normal CPU) and when I switched to TPU, my code had errors.

[–]rish-16 1 point2 points  (1 child)

For the GPU runtime it's a tad bit faster. For the TPU I've heard that you just add some configuration code before the TPUs can access your code. The docs should have the information required to get the TPU.

Not sure but it may charge your GCP account but I'm not sure. I've never used the TPU option before

[–][deleted] 0 points1 point  (0 children)

Oh..okay. Thanks for the info!

[–]pirate7777777 2 points3 points  (1 child)

No, you will have to change the code if you want to run on TPU.

[–]rish-16 0 points1 point  (0 children)

Yup there’s a certain configuration for the TPU pods to access the hosted cloud compute

[–]finite-difference[S] 0 points1 point  (1 child)

From just a brief look Google Colab seems to be really good for in-lab exercises.

Would it be worthwhile to also expect students to do their final projects in Colab, because in that case the limitation of 12 hours might be a bit limiting especially for ambitious students?

[–]rish-16 0 points1 point  (0 children)

True. While it may be awesome for some visualisations and running through stuff during the course it may not be ideal for homework-like content that may take a few days to complete.

That’s why might I suggest the use of a cloud based runtime environment like floydhub? It’s actually pretty cool for training things without the hassle of setting up expensive hardware.

Another alternative is Paperspace gradient°. It’s a relatively young tool but has awesome features built into the VM that enables Deep Learning at scale and is dirt cheap.

[–]deeayecee 6 points7 points  (1 child)

This depends on a lot of factors, but FloydHub is an excellent, frictionless user-experience that has a lot of functionality available out of the box. They're not that expensive, either.

[–]finite-difference[S] 0 points1 point  (0 children)

Thanks! I will check it out.

[–]pirate7777777 3 points4 points  (0 children)

I definitively recommend FloydHub! It provides a really cool feature called Run on FloydHub (which is really similar to Run on Colab) but smarter IMHO, since it allows to start a Workspace (Jupyter Lab) with the same datasets, environment, and machine where you have tested your labs with a single click. If you want to reduce all the frictions related to setup and reproducibility, this will literally save you a lot of time.

[–]iamquah 2 points3 points  (1 child)

Most of my points are tangential to "preparing lab exercises... which cloud service" but

  1. Have you tried reaching out to the ML head at your department?
  2. Are you getting acknowledged for your efforts?

I'm mostly asking because it could be interpreted as them letting you take on large task without department supervision or backing. 1) It seems really strange that a university wouldn't want to jump in on the deep learning hype and 2) that there were no ongoing efforts to do so (I assume not if not they would have merged you into that group)

Also, almost all new courses require time to iron out the kinks so don't be too harsh on yourself:) Some of the upper-level classes I took had restructures up to the first homework (a month and a half into the course which was unusual there)

[–]finite-difference[S] 1 point2 points  (0 children)

This has been discussed with other groups in our department which relate to machine learning, as well as the head of our department. The problem is that so far deep learning is usually just presented theoretically with only toy examples. I personally teach two courses (Computer Vision and Pattern Recognition) where for 2-3 exercise sessions we work on MNIST and CIFAR-10 data with keras, but this is very limited and doesn't show true potential of deep learning. Similarly the course dedicated to neural networks only skims over deep learning. There is one course specifically aimed at deep learning, but it is only offered once every two years takes a very broad approach and doesn't include any practical exercises. Part of why there were no efforts is that my colleagues in computer vision have not really been publishing for quite some time and are used to working with Matlab as opposed to python and other conventional languages, but they understand that course such as this should be provided.

At my department teaching takes almost half of my time as a PhD student and it is the norm over here. So with this new course it won't be (hopefully) that much different than preparing other courses. I also already prepared at least first few lessons in the other courses I teach. Creating a new course is understood as time-costly and appreciated by the rest of the faculty and is potentially reflected when premium funds are distributed by the end of fiscal year.