A TIR Instance is a GPU or CPU machine set up for machine learning work. You pick an image with the framework you use, such as PyTorch, TensorFlow, Transformers, or vLLM, and a plan with the GPUs you need. Then you work in JupyterLab in your browser, or over SSH from your own terminal.
Use an instance to explore data in notebooks, train and fine-tune models, run a model behind a
small web app, or build and test your own environment before you share it with your team. Each
instance is a container in your TIR project, and its workspace at /home/jovyan keeps your
notebooks, data, and checkpoints through restarts, stops, and starts.
Where to find it
Section titled “Where to find it”In TIR, open your project. In the side menu, under Compute, select Containers (Instances). Your instances are listed in Manage Instances, and Create Instance starts a new one.
How it fits together
Section titled “How it fits together”Diagram as text
flowchart LR
A[Choose an image] --> C[Instance]
B[Choose a plan] --> C
C --> D[Open JupyterLab]
C --> E[Connect over SSH]
C --> F[Mount datasets and file systems]
C --> G[Save it as an image]
You choose an image and a plan, and TIR starts the instance from them. Once it is running, you open JupyterLab in your browser or connect over SSH. To bring in data that lives outside the instance, you mount datasets and file systems on it. When the instance has the packages you need, you can save it as an image and start new instances from it.
The image decides what the instance starts with:
| Image | What you get | Choose it when |
|---|---|---|
| Pre-built | An image maintained by E2E, with a machine learning framework and an app such as JupyterLab | You want to start working in your browser straight away |
| Base OS | An operating system with no app, which you reach over SSH | You want to install and set up everything yourself |
| Custom | Your own image from your project’s Container Registry, or a public image from a registry such as Docker Hub | You need a setup beyond what the pre-built images offer, or one environment for your whole team |
The plan sets the instance’s GPUs, vCPUs, and memory. An instance runs on a GPU plan, a CPU plan, or your own TIR private cluster.
What you can do
Section titled “What you can do”Create and connect
Section titled “Create and connect”- Create an instance from a pre-built or Base OS image, with each choice explained.
- Create an instance from your own image, from your Container Registry or a public registry.
- Connect to an instance over SSH from a terminal or VS Code.
- Open a port on an instance so an app you run can be reached from outside.
- Manage IP addresses on an instance: reserved IPs, the public IP, and a VPC IP.
- Run start scripts on an instance each time it starts.
Run and change an instance
Section titled “Run and change an instance”- Stop, start, and restart an instance.
- Change the plan of an instance to more or fewer GPUs, vCPUs, or memory.
- Update the image of an instance and keep the same instance.
- Increase the workspace size when
/home/jovyanfills up. - Convert an instance to a committed plan to pay for a fixed term upfront.
- Clone an instance to launch a copy of its settings.
- Delete an instance when you have finished with it.
Keep your environment
Section titled “Keep your environment”- Save an instance as an image to keep the packages you installed and launch new instances from them.
- Build container images with BuildKit from a Dockerfile, on the instance itself.
Work with data
Section titled “Work with data”- Mount datasets and file systems on an instance.
- Copy files to and from an
instance with
scp,sftp,rsync, or JupyterLab.
Monitor
Section titled “Monitor”- Monitor an instance: its usage charts, logs, events, and alerts.
Guides
Section titled “Guides”- Use TensorBoard on an instance and Use Gradio on an instance, the two add-ons.
- Access Google Drive from an instance.
- Fine-tune Llama 3 with LLaMA Factory.
- Run AlphaFold2 on an instance and Run ProteinMPNN on an instance for protein structure and design.
You can also create, start, stop, and delete instances through the API. See the instance operations in the TIR API.
Instance, TIR Virtual Machine, or MyAccount GPU node
Section titled “Instance, TIR Virtual Machine, or MyAccount GPU node”A TIR Instance is a container with pre-built machine learning images, JupyterLab, and the
TensorBoard and Gradio add-ons, ready for work as soon as it starts. Only /home/jovyan and mounted
storage keep data across restarts, and it runs without systemd or a Docker daemon.
A TIR Virtual Machine, under Compute > Virtual Machines, is a full Linux virtual machine with its own kernel and root access. Its disk keeps its files across restarts and stops. Choose it for work that changes the operating system itself.
A MyAccount GPU node is a virtual machine in MyAccount where you choose the operating system. For how the three compare, see the TIR Instance FAQ.
Where to start
Section titled “Where to start”Start with Get started with TIR Instances, which launches an instance and opens JupyterLab on it. Where your files live on an instance explains which folders keep your work. Billing options for TIR Instances explains On-Demand, committed, and Spot billing, and Pre-built images and their versions lists every pre-built image. For help with a problem, see Troubleshooting TIR Instances, and for short answers, the TIR Instance FAQ.