No custom image to build
pandas and scikit-learn are already installed, so there is no Dockerfile and no docker build.
Selfhost.dev runs a PyTorch Jupyter notebook as a one-click template: torch, torchvision and torchaudio preinstalled in JupyterLab, on a dedicated server we provision, secure and run. It runs on the CPU and keeps your saved models.
Open a notebook and run import torch. Nothing to download first.
Jupyter + PyTorch is JupyterLab with torch, torchvision and torchaudio added to numpy, pandas and scikit-learn. It runs PyTorch notebooks on the CPU, on a server of your own.
People following a PyTorch course, researchers sketching a model and developers testing an idea in a notebook that stays up.
When Jupyter keeps answering No module named torch and you would rather skip the environment work.
PyTorch's own steps for Jupyter are pip install torch torchvision torchaudio or a conda line with cpuonly, then ipykernel so Jupyter sees that environment. Skip one and the import fails with No module named torch. Here all three packages live in the kernel you open.
Your browser
HTTPS
JupyterLab
Python
torch + vision + audio
Home folder
Your password
| PyTorch in Jupyter by hand | PyTorch Jupyter notebook on Selfhost.dev |
|---|---|
| pip install torch torchvision torchaudio | All three installed |
| Pick the CPU wheel with --index-url | The CPU-only image, chosen for you |
| python -m ipykernel install --user | The kernel you open has torch |
| Change kernel, then restart it | import torch works in cell 1 |
PyTorch Docker guides pull pytorch/pytorch, add a -v mount so work survives, then write a custom Dockerfile to add pandas and scikit-learn. This template is that container finished: JupyterLab on HTTPS, behind your password, with both libraries in place.
pandas and scikit-learn are already installed, so there is no Dockerfile and no docker build.
Your home folder keeps notebooks and saved models across restarts without a -v mount.
JupyterLab answers on its own HTTPS address, not on a port you map by hand.
The console starts this template on an 8 GB server, on x86 or ARM. Project servers have no GPU, so PyTorch runs on the CPU, which suits coursework, small models and inference with saved ones. A domain is optional.
Launch, sign in, import torch.
Launch opens Jupyter + PyTorch. Set a password of at least 12 characters and accept the no-mining terms. Before a first top-up, a platform admin approves it. The template deploys in about twenty minutes.
Visit the HTTPS address the console gives you and type your password into the Password or token box; no username is needed.
Start a Python notebook and run import torch. torchvision, torchaudio, pandas and scikit-learn are ready beside it.
A PyTorch Jupyter notebook here is one server billed hourly from prepaid credits; torch, torchvision and torchaudio add nothing. On a European 8 GB server that is $0.03/hr, close to $23 a month.
| Item | Cost |
|---|---|
| The Jupyter + PyTorch template | $0 |
| Bandwidth to your notebooks | $0, included in the server price |
| Optional daily backups | +20% of the server price |
| Datasets and models you store | $0, on the server's own disk |
| Server | RAM, cores, disk | Where | Rate | About a month |
|---|---|---|---|---|
cx33 (recommended) | 8 GB, 4 cores, 80 GB | Europe | $0.03/hr | $23.36 |
cax21 (ARM) | 8 GB, 4 cores, 80 GB | Europe | $0.04/hr | $29.20 |
cx43 (room to grow) | 16 GB, 8 cores, 160 GB | Europe | $0.06/hr | $43.22 |
ccx13 | 8 GB, 2 cores, 80 GB | US | $0.16/hr | $119.28 |
cpx32 | 8 GB, 4 cores, 160 GB | Singapore | $0.19/hr | $135.63 |
Monthly figures assume 730 hours. The US and Singapore servers need a first top-up.
With a card on file or a past top-up, Jupyter + PyTorch runs for 5 more days after your balance reaches zero, then stops. Top up within 24 hours to restart it; after that it is deleted, with a 14-day copy you can restore. Welcome-credit-only servers are deleted at zero.
Price a 16 GB server for larger image datasets in the calculator, no signup.
torchvision brings datasets, model architectures and transforms for images. torchaudio brings transforms for sound. Both sit in the same kernel as torch, ready to import.
Load a dataset with torchvision.datasets and shape it with torchvision.transforms in one notebook.
Turn waveforms into spectrograms with torchaudio.transforms before they reach a model.
Use scikit-learn for a baseline and pandas for the tables around your tensors.
The console estimates about twenty minutes for the Jupyter + PyTorch template after the server is ready; first-time server provisioning adds time.
Nothing here in your way? The template deploys in about twenty minutes.
Launch Jupyter + PyTorchTell us how many notebooks run together and the size of your datasets. We reply with the server we would pick and its monthly cost.
On this template you do not need to. torch, torchvision and torchaudio are already installed in the Python kernel, so import torch works in the first cell. Elsewhere you install them with pip or conda into the kernel's environment, then register that environment with ipykernel.
No. Project servers have no GPU, so the template uses the CPU-only image and every model runs on the processor. That suits coursework, small networks and predictions from saved models. torch.cuda.is_available() returns False here; pick a bigger server for larger data.
torch, torchvision and torchaudio, plus numpy, pandas and scikit-learn from the scientific Python stack. Add anything else from a notebook with pip install --user. Those packages land in your home folder, so they are still there after the server restarts.
Yes. Save a model or its state_dict into your home folder with torch.save and it is still there after the server restarts, along with your notebooks. Keep another copy of any model that took hours to train, in a repository or a download.
It is the same JupyterLab with torch, torchvision and torchaudio added to the scientific Python stack, so the image is larger and the console allows about twenty minutes. JupyterLab hosting is the lighter template without them; Jupyter TensorFlow is the sibling for Keras.
A platform admin approves each new Jupyter + PyTorch on an organisation that has never topped up. The name is reserved while it waits; you hear the decision by email. A top-up removes the wait for new ones. Crypto mining is banned on every server. Deleting the service withdraws the request.
Selfhost.dev is a managed self hosting platform for developers and small teams. Open source apps and databases on dedicated servers you control, billed by the hour, in six locations across three continents.
Best for: PyTorch notebooks next to the data and apps they serve, a vector database for embeddings and managed PostgreSQL, MySQL and Redis.