Skip to content
Cloudj

GPU use cases

Jupyter notebook GPU for students: a low-cost cloud setup

A Jupyter notebook GPU setup for students on a small budget: pick a small RTX card, use per-minute billing well, and save your notebooks before you destroy.

Updated · 4 min read

A Jupyter notebook GPU is what most machine learning courses quietly assume you have. Free notebook services are a fine start, but sessions end without warning, GPUs are not always assigned, and large datasets are awkward. Renting a small GPU by the minute is a practical next step for students: you get a whole card for as long as you need it, and you pay only while it runs. This article shows a low-cost setup on Cloudj, which cards make sense for coursework, and the habits that keep a student budget under control.

For the mechanics of the PyTorch and JupyterLab template itself, see the PyTorch JupyterLab template guide.

Which card for coursework

Most course projects, from image classifiers to small transformers and fine-tuning small language models, fit in modest memory. Consumer cards are open to new accounts and are the natural choice:

CardVRAMGood for
RTX 306012 GBCNNs, classic deep learning labs, small transformers, Stable Diffusion at modest settings
RTX 3060 Ti8 GBFaster than a 3060 on small models, but less memory; fine for labs with small batches
RTX 4060 Ti16 GBA bit more room for small LLM experiments, LoRA on small models, larger batches

If a lab runs out of memory, reduce batch size or use mixed precision before renting a bigger card. Compare live prices on GPU cloud; the console sorts results by total price, lowest first.

Choose a nearby country

Notebooks are interactive, so a nearby host feels smoother. For students in Southeast Asia, start with SG, HK. You can add VN, but machines in Vietnam are not guaranteed to be listed; Singapore and Hong Kong are the usual choices. Each row shows its country, reliability, max duration and prices. Stock changes during the day; if nothing fits, add JP or TW, or try another small card.

The RTX 3060 for Vietnamese students guide and the cheapest GPU near Vietnam guide go deeper on finding a low live price nearby.

Setting up the notebook

  1. Open the deploy page with the RTX 3060 and enter SG, HK in the Country field.
  2. Choose the PyTorch + JupyterLab template.
  3. Pick a disk size that fits your datasets and outputs. It cannot be resized later.
  4. Select your SSH key. GPU instances use keys only, no passwords.
  5. Deploy, then open JupyterLab from the instance page when the console offers it. A session lasts 12 hours, after which you open it again.

If you prefer to work through SSH, start JupyterLab yourself on the instance and tunnel its port from your laptop:

jupyter lab --no-browser --ip 127.0.0.1 --port 8888
ssh -L 8888:localhost:8888 -p <port> root@<host>

Run the first line on the instance, inside tmux, and the second on your laptop. Then open http://localhost:8888 in your browser and paste the token that JupyterLab prints. In the first cell, confirm the GPU:

import torch
print(torch.cuda.is_available(), torch.cuda.get_device_name(0))

Per-minute billing: the student habits

GPU instances are billed per minute from a prepaid balance while they run. That rewards a few habits:

  • Prepare offline. Write and debug your code on a laptop or a free notebook first. Rent the GPU for the part that needs it.
  • Batch your work. One focused two-hour session is cheaper than four scattered ones, because each session spends time on setup and data downloads.
  • Watch for idle time. A GPU waiting while you read lecture notes still costs money. If you will be away for a while, end the session.
  • Keep data close. Large uploads are slow and bandwidth is charged per GB. Use smaller subsets while developing.

Save your notebooks before you destroy

This is the habit that matters most. Destroy deletes the instance and its disk permanently. If your notebooks only exist on the instance, they are gone.

Before you end a session:

  1. In JupyterLab, download important notebooks, or better, commit them to Git from a terminal in the instance.
  2. Copy outputs and trained weights to your laptop with rsync or scp over SSH. JupyterLab traffic passes through Cloudj, so use SSH for large files.
  3. Then destroy.
rsync -avP -e "ssh -p <port>" root@<host>:/workspace/project/ ./project-backup/

Stop is the alternative: it keeps the disk and charges storage only, but it releases the GPU, so starting again may wait until a GPU is free. For coursework, saving and destroying is usually simpler. The stop vs destroy guide explains both.

What this setup is not

There is no graphical desktop and no Windows on GPU instances; everything runs in the browser-based JupyterLab or over SSH. Machines are independent hosts with no hardware SLA, so keep copies of your work. And remember the course rules: if an assignment must be done on university hardware, follow that.

The JupyterLab documentation covers extensions and keyboard shortcuts if you are new to the interface.

FAQ

Is a 12 GB RTX 3060 enough for a deep learning course?

For most labs and projects, yes. Reduce batch size or use mixed precision if memory runs short.

How long can a JupyterLab session last?

A session opened from the console lasts 12 hours; then you open it again. The instance keeps running until you stop or destroy it.

What happens to my notebooks if I destroy the instance?

They are deleted with the disk. Download them or push to Git first.

Can I pay by bank transfer?

Cloudj uses a prepaid USD balance, and Vietnamese customers can top up by bank transfer in VND.

Try it

Open the deploy page with the RTX 3060, choose the PyTorch + JupyterLab template and SG, HK. Work in focused sessions, save your notebooks before you destroy, and your budget will stretch a long way.

Deploy a server or order proxies

Pick a location in the console, see the live price, and pay from your balance.