Introduction to Julia Programming for Artificial Intelligence Training

Course 1267

  • Duration: 3 days
  • Labs: Yes
  • Language: English
  • Level: Intermediate

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.

Attendees must have programming experience.

Attendees will have the opportunity to take the Learning Tree exam upon completion.

Introduction to Julia Programming for Artificial Intelligence Training Delivery Methods

  • After-course instructor coaching included
  • Learning Tree end-of-course exam included

Introduction to Julia Programming for Artificial Intelligence Training Course Benefits

Craft efficient code in the high-performance programming language, JuliaCreate machine-learning models in JuliaUnderstand the vector and matrix methods common to all neutral network modelsInteract with other AI platforms, like PyTorch and TensorFlow

Julia Programming Training Outline

  • 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
  • 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 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
  • 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
  • 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
  • Statistical modeling
  • Machine Learning
  • Hands-On Exercise 5.1
  • 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
  • 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
  • Julia with TensorFlow and PyTorch
  • ONNX
  • Creating a computer vision system
  • Picking a model from the “zoo”
  • ResNet
  • Hands-On Exercise 8.1

Need Help Finding The Right Training Solution?

Our training advisors are here for you.

Course FAQs

This course introduces Julia but assumes the student has experience with some programming language such as Python, C#, or Java.

This course explores some of the more technical aspects of neural networks and is probably not suitable for managers and non-technical students.

Yes! This course is designed for developers, and programmers, who wish to delve deeper into neural networks and AI.

Not likely. Developers wishing only to apply existing neural network architectures might be better served by a course in PyTorch or TensorFlow.
Chat With Us