Gå direkt till huvudinnehåll
MyCourses MyCourses
  • Högskolor
    Handelshögskolan (BIZ) Högskolan för elektroteknik (ELEC) Högskolan för ingenjörsvetenskaper (ENG) Högskolan för kemiteknik (CHEM) – Andra guider (CHEM) – Anvisning för literaturarbeten (CHEM) Högskolan för konst, design och arkitektur (ARTS) Högskolan för teknikvetenskaper (SCI) Andra studier Språkcentret Open University Biblioteket Aalto university pedagogical training program UNI (exams) Sandbox
  • Länkar till tjänster
    MyCourses - Instructions for Teachers - Teacher book your online session with a specialist - Digital tools for teaching - Data protection instructions for teachers - Anvisningar för studerande - Workspace for thesis supervision Sisu Studentguide Courses.aalto.fi Unverisitets bibliotek - Resourcesguides - Imagoa / Öppen vetenskap och användning av bilder IT-tjänster Campus - Byggnads öppettider Restaurants in Otaniemi AUS Aalto-universitetets studentkår Aalto Marketplace
  • ALLWELL?
    Studiekompetens Stöd för studerande Starting Point of Wellbeing Om AllWell? -enkäten
  •   ‎(sv)‎
      ‎(en)‎   ‎(fi)‎   ‎(sv)‎
  • Toggle Search menu
  • Du är för tillfället inloggad som gästanvändare (Logga in)

close

Can not find the course?
try also:

  • Sisu
  • Courses.aalto.fi

CS-E4890 - Deep Learning, 25.02.2020-19.05.2020

This course space end date is set to 19.05.2020 Search Courses: CS-E4890

  1. Framsida
  2. Kurser
  3. högskolan f?...
  4. department of...
  5. cs-e4890 - de...
  6. Sektioner
  7. Uppgifter
 
Kursens beskrivning

Uppgifter

  • Uppgifter

    Uppgifter


    • Instructions

      • Login to jupyter.cs.aalto.fi with your Aalto credentials, select course CS-E4890 Deep Learning (2020).
      • Click on “Assignments” tab, fetch an assignment. The fetched assignment is saved to /notebooks/deeplearn2020/assignment_name.
      • Solve the fetched assignment.
        • Assignments 1-9 could be solved in a reasonable amount of time on a CPU (you can solve assignments on JupyterHub). However, we strongly recommend to find a machine with a GPU to speed up the training process.
        • Assignments 10-11 are computationally heavy, you need to use a GPU (see more instructions below).
      • Make sure that the folder /notebooks/deeplearn2020/assignment_name contains the solved notebooks and the trained models (.pth files) when needed.
      • Validate your notebook.
        • If the assignment includes model training, set skip_training=True in one of the first cells of the notebook.
        • Click the "Validate" button. If validation takes too long, check that you set skip_training=True.
        • If validation "hangs" (it can happen when the server is overloaded), simply run all the cells of the notebook (for example, select "Restart & Run All" in the menu) and check that all the cells run properly.
      • Go to "Assignments" tab and click “Submit” for the solved assignment. You can submit multiple times. Only the last submission will be evaluated.
      • Make sure that your submission appears in the list of "Submitted assignments".
      • Once the feedback is released, you can fetch it in the Assignments tab.
      • If you would like to understand better how grading works, please read the documentation.
    • IMPORTANT: Tips on notebooks, please read carefully

      • Do not hesitate to create new code cells. This is a good way to write extra tests you may want to run. Note that all cells are executed during evaluation. As long as your new cells do not overwrite important global variables, they should not cause any trouble to autograding.
      • Never create new cells by menu commands "Edit/Copy Cells" and "Edit/Paste Cells ...". These commands create cells with duplicate ids and make autograding impossible. Use menu commands "Insert/Insert Cell ..." or a button with a plus sign to insert new cells.
      • When you write code required to solve an assignment (e.g., model implementation, training loop and so on), we highly recommend you to insert the code where it says # YOUR CODE HERE.
      • Try to avoid using global variables in your code.
      • If your notebook is broken, you can always re-fetch the assignment. To do that, rename the folder with the assigment and fetch the assignment again.
      • All notebooks contain hidden tests which are used for grading. They are hidden inside read-only cells. Therefore, the read-only cells (including cells with no executable code) should never be removed, otherwise your submission cannot be validated and you get 0 points.
      • Beware that saving a notebook in Google Colab may damage important meta-data used by the autograder. To avoid possible problems, we recommend you to copy-paste your code to the notebooks fetched on JupyterHub. Sorry for the inconvenience.
      • Please do not copy data files (or other unnecessary files) to a folder with a fetched assignment on jupyterhub. When you submit your solution, all the files in the assignment folder get copied to the exchange folder. If the assignment folder contains lots of unnecessary files, autograding of your submission can fail and you can lose points. When your notebook is executed on jupyterhub, the cell with data_dir = tools.select_data_dir() sets data_dir to a folder which contains all the required datasets.
      • Please do not define your wrapper-models on top of the models that you are asked to implement. For example, you are asked to design an MLP model with the following API:
        class MLP(nn.Module):
            def __init__(self, n_inputs, n_hidden, n_outputs):
                # YOUR CODE HERE
            def forward(self, x):
                # YOUR CODE HERE
        
        If you define a new model
        class MyMLP(nn.Module):
            def __init__(self, n_inputs, n_hidden, n_outputs):
                self.mlp = MLP(n_inputs, n_hidden, n_outputs)
            def forward(self, x):
                return self.mlp(x)
        
        and use that in the training loop, the hidden tests may fail and you will lose points.
    • Tips on PyTorch

      • Try to get rid of the for-loops in your computational graph. PyTorch has many highly-optimized functions that can be used instead of the for-loops.
      • Avoid using in-place operations, such as x += y or torch.nn.ReLU(inplace=True). Supporting in-place operations is hard for autograd (see this) and most of the time you do not need to use them.
      • If you have to transfer model parameters to a device (with paramater.to(device)) inside the forward() function, you probably forgot to register model parameters. Try to avoid tensor.to(device) inside forward() function unless you create a new tensor there.
      • If you kernel dies during training, most likely you do not clean up the computational graph after each mini-batch. For example, a typical mistake is to add loss instead of loss.item() to the running loss estimate.
    • Number of points for assignments

      01_mlp 2
      02_backprop 4
      03_reg 0
      04_cnn 3
      05_rnn 4
      06_transformer 4
      07_gnn 4
      08_few 3
      09_ae 4
      10_ar 4
      11_gan 4
    • Grading policy

      Your grade will be determined by the eight assignments with the highest score.
      1. 9 <= score < 14
      2. 14 <= score < 18
      3. 18 <= score < 22
      4. 22 <= score < 26
      5. 26 <= score
      Note that solving the two extra assignments is not included in the total workload of the course.
    • Solving assignments outside of JupyterHub

      Unfortunately JupyterHub does not have a way to use GPUs at the moment. Therefore you may want to solve assignments (or at least execute the training part) outside of JupyterHub.

      1) Solving assignments on your computer
      • Install the required packages to your computer. The easiest way is to create a virtual environment using the environment file posted below.
      • You have two options to access the assignment files:
        1. Copy the files to your computer from JupyterHub. There are several ways to do that:
          • Compress the assignment folder with command tar -cvf assignment.tar assignment_folder and download the tar-file.
          • You can use GUI buttons to download files.
        2. Mount your JupyterHub directory as a network drive (more information can be found here).

      2) Solving assignments on Google Colab
      • Go to https://colab.research.google.com/
      • Select Upload and upload your notebook *.ipynb file. Once uploaded, the notebook should open automatically.
      • First, change your Runtime to GPU (Runtime menu is on the top menu bar).
      • Next, in the notebook screen, press on the file icon on the left side of the screen, it will open the file browser. Here, you need to press Upload and select all the files on the same level as your .ipynb files and upload them (ignore temporary files such as __pycache__).
      • That’s it! You should be good to go.
      • Important: Google Colab lets you modify cells that are supposed to be read-only. Modification of read-only cells can cause problems for autograding and you may lose points because of that. We have tested that if you do not modify read-only cells, the notebooks prepared in Colab are totally fine for autograding. However, some submissions prepared in Colab did not contain any meta-data required for autograding (if you know what actions can cause this, please let us know). Therefore, to be on the safe side, we recommend you to copy-paste your code to the original notebook on JupyterHub instead of uploading the notebook file. Sorry for the inconvenience.

      3) Solving assignments on Paniikki
      • Paniikki has a few computers with GPUs.
    • icon for activity FilEnvironment file Text file
    • Frequently asked questions:

      • How can I re-fetch an assignment?
        Rename the folder with the fetched assignment and fetch the assignment again.
      • I have accidentally created a duplicate of a read-only cell and I cannot remove it. What should I do?
        Your notebook is broken and cannot be autograded. The only way is to re-fetch the assignment and copy-paste your code to the re-fetched notebooks.
      • I cannot get my implementation to work, I think there is a bug in the assignment code.
        All the assignments have been solved by several students and we are quite confident that there are no major bugs in our code. If your implementation does not work as expected, most likely you are doing something wrong.
      • How do I submit trained models?
        You do not need to take special care of the .pth-files: when you click the "Submit" button, all the files in the assignment folder are submitted.
      • If validation (initiated by the Validate button) passes all the tests, will I get full points?
        No, it does not mean that. Validation simply runs all the cells of your notebook like you would do with "Restart & Run All". So, basically it checks that the code runs and all visible tests pass. It does not execute the hidden tests.
      • How can I know the number of points that I get for my solution?
        You will know the number of points only after the deadline when we release the feedback.
      • When I click "Validate", the validation is timed out.
        Check that you set skip_training=True. If that flag is correct but the problem persists, simply run all the cells of the notebook (for example, select "Restart & Run All" in the menu) and check that all the cells run properly.
      • I missed the deadline. Is it possible to get partial points for late submissions?
        Unfortunately, we have a zero-point policy for late submissions. There are two extra assignments that you can solve to replace the one for which you missed the deadline.
      • I forgot to press "Submit" button. Can you evaluate my solution?
        Unfortunately, no. We have a policy of not evaluating such solutions.
      • I uploaded a wrong .pth file. Can you evaluate my submission with a correct model?
        Unfortunately, no. It is part of the assignment to submit a trained model before the deadline.
      • My implementation is correct but I lost points, why?
        We kindly ask you to spend some time trying to understand why the hidden tests failed before contacting us. The tests work correctly most of the time. If you believe that your implementation is correct or you cannot figure out why hidden tests fail, please contact us.
      • Can you give me ...% of points for cell ... because my implementation in that cell is partially correct?
        Unfortunately, no. We have carefully thought of such cases when designing the tests.

Course home

Course home

Nästa sektion

Exercise sessions►
Hoppa över Kommande händelser
Kommande händelser
Laddar Det finns inga framtida händelser
Gå till Kalender
  • CS-E4890 - Deep Learning, 25.02.2020-19.05.2020
  • Sektioner
  • Allmänt
  • Uppgifter
  • Exercise sessions
  • Framsida
  • Kalender
  • Learner Metrics

Aalto logo

Tuki / Support
  • MyCourses help
  • mycourses(at)aalto.fi
Palvelusta
  • MyCourses rekisteriseloste
  • Tietosuojailmoitus
  • Palvelukuvaus
  • Saavutettavuusseloste
About service
  • MyCourses protection of privacy
  • Privacy notice
  • Service description
  • Accessibility summary
Service
  • MyCourses registerbeskrivining
  • Dataskyddsmeddelande
  • Beskrivining av tjänsten
  • Sammanfattning av tillgängligheten

Du är för tillfället inloggad som gästanvändare (Logga in)
  • Högskolor
    • Handelshögskolan (BIZ)
    • Högskolan för elektroteknik (ELEC)
    • Högskolan för ingenjörsvetenskaper (ENG)
    • Högskolan för kemiteknik (CHEM)
    • – Andra guider (CHEM)
    • – Anvisning för literaturarbeten (CHEM)
    • Högskolan för konst, design och arkitektur (ARTS)
    • Högskolan för teknikvetenskaper (SCI)
    • Andra studier
    • Språkcentret
    • Open University
    • Biblioteket
    • Aalto university pedagogical training program
    • UNI (exams)
    • Sandbox
  • Länkar till tjänster
    • MyCourses
    • - Instructions for Teachers
    • - Teacher book your online session with a specialist
    • - Digital tools for teaching
    • - Data protection instructions for teachers
    • - Anvisningar för studerande
    • - Workspace for thesis supervision
    • Sisu
    • Studentguide
    • Courses.aalto.fi
    • Unverisitets bibliotek
    • - Resourcesguides
    • - Imagoa / Öppen vetenskap och användning av bilder
    • IT-tjänster
    • Campus
    • - Byggnads öppettider
    • Restaurants in Otaniemi
    • AUS Aalto-universitetets studentkår
    • Aalto Marketplace
  • ALLWELL?
    • Studiekompetens
    • Stöd för studerande
    • Starting Point of Wellbeing
    • Om AllWell? -enkäten
  •   ‎(sv)‎
    •   ‎(en)‎
    •   ‎(fi)‎
    •   ‎(sv)‎