Introduction to Julia Programming: Machine-Learning Models and AI
Course 1267
3 DAY COURSE

Price: $1,908.00
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
    • print
    • 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

Course Dates

For course questions or any customer service inquiry, please contact your Customer Service team at BAHCustomerService@LearningTree.com.

We are excited that Learning Tree now offers a deferred direct bill payment option for Booz Allen employees. The deferred direct bill payment option enables employees to enroll in learning opportunities with no upfront costs. This payment option will require the employee to sign a Family Educational Rights and Privacy Act (FERPA) agreement with Learning Tree to release grades/completion to Booz Allen to satisfy the FlexEd Program completion requirement. Note, Learning Tree may also be used for the FlexEd Program reimbursement payment option.

Attendance Method
Additional Details (optional)

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.