Deep Learning with PyTorch

  1. PyTorch Fundamentals
    1. Tensors: The Core Data Structure
      1. Understanding Tensors
        1. Definition of Tensors
          1. Tensor vs Array vs Matrix
            1. Tensor Dimensions and Rank
            2. Tensor Creation Methods
              1. Creating from Python Lists
                1. Creating from NumPy Arrays
                  1. Built-in Creation Functions
                    1. torch.zeros
                      1. torch.ones
                        1. torch.rand
                          1. torch.randn
                            1. torch.arange
                              1. torch.linspace
                            2. Tensor Initialization Techniques
                              1. Random Initialization
                                1. Uniform Distribution
                                  1. Normal Distribution
                                    1. Xavier Initialization
                                      1. Kaiming Initialization
                                      2. Constant Initialization
                                        1. Identity Matrices
                                          1. Diagonal Matrices
                                          2. Tensor Data Types
                                            1. Float Tensors
                                              1. torch.float32
                                                1. torch.float64
                                                2. Integer Tensors
                                                  1. torch.int32
                                                    1. torch.int64
                                                    2. Boolean Tensors
                                                      1. Complex Tensors
                                                        1. Type Conversion Methods
                                                        2. Tensor Attributes
                                                          1. Shape and Size
                                                            1. Data Type (dtype)
                                                              1. Device Location
                                                                1. Memory Layout and Contiguity
                                                                  1. Gradient Tracking (requires_grad)
                                                                  2. NumPy Integration
                                                                    1. Converting Tensors to NumPy
                                                                      1. Converting NumPy to Tensors
                                                                        1. Memory Sharing Considerations
                                                                      2. Tensor Operations
                                                                        1. Mathematical Operations
                                                                          1. Element-wise Operations
                                                                            1. Addition and Subtraction
                                                                              1. Multiplication and Division
                                                                                1. Power and Square Root
                                                                                  1. Trigonometric Functions
                                                                                    1. Logarithmic Functions
                                                                                    2. Linear Algebra Operations
                                                                                      1. Matrix Multiplication
                                                                                        1. Dot Product
                                                                                          1. Cross Product
                                                                                            1. Matrix Decomposition
                                                                                            2. Broadcasting Rules
                                                                                              1. Broadcasting Semantics
                                                                                                1. Common Broadcasting Patterns
                                                                                              2. Indexing and Slicing
                                                                                                1. Basic Indexing
                                                                                                  1. Advanced Indexing
                                                                                                    1. Boolean Masking
                                                                                                      1. Fancy Indexing
                                                                                                      2. Tensor Manipulation
                                                                                                        1. Reshaping Operations
                                                                                                          1. view() Method
                                                                                                            1. reshape() Method
                                                                                                              1. flatten() Method
                                                                                                              2. Dimension Manipulation
                                                                                                                1. squeeze() and unsqueeze()
                                                                                                                  1. transpose() and permute()
                                                                                                                  2. Joining and Splitting
                                                                                                                    1. Concatenation (cat)
                                                                                                                      1. Stacking (stack)
                                                                                                                        1. Splitting (split, chunk)
                                                                                                                      2. Reduction Operations
                                                                                                                        1. Sum and Mean
                                                                                                                          1. Min and Max
                                                                                                                            1. Standard Deviation and Variance
                                                                                                                              1. Argmin and Argmax
                                                                                                                            2. Autograd: Automatic Differentiation
                                                                                                                              1. Computational Graphs
                                                                                                                                1. Dynamic vs Static Graphs
                                                                                                                                  1. Graph Construction
                                                                                                                                    1. Nodes and Edges
                                                                                                                                      1. Leaf and Non-leaf Tensors
                                                                                                                                      2. Gradient Tracking
                                                                                                                                        1. requires_grad Attribute
                                                                                                                                          1. Enabling Gradient Tracking
                                                                                                                                            1. Gradient Function (grad_fn)
                                                                                                                                            2. Computing Gradients
                                                                                                                                              1. backward() Method
                                                                                                                                                1. Accessing Gradients (.grad)
                                                                                                                                                  1. Gradient Accumulation
                                                                                                                                                    1. Zeroing Gradients
                                                                                                                                                    2. Controlling Gradient Computation
                                                                                                                                                      1. torch.no_grad() Context
                                                                                                                                                        1. detach() Method
                                                                                                                                                          1. retain_graph Parameter
                                                                                                                                                          2. Higher-order Gradients
                                                                                                                                                            1. Second-order Derivatives
                                                                                                                                                              1. create_graph Parameter