Introduction to Julia Programming: Machine-Learning Models and AI
Course 1267
3 DAY COURSE
Course Outline
As machine learning and artificial intelligence algorithms grow more sophisticated, the need for a high-performance development environment grows greater and greater. Julia is a programming language designed to feel like a comfortable scripting environment, like Python, but able to deliver the high performance of fully compiled languages like C and Fortran.
In this course, we introduce the fundamentals of coding in Julia, always with an eye towards programming techniques currently finding application in cutting-edge machine learning and artificial intelligence.
Introduction to Julia Programming: Machine-Learning Models and AI Benefits
-
In this Julia programming training, you will learn how to:
- Craft efficient code in the high-performance programming language, Julia
- Create machine-learning models in Julia
- Understand the vector and matrix methods common to all neural network models
- Interact with other AI platforms, like PyTorch and TensorFlow
-
Prerequisites
Attendees must have programming experience.
Julia Machine-Learning Models Training Outline
Chapter 1 – Introduction and Overview
What is Julia?
LLVM
Installing and Using Julia
The Julia REPL
- semicolon works as in MATLAB
Julia IDEs
- Installing the Julia kernel for Jupyter notebooks
- VS Code
Hands-On Exercise 1.1
Chapter 2 – Fundamentals of the Julia Language
Variables and Types in Julia
- Integers
- No overflow checking
- Floats
- Strings
- Characters versus strings
- Strings are assumed to be UTF-8
- println
- formatted printing
- Dates
Using Latex Symbols
Best Practices for Datatypes
Best practice:
- Ensure the compiler can correctly deduce type
Hands-On Exercise 2.1
- Julia DataFrames
- Interoperating with Pandas DataFrames
Julia Operators and Functions
Functions and operators
- pipe operator
- Function composition
- Tuple arguments are immutable
- Array arguments are mutable
- Variable number of arguments
- Broadcasting a function
- Anonymous functions
Contents - Multiple Dispatch
Multiple Dispatch
- Function Signatures
Hands-On Exercise 2.2
- Julia Macros
Hands-On Exercise 2.3
Chapter 3 – Julia Arrays
Arrays
- Julia matrices are in column-major order
- Linear and Cartesian indexes
- EachIndex operator
- Arrays with custom indices
Hands-On Exercise 3.1
- Applications of Matrices
- Special Array and Matrix types
- Introduction to Matrices in Artificial Intelligence
Hands-On Exercise 3.2
- Introductory numerical analysis
- Matrices – Norms and Conditioning
- Differential Equations
Hands-On Exercise 3.3
Chapter 4 – Input and Output
FileIO Package
Standard File Types
Implementing Loaders and Saves
Hands-On Exercise 4.1
- Graphics Output
- Plotting from the Julia REPL
- Plotting in Julia Notebooks
Hands-On Exercise 4.2
Chapter 5 – Putting machine learning theory into practice
Statistical modeling
Machine Learning
Hands-On Exercise 5.1
Chapter 6 – Neural Networks with Julia
Neural Network Basics in Julia
Hands-On Exercise 6.1
Advanced Neural Network Libraries in Julia
Performance Tuning for Neural Networks
Quantization of Neural Networks
Hands-On Exercise 6.2
Chapter 7 – Debugging, Profiling, and High-Performance Julia
The Julia Debugger
High-Performance Julia
Principles of high-performance programming
Profiling Julia code
Hands-On Exercise 7.1
- Parallel Processing
- Multithreading
- Multiprocessing
- Distributed processing
Hands-On Exercise 7.2
Chapter 8 – Interoperating with other Artificial Intelligence Platforms
Julia with TensorFlow and PyTorch
ONNX
Creating a computer vision system
Picking a model from the “zoo”
ResNet
Hands-On Exercise 8.1
Chapter 9 – Course Summary
Private Team Training
Interested in this course for your team? Please complete and submit the form below and we will contact you to discuss your needs and budget.
- choosing a selection results in a full page refresh