Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do I have to install packages needed each time when I start Google Colab?

I am using Google colab for one of my projects. I have a list of packages which I need to run the notebook perfectly. So, should I have to install all packages each time I start colab or only installing once I can use them forever?

like image 275
Urvish Avatar asked Sep 19 '18 06:09

Urvish


People also ask

Do I need to install anything to use Google Colab?

Colab is an online Jupyter Notebooks environment from Google. It does everything that a local notebook would do (and more) but it is in the cloud, so no software installation is necessary and it is available from any internet connected computer.

How long can I leave colab running?

Colab Pro and Pro+ limit sessions to 24 hours. Colab Pro does not provide background execution, while Pro+ does. Colab Pro and Pro+ do not offer a full version of JupyterLab. Colab Pro and Pro+ do not guarantee resources so your instance may not be available.

What are the disadvantages of Google Colab?

Limited Space & Time: The Google Colab platform stores files in Google Drive with a free space of 15GB; however, working on bigger datasets requires more space, making it difficult to execute. This, in turn, can hold most of the complex functions to execute.


3 Answers

You'll need to install it each time. From the FAQ:

Where is my code executed? What happens to my execution state if I close the browser window? Code is executed in a virtual machine dedicated to your account. Virtual machines are recycled when idle for a while, and have a maximum lifetime enforced by the system.

like image 77
Jacques Kvam Avatar answered Sep 18 '22 05:09

Jacques Kvam


EDIT: I incorrectly assumed you wanted to install R packages, but I'll leave this here in case it's useful to someone. I'm not familiar enough with Python to know whether a solution like this would be feasible.

The accepted answer is indeed correct, you will need to install your packages to the virtual machine every time you run it. However, you can use the lib and lib.loc arguments of install.packages and library to your advantage.

I've managed to circumvent this issue somewhat by creating a library of packages in my google drive.

I then connect to drive at the beginning of the notebook and load the packages from there. Here's how I did it.

  1. Load R into your Python NB
%reload_ext rpy2.ipython
  1. Connect your notebook to drive (only available in Python NBs).
from google.colab import drive
drive.mount('/content/mydrive')
  1. Install your packages into a folder in your drive.
%%R
lib_loc <- "/content/mydrive/r-lib"
install.packages("data.table", lib = lib_loc)
  1. Flush and unmount the drive, just to make sure it works!
drive.flush_and_unmount()
  1. Next time you run the notebook, you don't need to install the packages, you just need to do #1, and #2 and then load your packages from your new library.
%%R
lib_loc <- "/content/mydrive/r-lib"
library(data.table, lib.loc = lib_loc)

In case you're wondering, the %%R is a call to the R engine inside a Python notebook.

Hope this helps.

like image 35
MAIAkoVSky Avatar answered Sep 22 '22 05:09

MAIAkoVSky


If you connect to a local runtime then you can install once and use forever.

Here is how: https://research.google.com/colaboratory/local-runtimes.html

like image 38
Arash Avatar answered Sep 18 '22 05:09

Arash