https://github.com/adrhill/julia-ml-course

Julia for Machine Learning course at TU Berlin

https://github.com/adrhill/julia-ml-course

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary

Keywords

course deep-learning julia machine-learning tutorial

Keywords from Contributors

surrogate neural-sde ode explainable-ai
Last synced: 5 months ago · JSON representation

Repository

Julia for Machine Learning course at TU Berlin

Basic Info
  • Host: GitHub
  • Owner: adrhill
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 12.9 MB
Statistics
  • Stars: 256
  • Watchers: 9
  • Forks: 31
  • Open Issues: 0
  • Releases: 0
Topics
course deep-learning julia machine-learning tutorial
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

JuML Logo

Julia for Machine Learning

[![Go to course website][goto-badge]][site-url] [![TU Berlin ISIS page][isis-badge]][isis-url]

Course material and website for the Julia for Machine Learning course (JuML) at the TU Berlin Machine Learning group.

Installation

Follow the installation instructions on the course website.

Contents

Lectures

The first half of the course is taught in five weekly sessions of three hours. In each session, two lectures are taught:

| Week | Lecture | Content | |:----:|:-------:|:--------------------------------------------------| | 1 | 0 | General Information, Installation & Getting Help | | | 1 | Basics 1: Types, Control-flow & Multiple Dispatch | | 2 | 2 | Basics 2: Arrays, Linear Algebra | | | 3 | Plotting & DataFrames | | 3 | 4 | Basics 3: Data structures and custom types | | | 5 | Classical Machine Learning | | 4 | 6 | Automatic Differentiation | | | 7 | Deep Learning | | 5+ | Project | Workflows: Scripts, Experiments & Packages | | | Project | Profiling & Debugging |

The first three weeks focus on teaching the fundamentals of the Julia programming language. These weeks consist of longer lectures, followed up by shorter, "guided tours" of the Julia ecosystem, including plotting, data-frames and classical machine learning algorithms.

Week four is all about Deep Learning: A comprehensive lecture on automatic differentiation (AD) sheds light on differences between Julia's various AD packages, before giving a brief overview of Flux's Deep Learning ecosystem.

Finally, week five is all about starting your own Julia project, taking a look at the structure of Julia packages and different workflows for reproducible machine learning research. This is followed up by a demonstration of Julia's debugging and profiling utilities.

The lectures and the homework cover the following packages:

| Package | Lecture | Description | |:----------------- |:-------:|:-------------------------------------------------------| | LinearAlgebra.jl | 2 | Linear algebra (standard library) | | Plots.jl | 3 | Plotting & visualizations | | DataFrames.jl | 3 | Working with and processing tabular data | | MLJ.jl | 5 | Classical Machine Learning methods | | ChainRules.jl | 6 | Forward- & reverse-rules for automatic differentiation | | Zygote.jl | 6 | Reverse-mode automatic differentiation | | Enzyme.jl | 6 | Forward- & reverse-mode automatic differentiation | | ForwardDiff.jl | 6 | Forward-mode automatic differentiation | | FiniteDiff.jl | 6 | Finite differences | | FiniteDifferences.jl | 6 | Finite differences | | Flux.jl | 7 | Deep Learning abstractions | | MLDatasets.jl | 7 | Dataset loader | | PkgTemplates.jl | Project | Package template | | DrWatson.jl | Project | Workflow for scientific projects | | Debugger.jl | Project | Debugger | | Infiltrator.jl | Project | Debugger | | ProfileView.jl | Project | Profiler | | Cthulhu.jl | Project | Type inference debugger |

Project

In the second half of the course, after passing the homework, students work in groups on a small programming project of their choice, learning best practices for package development in Julia, such as: * how to structure and develop a package * how to write package tests * how to write and host package documentation

During code review sessions, students give each other feedback on their projects before presenting their work in end-of-semester presentations.

Owner

  • Name: Adrian Hill
  • Login: adrhill
  • Kind: user
  • Location: Berlin
  • Company: TU Berlin

PhD student @ TU Berlin

GitHub Events

Total
  • Issues event: 2
  • Watch event: 24
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 25
  • Pull request review comment event: 3
  • Pull request review event: 4
  • Pull request event: 11
  • Fork event: 4
  • Create event: 4
Last Year
  • Issues event: 2
  • Watch event: 24
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 25
  • Pull request review comment event: 3
  • Pull request review event: 4
  • Pull request event: 11
  • Fork event: 4
  • Create event: 4

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 125
  • Total Committers: 5
  • Avg Commits per committer: 25.0
  • Development Distribution Score (DDS): 0.08
Past Year
  • Commits: 30
  • Committers: 3
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.133
Top Committers
Name Email Commits
Adrian Hill a****l@m****g 115
Janes Sanne 5****s 7
Tschia Dizay 1****y 1
Pietro Monticone 3****e 1
MusaOzcetin 8****n 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 2
  • Total pull requests: 27
  • Average time to close issues: 6 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 2
  • Total pull request authors: 5
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.52
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 17
  • Average time to close issues: 1 day
  • Average time to close pull requests: 7 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.18
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • adrhill (1)
  • MusaOzcetin (1)
Pull Request Authors
  • adrhill (31)
  • JeanAnNess (12)
  • MusaOzcetin (2)
  • pitmonticone (1)
  • tschiadizay (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/Deploy.yaml actions
  • JamesIves/github-pages-deploy-action releases/v4 composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/setup-julia v1 composite