Step by Step Tutorials On Deep Learning Using Scikit-Learn, Keras, and Tensorflow with Python GUI

·
· BALIGE PUBLISHING
4.5
4 reviews
Ebook
323
Pages

About this ebook

In this book, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to implement deep learning on classifying fruits, classifying cats/dogs, detecting furnitures, and classifying fashion.

 

In Chapter 1, you will learn to create GUI applications to display line graph using PyQt. You will also learn how to display image and its histogram.

 

In Chapter 2, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform classifying fruits using Fruits 360 dataset provided by Kaggle (https://www.kaggle.com/moltean/fruits/code) using Transfer Learning and CNN models. You will build a GUI application for this purpose. Here's the outline of the steps, focusing on transfer learning: 1. Dataset Preparation: Download the Fruits 360 dataset from Kaggle. Extract the dataset files and organize them into appropriate folders for training and testing. Install the necessary libraries like TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, and NumPy; Data Preprocessing: Use OpenCV to read and load the fruit images from the dataset. Resize the images to a consistent size to feed them into the neural network. Convert the images to numerical arrays using NumPy. Normalize the image pixel values to a range between 0 and 1. Split the dataset into training and testing sets using Scikit-Learn. 3. Building the Model with Transfer Learning: Import the required modules from TensorFlow and Keras. Load a pre-trained model (e.g., VGG16, ResNet50, InceptionV3) without the top (fully connected) layers. Freeze the weights of the pre-trained layers to prevent them from being updated during training. Add your own fully connected layers on top of the pre-trained layers. Compile the model by specifying the loss function, optimizer, and evaluation metrics; 4. Model Training: Use the prepared training data to train the model. Specify the number of epochs and batch size for training. Monitor the training process for accuracy and loss using callbacks; 5. Model Evaluation: Evaluate the trained model on the test dataset using Scikit-Learn. Calculate accuracy, precision, recall, and F1-score for the classification results; 6. Predictions: Load and preprocess new fruit images for prediction using the same steps as in data preprocessing. Use the trained model to predict the class labels of the new images.

 

In Chapter 3, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform classifying cats/dogs using dataset provided by Kaggle (https://www.kaggle.com/chetankv/dogs-cats-images) using Using CNN with Data Generator. You will build a GUI application for this purpose. The following steps are taken: Set up your development environment: Install the necessary libraries such as TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy, and any other dependencies required for the tutorial; Load and preprocess the dataset: Use libraries like OpenCV and NumPy to load and preprocess the dataset. Split the dataset into training and testing sets; Design and train the classification model: Use TensorFlow and Keras to design a convolutional neural network (CNN) model for image classification. Define the architecture of the model, compile it with an appropriate loss function and optimizer, and train it using the training dataset; Evaluate the model: Evaluate the trained model using the testing dataset. Calculate metrics such as accuracy, precision, recall, and F1 score to assess the model's performance; Make predictions: Use the trained model to make predictions on new unseen images. Preprocess the images, feed them into the model, and obtain the predicted class labels; Visualize the results: Use libraries like Matplotlib or OpenCV to visualize the results, such as displaying sample images with their predicted labels, plotting the training/validation loss and accuracy curves, and creating a confusion matrix.

 

In Chapter 4, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform detecting furnitures using Furniture Detector dataset provided by Kaggle (https://www.kaggle.com/akkithetechie/furniture-detector) using VGG16 model. You will build a GUI application for this purpose. Here are the steps you can follow to perform furniture detection: Dataset Preparation: Extract the dataset files and organize them into appropriate directories for training and testing; Data Preprocessing: Load the dataset using Pandas to analyze and preprocess the data. Explore the dataset to understand its structure, features, and labels. Perform any necessary preprocessing steps like resizing images, normalizing pixel values, and splitting the data into training and testing sets; Feature Extraction and Representation: Use OpenCV or any image processing libraries to extract meaningful features from the images. This might include techniques like edge detection, color-based features, or texture analysis. Convert the images and extracted features into a suitable representation for machine learning models. This can be achieved using NumPy arrays or other formats compatible with the chosen libraries; Model Training: Define a deep learning model using TensorFlow and Keras for furniture detection. You can choose pre-trained models like VGG16, ResNet, or custom architectures. Compile the model with an appropriate loss function, optimizer, and evaluation metrics. Train the model on the preprocessed dataset using the training set. Adjust hyperparameters like batch size, learning rate, and number of epochs to improve performance; Model Evaluation: Evaluate the trained model using the testing set. Calculate metrics such as accuracy, precision, recall, and F1 score to assess the model's performance. Analyze the results and identify areas for improvement; Model Deployment and Inference: Once satisfied with the model's performance, save it to disk for future use. Deploy the model to make predictions on new, unseen images. Use the trained model to perform furniture detection on images by applying it to the test set or new data.

 

In Chapter 5, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform classifying fashion using Fashion MNIST dataset provided by Kaggle (https://www.kaggle.com/zalando-research/fashionmnist/code) using CNN model. You will build a GUI application for this purpose. Here are the general steps to implement image classification using the Fashion MNIST dataset: Import the necessary libraries: Import the required libraries such as TensorFlow, Keras, NumPy, Pandas, and Matplotlib for handling the dataset, building the model, and visualizing the results; Load and preprocess the dataset: Load the Fashion MNIST dataset, which consists of images of clothing items. Split the dataset into training and testing sets. Preprocess the images by scaling the pixel values to a range of 0 to 1 and converting the labels to categorical format; Define the model architecture: Create a convolutional neural network (CNN) model using Keras. The CNN consists of convolutional layers, pooling layers, and fully connected layers. Choose the appropriate architecture based on the complexity of the dataset; Compile the model: Specify the loss function, optimizer, and evaluation metric for the model. Common choices include categorical cross-entropy for multi-class classification and Adam optimizer; Train the model: Fit the model to the training data using the fit() function. Specify the number of epochs (iterations) and batch size. Monitor the training progress by tracking the loss and accuracy; Evaluate the model: Evaluate the trained model using the test dataset. Calculate the accuracy and other performance metrics to assess the model's performance; Make predictions: Use the trained model to make predictions on new unseen images. Load the test images, preprocess them, and pass them through the model to obtain class probabilities or predictions; Visualize the results: Visualize the training progress by plotting the loss and accuracy curves. Additionally, you can visualize the predictions and compare them with the true labels to gain insights into the model's performance.

Ratings and reviews

4.5
4 reviews

About the author

Vivian Siahaan is a fast-learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students. At the ANDI Yogyakarta publisher, Vivian Siahaan also wrote a number of books including: Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.

Rismon Hasiholan Sianipar was born in Pematang Siantar, in 1994. After graduating from SMAN 3 Pematang Siantar 3, the writer traveled to the city of Jogjakarta. In 1998 and 2001 the author completed his Bachelor of Engineering (S.T) and Master of Engineering (M.T) education in the Electrical Engineering of Gadjah Mada University, under the guidance of Prof. Dr. Adhi Soesanto and Prof. Dr. Thomas Sri Widodo, focusing on research on non-stationary signals by analyzing their energy using time-frequency maps. Because of its non-stationary nature, the distribution of signal energy becomes very dynamic on a time-frequency map. By mapping the distribution of energy in the time-frequency field using discrete wavelet transformations, one can design non-linear filters so that they can analyze the pattern of the data contained in it. In 2003, the author received a Monbukagakusho scholarship from the Japanese Government. In 2005 and 2008, he completed his Master of Engineering (M.Eng) and Doctor of Engineering (Dr.Eng) education at Yamaguchi University, under the guidance of Prof. Dr. Hidetoshi Miike. Both the master's thesis and his doctoral thesis, R.H. Sianipar combines SR-FHN (Stochastic Resonance Fitzhugh-Nagumo) filter strength with cryptosystem ECC (elliptic curve cryptography) 4096-bit both to suppress noise in digital images and digital video and maintain its authenticity. The results of this study have been documented in international scientific journals and officially patented in Japan. One of the patents was published in Japan with a registration number 2008-009549. He is active in collaborating with several universities and research institutions in Japan, particularly in the fields of cryptography, cryptanalysis and audio / image / video digital forensics. R.H. Sianipar also has experience in conducting code-breaking methods (cryptanalysis) on a number of intelligence data that are the object of research studies in Japan. R.H. Sianipar has a number of Japanese patents, and has written a number of national / international scientific articles, and dozens of national books. R.H. Sianipar has also participated in a number of workshops related to cryptography, cryptanalysis, digital watermarking, and digital forensics. In a number of workshops, R.H. Sianipar helps Prof. Hidetoshi Miike to create applications related to digital image / video processing, steganography, cryptography, watermarking, non-linear screening, intelligent descriptor-based computer vision, and others, which are used as training materials. Field of interest in the study of R.H. Sianipar is multimedia security, signal processing / digital image / video, cryptography, digital communication, digital forensics, and data compression / coding. Until now, R.H. Sianipar continues to develop applications related to analysis of signal, image, and digital video, both for research purposes and for commercial purposes based on the Python programming language, MATLAB, C ++, C, VB.NET, C # .NET, R, and Java.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.