Skip to content

Releases: SebGSX/Machine-Learning-Sample

Release v1.1.5

14 Oct 15:37

Choose a tag to compare

This update comprises the following changes.

Release v1.1.4

10 Oct 14:21

Choose a tag to compare

This update comprises the following changes.

Release v1.1.3

06 Oct 11:18
1ecbcf9

Choose a tag to compare

This update comprises the following changes.

Release v1.1.2

20 Sep 19:53

Choose a tag to compare

This update comprises the following changes.

Release v1.1.1

20 Sep 12:30

Choose a tag to compare

This update comprises the following changes.

Release v1.1.0

16 Nov 12:32

Choose a tag to compare

Overview

Welcome to the v1.1.0 minor release of the Machine Learning Sample project! As at v1.1.0, the Machine Learning Sample project is an enhanced GPU demonstration of machine learning basics without frameworks, featuring a single perceptron neural network (SPNN) for linear regression on datasets like TV Marketing and House Prices from Kaggle. It offers dual model cores—educational for debuggability and optimised for performance—to illustrate trade-offs in handling single- or multi-feature data. The release includes SonarCloud integration, expanded testing, plotting, and setup guides for Linux/WSL with NVIDIA CUDA, aimed at Python-proficient developers exploring core ML concepts.

Key Features

In this minor release, the following key features are included:

  • Quality Metrics: Integrated SonarCloud badges for code quality, bugs, smells, duplication, reliability, security, and maintainability tracking.
  • Updated Setup Instructions: Enhanced guidance for package updates, virtual environments, and handling competition datasets, including requirements.txt generation.
  • Acknowledgements and References: Expanded credits to Kaggle and updated installation links for CUDA tools, PyTorch, TensorFlow, and Hugging Face.

Composition

This major release comprises the following changes.

Release v1.0.1

09 Nov 15:47

Choose a tag to compare

This update comprises the following changes.

Release v1.0.0

01 Nov 13:25
064011d

Choose a tag to compare

Overview

Welcome to the v1.0.0 major release of the Machine Learning Sample project! As at v1.0.0, the Machine Learning Sample project is a GPU-based demonstration of machine learning fundamentals without frameworks, using a single perceptron neural network (SPNN) for linear regression on contrived datasets like TV Marketing from Kaggle. It provides an under-the-hood view of mathematics, statistics, and algorithms through educational and optimised model cores, emphasising normalisation, gradient descent, and visualisation. The repository includes tests, plotting tools, and setup guides for Linux/WSL environments with NVIDIA CUDA, targeting developers proficient in Python and core concepts.

Key Features

In this major release, the following key features are included:

  • SPNN Model: Implements a single perceptron for linear regression training, prediction, forward/back propagation, and parameter updates, with educational (accessible) and optimised (performance-focused) core variants.
  • Dataset Manager: Handles Kaggle dataset acquisition and storage using kagglehub, supporting competition and standard datasets for easy integration.
  • Dataset Metadata: Computes column-wise means, standard deviations, normalisation, and transposition to facilitate matrix operations and consistent scaling.
  • Unit Tests: Comprehensive tests for model, dataset manager, and metadata classes to verify functionality and enable safe modifications for learning.
  • Plotter: Generates scatter plots and line visualisations of training results using matplotlib, including animation support for illustrating learning progress.
  • Setup and Hardware Guide: Detailed instructions for NVIDIA GPU setup with CUDA, cuDNN, cuTENSOR, cuSPARSELt, and Python dependencies like PyTorch, TensorFlow, and CuPy for Linux/WSL execution.
  • Sample Dataset and Visuals: Uses TV Marketing dataset for linear regression demo, with included plots and GIFs showing convergence and model learning.

Composition

This major release comprises the following changes.