Msc Semester Projects

3 minute read

Published:

The semester project requires few tools that should be mostly familiar to you through your previous project in computing and machine learning (ML). Most of the tutorials below are introductory; they will probably not cover everything you need, but they should provide fundamental tools for your project.

  • Git tutorial: Git is a core part of the code you will write. Git enables easy tracking of changes and is a powerful ally for avoiding unwanted changes. The recommended plan is to have a private repository that will be updated on a weekly basis.
    • If you haven’t heard of git, there are incredible tutorials on the internet. Please follow this basic tutorial. Please do not skim through it, but rather complete it. You can choose any repository you like for the parts that require a link from a repo. Even better, you can create a private repo that you will use for the project and complete the tutorials based on this private repo.
    • After you complete the tutorial please create a private github repository; if you did that in the previous step, that’s awesome.
  • Tmux tutorial: Tmux is a very useful tool that you can use in a remote server (if you are connected to one). The idea is that this tmux session in the remote server will remain open even after you close your ssh connection.
    • Please go ahead and study the following tutorial. If you have a Windows machine, it might not be convenient to install it, so you can skip the installation.
    • Also, if you want to do more splitting of windows or use fancy formatting options, you can find details here. This is optional, since even basic tmux can do the job.
  • Debugging python scripts: Mistakes are (almost) unavoidable when writing (python) code, hence one of the crucial components is how to learn to resolve them quickly.
    • Even though there is not a unique way to debug, there are a couple of recommended practices that can be useful for faster debugging. This is an absolutely essential tutorial. The command ‘pdb.set_trace()’ can be used when issues with your code are faced.
    • Complementary ways to debug can be found, for instance using the logging/printing and the assert as this tutorial stresses out.
    • In the beginning you might also simply google your error, it is highly likely that for simple errors the first answer of google will provide a fix. However, the goal is to rely increasingly on your skills and pdb to find and fix the errors fast.
  • LaTex tutorial: LaTex is a tool required for the report and the outcomes of this project.
    • If you have not used LaTex before, I recommend spending some time getting accustomed to it. Even if you have written in Latex before, please do check out these tutorials.
    • There are few cloud-based LaTeX editors; I recommend Overleaf; when you complete the tutorials below, you can open a new project on Overleaf and try the commands they share yourself.
    • A basic tutorial for LaTex is this. Please complete it by copying their commands in a new project in overleaf.
    • A complimentary tutorial that includes more commands is this.
  • PyTorch tutorial: PyTorch is a machine learning framework that you most probably need for the project.
    • If you have not used PyTorch before, please go ahead and complete the following basic tutorial.
    • If you have used PyTorch before for building your own model, I recommend checking the visualization tools at your disposal in PyTorch, e.g. through Tensorboard or TensorWatch. Most of those visualizations can be achieved outside of Tensorboard/TensorWatch, but those provide an easy interface to inspect the model during training.
    • A basic (but useful) cheatsheet for your project is this.
    If you face any issues completing those tutorials, please reach out. We can discuss them in the regular meeting hours.