Skip to content

NeroBlackstone/D2lJulia

Repository files navigation

Dive into Deep Learning - Julia

Dive into Deep Learning, with Julia programming language and Flux.jl.

Warning ⚠️: All the contents of this book will be rewritten using Lux.jl soon after some Lux.jl functions are stabilized.

This tutorial mainly focuses on using pure julia to implement the code in Dive into Deep Learning, rather than explaining the specific principles of deep learning. If you know little about specific principles, please refer to the same chapter of the original book.

Julia Code Implementation Standard

  • Julian: Avoid low-quality code porting, write code in julia way.
  • Consistency: Variable and function name as consistent as possible with the original book to facilitate understanding.
  • Best Practices: Make all things easy and right.

Tips

  • You don't need too much Julia knowledges to read this book, but you better have learned other programming languages, chapter preliminaries covers most of Julia knowledge you needed.
  • After reading chapter preliminaries, you can roughly browse the MLUtils.jl documentation, which will be of great help to your subsequent data processing.
  • Likewise, MLBase.jl is another useful ML tool library, good choice for performance evaluation.
  • JuliaML and FluxML organization have many useful ML tools. Take a look,there may be a package you are looking for.

Local installation Pre-requisites

Install jupyterlab-desktop or vscode with jupyter plugin.

Install Julia 1.11:

$ julia -v
julia version 1.11.1

Clone this project and change directory to D2lJulia and install dependencies:

$ julia
julia> using Pkg
julia> Pkg.activate("./")
julia> Pkg.instantiate()

You'll install all the dependencies, this may take a few minutes.

Contribution

Welcome to contribution! Just add .ipynb file in notebooks folder and create an entry in _toc.yml.

The website is built using jupyter-book. For faster ci build, we close notebook execution. It means you need to execute code cell locally, and save result to notebooks.