My solutions for Higher School of Economics Advanced Machine Learning Specialization NLP course assignments and a project. The project was implementing a StackOverflow Assistant Bot accessible through Telegram.
https://www.coursera.org/learn/language-processing
Google has released its own flavour of Jupyter called Colab, which has free GPUs!
Here's how you can use it:
- Open https://colab.research.google.com, click Sign in in the upper right corner, use your Google credentials to sign in.
- Click GITHUB tab, paste https://github.com/hse-aml/natural-language-processing and press Enter
- Choose the notebook you want to open, e.g. week1/week1-MultilabelClassification.ipynb
- Click File -> Save a copy in Drive... to save your progress in Google Drive
- If you need a GPU, click Runtime -> Change runtime type and select GPU in Hardware accelerator box
- Execute the following code in the first cell that downloads dependencies (change for your week number):
! wget https://raw.githubusercontent.com/hse-aml/natural-language-processing/master/setup_google_colab.py -O setup_google_colab.py
import setup_google_colab
# please, uncomment the week you're working on
# setup_google_colab.setup_week1()
# setup_google_colab.setup_week2()
# setup_google_colab.setup_week3()
# setup_google_colab.setup_week4()
# setup_google_colab.setup_project()
# setup_google_colab.setup_honor()
- If you run many notebooks on Colab, they can continue to eat up memory,
you can kill them with
! pkill -9 python3
and check with! nvidia-smi
that GPU memory is freed.
Known issues:
- No support for
ipywidgets
, so we cannot use fancytqdm
progress bars. For now, we use a simplified version of a progress bar suitable for Colab. - Blinking animation with
IPython.display.clear_output()
. It's usable, but still looking for a workaround.