Changes between Version 102 and Version 103 of Other/Summer/2023/Inference


Ignore:
Timestamp:
Aug 21, 2023, 9:13:35 PM (9 months ago)
Author:
LakshyaG42
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Other/Summer/2023/Inference

    v102 v103  
    1616== Networking Setup for Our Experiment Setup
    1717We have developed an experiment enviornment that explores the nature of mobile-edge computing. Our innovative solution involves a client-server architecture that enables seamless communication between devices for predictive analysis. In this section, we'll provide you with an overview of the technologies and processes we employ in our networking setup.
    18 = Socket Programming: Establishing Connectivity
     18=== Socket Programming: Establishing Connectivity
    1919Our networking framework relies on socket programming to establish seamless connections between client and server devices. This connectivity is pivotal for the real-time exchange of data, enabling us to experiment and analyze performance in a dynamic environment. We used the **socket** library to accomplish this connectivity.
    20 = Data Serialization and Deserialization: Ensuring Accuracy
     20=== Data Serialization and Deserialization: Ensuring Accuracy
    2121To ensure precise data transmission, we employ data serialization and deserialization methods. The **struct** library plays a crucial role in packaging and unpacking data, guaranteeing that information traverses between devices without compromise.
    22 = Tracking Metrics with Pandas
     22=== Tracking Metrics with Pandas
    2323Efficient data management forms the foundation of our endeavors. Leveraging the **pandas** library, we meticulously organize and log data in CSV format. This meticulous record-keeping is essential for tracking timing metrics and prediction results, facilitating in-depth analysis and iterative improvement.
    24 = Unraveling the Networking Workflow
     24=== Unraveling the Networking Workflow
    25251. **Image Transmission:** Images are prepared and transmitted from the client to the server, initiating the analysis process.
    2626
     
    31314. **Client's Analytical Role:** Armed with the prediction outcomes and timing insights, the client takes the reins. It logs data, evaluates accuracy, and extracts valuable insights from the entire process.
    3232
    33 = Our Pursuit's Significance
     33=== Our Pursuit's Significance
    3434Our networking ecosystem holds profound significance for several reasons:
    3535
     
    4141== Unveiling the Power of Training and Optimization
    4242Not only did we learn how to set up the networking in our experiment but, we were equally dedicated to mastering the art of training, optimization, and making the most of the resources at hand. This section sheds light on our training methodologies and the plethora of tools and techniques we've harnessed to hone our models.
    43 = Foundational Training
     43=== Foundational Training
    4444Our training journey commenced by delving into the fundamentals of PyTorch and other essential libraries. We took inspiration from tutorials and insights gathered from previous classes to build neural networks from the ground up. Our exploration led us to harness the capabilities of diverse libraries, including TensorFlow, Keras, Optuna, torchvision, torch, pandas, numpy, matplotlib, and time.
    45 = Strategic Techniques for Optimization
     45=== Strategic Techniques for Optimization
    4646To tackle challenges of overfitting and ensure robustness, we embraced a plethora of techniques that transformed our models into precision instruments. Here are the key strategies we employed:
    4747* Image Cutouts: We utilized image cutouts, a sophisticated augmentation technique that randomly masks out portions of input images during training. This approach fortifies the model's resilience and acts as a buffer against overfitting.
     
    5151* Random Rotations: Our models underwent random rotations during training, a technique designed to boost accuracy by imparting robustness.
    5252* Random Erasing: This ingenious technique strategically resets selected weights to their original state, preventing over-reliance on individual nodes and fostering balanced learning.
    53 = Hyperparameter Tuning
     53=== Hyperparameter Tuning
    5454To unlock the full potential of our models, we turned to hyperparameter tuning. Optuna, a hyperparameter optimization library, became our ally. We designed experiments with 20 training trials, fine-tuning parameters like normalization transforms, patience levels, and starting learning rates. This approach ensured that our models achieved peak performance across various scenarios.
    55 = Navigating Model Limitations
     55=== Navigating Model Limitations
    5656In a race against time, we confronted the limitations posed by our chosen models, including Mobilenet_v2, Densenet121, and Resnet18. These models were initially tailored for ImageNet, a rich dataset comprising high-quality images and an extensive class spectrum. However, within our 10-week timeline, employing ImageNet for training and testing was impractical due to the prolonged time requirement. Instead, we focused on training the last layers of these models specifically for Cifar10. This strategic adaptation allowed us to attain meaningful results in a constrained timeframe.
    57 = The Significance of Training and Optimization
     57=== The Significance of Training and Optimization
    5858Our training and optimization endeavors hold exceptional significance:
    5959
     
    6363
    6464== Weekly Updates
    65 = Week 1
     65=== Week 1
    6666**Summary**
    6767   * Understood the goal of the project and broke down its objectives
     
    7373   * Attempt to simulate the difference between their performances at inference
    7474 
    75 = Week 2
     75=== Week 2
    7676**Summary**
    7777  * Performed basics of pattern recognition and Machine Learning (PPA - Patterns, Predictions, Actions) using Pytorch
     
    8484  * Attempt to simulate the difference between their performances at inference
    8585
    86 = Week 3
     86=== Week 3
    8787**Summary**
    8888  * Debugged issues with work we had done in previous weeks
     
    9898  * Think about other implementations - Early Exiting, model compression, data compression, … Mixture?
    9999
    100 = Week 4
     100=== Week 4
    101101**Summary**
    102102  * Compared performances of both neural networks on the CIFAR10 dataset
     
    111111   * Track and add Age of Information Metrics
    112112
    113 = Week 5
     113=== Week 5
    114114* We learned how to use the Network Time Protocol while we waited for the more accurate Precision Time Protocol to be implemented in the technology we were using.
    115115* Implemented NTP in our code files so that we can measure time and evaluate the trade offs that we came up with.
    116116
    117 = Week 6
     117=== Week 6
    118118**Summary**
    119119  * Figured out how to properly split a NN using split computing
     
    130130Transfer to Precision time protocol(PTP)
    131131
    132 = Week 7
     132=== Week 7
    133133**Summary**
    134134  * Explored different research questions with the data collected