This repository is the companion code for the first edition of 'Hands-on Machine Learning with Scikit-Learn and TensorFlow' (2017). It contains a collection of Jupyter notebooks teaching fundamental and advanced machine learning concepts, covering classification, SVMs, decision trees, ensemble methods, dimensionality reduction, and deep learning with TensorFlow 1.x (including CNNs, RNNs, autoencoders, and reinforcement learning). The code is educational, with step-by-step implementations, inline explanations, and exercise solutions. It is not a production application but a self-contained learning environment, supplemented with datasets (California housing, OECD life satisfaction, MNIST) and a Docker setup for reproducible execution. Significant technical drift exists: TensorFlow 1.x APIs, deprecated scikit-learn imports, and Python 2/3 compatibility shims make the notebooks incompatible with modern environments without substantial rewriting. The README explicitly directs users to the second edition repository for up-to-date code.
The AVOD repository implements the Aggregate View Object Detection network for 3D object detection from LiDAR and camera data, primarily targeting the KITTI benchmark. It provides a complete pipeline for training, evaluation, and inference, including data loading, model definition (AVOD and RPN variants), feature extraction from bird's-eye view and image modalities, anchor-based proposal generation, and post-processing. The system is structured as a modular Python package with protocol buffer-based configuration. Key architectural features include a multi-sensor fusion approach that combines BEV features from LiDAR data with RGB image features through fully connected layers, and a region proposal network for generating object proposals. The codebase demonstrates strong modularity in certain components such as box encoding/decoding utilities, anchor generators, and feature extractors, which could be reused in other 3D detection projects with minimal modification. However, the core model training and evaluation scripts are tightly coupled to the KITTI dataset format and TensorFlow 1.x specifics. The repository shows signs of technical drift due to its reliance on outdated dependencies (TensorFlow 1.3.0, Python 3.5) and deprecated APIs. While the last commit indicates recent activity, the deep learning framework used is no longer current, which may pose challenges for maintenance and extension. Despite this, the implementation includes well-crafted, reusable geometric utilities and modular design patterns that reflect solid engineering practices for a research codebase.