Python Development

Jupyter Notebooks

  • We have prepared a lot of code and animations to make it easier for you to complete the tasks and understand the material. The codes are prepared in JupyterNotebook .ipynb files, which are part of all assignments.
  • There is no need to use notebooks to pass the semester. However, we recommend their use, as they contain codes for generating graphs and loading data. The .ipynb files contents can be non-interactively viewed in the template repo gitlab if you don't want to install
  • For running notebooks, we recommend using JupyterNotebook or JupyterLab, or you can use it in your favourite IDE if it supports *.ipynb files (such as PyCharm). The basic installation is done by running $ pip install notebook and then $ jupyter notebook (or $ pip install jupyterlab and $ jupyter-lab).
  • IPyWidgets needs to be installed for the animations to work correctly. However, the animations are only intended for a better understanding of algorithms or individual functions and do not need to be run to pass the semester. Install simply with $ pip install ipywidgets.

Common Issues and Solutions

  • Not working with correct shapes of input/output data: Shapes of all input/output data are defined in the docstring of individual methods. Please strictly stick to the prescribed shapes.
    • If you want to use i.e. np array <1xn> as (n,), you can use np.squeeze() at the beginning of the method.
    • For returning data in certain shape, you can use np.expand_dims() or np.at_leastXd() (where X is the number of dimmensions).
  • The template does not specify something correctly or differs from the assignment text
    • You are probably using an old version of the template. As noted in the git repository readme: Keep in mind that the assignments and the assignment templates will be updated during the semester. Always pull the current template version before starting to work on the assignment!

Assignment Templates

  • All assignment templates are stored in a git repository
  • Follow the instruction in the repository README
  • Make sure to get the current template version before starting to work on an assignment
  • Make sure not to push the repository with your solutions to any public remote (=plagiarism!!!), you can use FEE GitLab for private remote repo.
  • Each assignment template contains a Jupyter notebook (.ipynb) that you can use to testrun the assignment functions you implement. This notebook will not be checked by the BRUTE.

Package Versions

  • The evaluation server has the following packages installed:
    • python (3.10.6)
    • numpy (1.21.5)
    • matplotlib (3.5.2)
    • scipy (1.7.3)
    • pillow (9.2.0)
    • pandas (1.3.5)
    • torch (1.12.1+cpu)
    • torchvision (0.13.1+cpu)
  • If there is something important missing, please contact us on forum. We will do our best to install it on the evaluation server.
courses/be5b33rpz/labs/python_development.txt · Last modified: 2022/11/30 14:11 by sochmjan