# Paperspace Usage Information ## Preliminary You should have been provided with Paperspace credits - these will allow you to spawn paid instances with better GPUs than what colab or paperspace offer on their free-tier. Additionally, unless you enable auto-shutdown, these instances will stay awake permanently, and not abort half-way through training. ## Instance Setup Once you have signed up for Paperspace's gradient platform and applied your coupon: 1. Go to console.paperspace.com and create a under the "ICL Deep Learning 2023" team (selected at top left) 2. Create a notebook within that project. We recommend using the PyTorch 1.10 GPU runtime 3. Select a machine - you can use the free-tier CPU or GPU machines for most of the coursework questions, but when training your models we recommend using a paid P4000 instance. Choose your **auto-shutdown** period carefully, base on the network's training time, and whether you will need to go AFK 4. You can **directly connect the instance to your gitlab repository** by a. Going to Advanced Options and pasting your gitlab link into the workspace field (```https://gitlab.doc.ic.ac.uk/<course>/<your_repo>.git```) **the .git is needed** - the easiest way to get this link is to copy the HTTPS clone link from gitlab. b. Entering your doc username (e.g. **afs219** - not your email!) and password into the workspace username and password information **Note** it seems there is a bug for passwords containing special characters (% & etc.) - the password field on paperspace will not properly pass these to the gitlab login, and you will get "Access denied". The current fix is to change your gitlab password.) ## Using the Paperspace Gradient Environment Once your instance has spun-up, you will be greeted by a .ipynb similar to Google Colab. You can choose to work here, or press the Jupyter icon to the side (![](https://i.imgur.com/5d7mrEf.png)) to open JupyterLab. If you are going to work in the web, I would strongly recommend using JupyterLab over their notebook environment. However, the best development experience is provided by working with VSCode and connecting to the remote kernel. ## Connecting VSCode to Gradient In order to make this work you will need the Jupyter extension installed on VSCode. You should also ```git clone``` your repo onto whichever machine you'll be working from. Assuming you have opened the repository within VScode, and have the ```dl_cw_X.ipynb``` file open you can then follow the steps in https://docs.paperspace.com/gradient/notebooks/notebooks-remote-kernel/ <!-- 1. We will first need to retrieve the jupyter kernel url and token from Paperspace. Boot an instance as described above, and then create a dummy ```notebook.ipynb```. a. Open the JupyterLab environment on Paperspace, and take note of the url (e.g. ```https://ncu2a5zm3q.clg07azjl.paperspacegradient.com/lab```) b. Run the following snippet within a notebook, to retrieve the token ```python from notebook import notebookapp notebook_token = list(notebookapp.list_running_servers())[0]['token'] print(notebook_token) ``` this should return an alphanumerical string (e.g. ```310bdadb353de5d42de0c70c69ec0dd1```) 2. Combine these two to form the link with the token: ```<link without /lab>/?token=<token>``` e.g. ```https://ncu2a5zm3q.clg07azjl.paperspacegradient.com/?token=310bdadb353de5d42de0c70c69ec0dd1```) 3. Now press the Jupyter Server selection button at the bottom-right in VSCode ![](https://i.imgur.com/mXz6kKN.png) and paste in the url. After reloading your VSCode window, it should work. Remember that you can run terminal commands through ipython directly by using ```!the_command```. For example, you can check that you are on the remote machine by running ```!pwd``` within the notebook - you should find you are in ```/notebooks``` by default. -->