3 options
Hands-on convolutional neural networks with tensorflow : solve computer vision problems with modeling in tensorflow and python / Iffat Zafar [and four others].
- Format:
- Book
- Author/Creator:
- Zafar, Iffat, author.
- Tzanidou, Giounona, author.
- Burton, Richard, author.
- Nimo (Rapper), author.
- Araújo, Leonardo, author.
- Language:
- English
- Subjects (All):
- Neural networks (Computer science)--Computer simulation.
- Neural networks (Computer science).
- Physical Description:
- 1 online resource (264 pages)
- Edition:
- 1st edition
- Place of Publication:
- Birmingham : Packt Publishing Ltd, [2018]
- System Details:
- text file
- Biography/History:
- Zafar Iffat: Iffat Zafar was born in Pakistan. She received her Ph. D. from the Loughborough University in Computer Vision and Machine Learning in 2008. After her Ph. D. in 2008, she worked as research associate at the Department of Computer Science, Loughborough University, for about 4 years. She currently works in the industry as an AI engineer, researching and developing algorithms using Machine Learning and Deep Learning for object detection and general Deep Learning tasks for edge and cloud-based applications. Tzanidou Giounona: Giounona Tzanidou is a PhD in computer vision from Loughborough University, UK, where she developed algorithms for runtime surveillance video analytics. Then, she worked as a research fellow at Kingston University, London, on a project aiming at prediction detection and understanding of terrorist interest through intelligent video surveillance. She was also engaged in teaching computer vision and embedded systems modules at Loughborough University. Now an engineer, she investigates the application of deep learning techniques for object detection and recognition in videos. Burton Richard: Richard Burton graduated from the University of Leicester with a master's degree in mathematics. After graduating, he worked as a research engineer at the University of Leicester for a number of years, where he developed deep learning object detection models for their industrial partners. Now, he is working as a software engineer in the industry, where he continues to research the applications of deep learning in computer vision. Patel Nimesh: Nimesh Patel graduated from the University of Leicester with an MSc in applied computation and numerical modeling. During this time, a project collaboration with one of University of Leicesters partners was undertaken, dealing with Machine Learning for Hand Gesture recognition. Since then, he has worked in the industry, researching Machine Learning for Computer Vision related tasks, such as Depth Estimation. Araujo Leonardo: Leonardo Araujo is just the regular, Brazilian, curious engineer, who has worked in the industry for the past 19 years (yes, in Brazil, people work before graduation), doing HW/SW development and research on the topics of control engineering and computer vision. For the past 6 years, he has focused more on Machine Learning methods. His passions are too many to put on the book.
- Summary:
- Learn how to apply TensorFlow to a wide range of deep learning and Machine Learning problems with this practical guide on training CNNs for image classification, image recognition, object detection and many computer vision challenges. Key Features Learn the fundamentals of Convolutional Neural Networks Harness Python and Tensorflow to train CNNs Build scalable deep learning models that can process millions of items Book Description Convolutional Neural Networks (CNN) are one of the most popular architectures used in computer vision apps. This book is an introduction to CNNs through solving real-world problems in deep learning while teaching you their implementation in popular Python library - TensorFlow. By the end of the book, you will be training CNNs in no time! We start with an overview of popular machine learning and deep learning models, and then get you set up with a TensorFlow development environment. This environment is the basis for implementing and training deep learning models in later chapters. Then, you will use Convolutional Neural Networks to work on problems such as image classification, object detection, and semantic segmentation. After that, you will use transfer learning to see how these models can solve other deep learning problems. You will also get a taste of implementing generative models such as autoencoders and generative adversarial networks. Later on, you will see useful tips on machine learning best practices and troubleshooting. Finally, you will learn how to apply your models on large datasets of millions of images. What you will learn Train machine learning models with TensorFlow Create systems that can evolve and scale during their life cycle Use CNNs in image recognition and classification Use TensorFlow for building deep learning models Train popular deep learning models Fine-tune a neural network to improve the quality of results with transfer learning Build TensorFlow models that can scale to large datasets and systems Who this book is for This book is for Software Engineers, Data Scientists, or Machine Learning practitioners who want to use CNNs for solving real-world problems. Knowledge of basic machine learning concepts, linear algebra and Python will help.
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: Setup and Introduction to TensorFlow
- The TensorFlow way of thinking
- Setting up and installing TensorFlow
- Conda environments
- Checking whether your installation works
- TensorFlow API levels
- Eager execution
- Building your first TensorFlow model
- One-hot vectors
- Splitting into training and test sets
- Creating TensorFlow graphs
- Variables
- Operations
- Feeding data with placeholders
- Initializing variables
- Training our model
- Loss functions
- Optimization
- Evaluating a trained model
- The session
- Summary
- Chapter 2: Deep Learning and Convolutional Neural Networks
- AI and ML
- Types of ML
- Old versus new ML
- Artificial neural networks
- Activation functions
- The XOR problem
- Training neural networks
- Backpropagation and the chain rule
- Batches
- The optimizer and its hyperparameters
- Underfitting versus overfitting
- Feature scaling
- Fully connected layers
- A TensorFlow example for the XOR problem
- Convolutional neural networks
- Convolution
- Input padding
- Calculating the number of parameters (weights)
- Calculating the number of operations
- Converting convolution layers into fully connected layers
- The pooling layer
- 1x1 Convolution
- Calculating the receptive field
- Building a CNN model in TensorFlow
- TensorBoard
- Other types of convolutions
- Chapter 3: Image Classification in TensorFlow
- CNN model architecture
- Cross-entropy loss (log loss)
- Multi-class cross entropy loss
- The train/test dataset split
- Datasets
- ImageNet
- CIFAR
- Loading CIFAR
- Image classification with TensorFlow
- Building the CNN graph
- Learning rate scheduling
- Introduction to the tf.data API.
- The main training loop
- Model Initialization
- Do not initialize all weights with zeros
- Initializing with a mean zero distribution
- Xavier-Bengio and the Initializer
- Improving generalization by regularizing
- L2 and L1 regularization
- Dropout
- The batch norm layer
- Chapter 4: Object Detection and Segmentation
- Image classification with localization
- Localization as regression
- TensorFlow implementation
- Other applications of localization
- Object detection as classification - Sliding window
- Using heuristics to guide us (R-CNN)
- Problems
- Fast R-CNN
- Faster R-CNN
- Region Proposal Network
- RoI Pooling layer
- Conversion from traditional CNN to Fully Convnets
- Single Shot Detectors - You Only Look Once
- Creating training set for Yolo object detection
- Evaluating detection (Intersection Over Union)
- Filtering output
- Anchor Box
- Testing/Predicting in Yolo
- Detector Loss function (YOLO loss)
- Loss Part 1
- Loss Part 2
- Loss Part 3
- Semantic segmentation
- Max Unpooling
- Deconvolution layer (Transposed convolution)
- The loss function
- Labels
- Improving results
- Instance segmentation
- Mask R-CNN
- Chapter 5: VGG, Inception Modules, Residuals, and MobileNets
- Substituting big convolutions
- Substituting the 3x3 convolution
- VGGNet
- Architecture
- Parameters and memory calculation
- Code
- More about VGG
- GoogLeNet
- Inception module
- More about GoogLeNet
- Residual Networks
- MobileNets
- Depthwise separable convolution
- Control parameters
- More about MobileNets
- Chapter 6: Autoencoders, Variational Autoencoders, and Generative Adversarial Networks
- Why generative models
- Autoencoders
- Convolutional autoencoder example
- Uses and limitations of autoencoders
- Variational autoencoders.
- Parameters to define a normal distribution
- VAE loss function
- Kullback-Leibler divergence
- Training the VAE
- The reparameterization trick
- Convolutional Variational Autoencoder code
- Generating new data
- Generative adversarial networks
- The discriminator
- The generator
- GAN loss function
- Generator loss
- Discriminator loss
- Putting the losses together
- Training the GAN
- Deep convolutional GAN
- WGAN
- BEGAN
- Conditional GANs
- Problems with GANs
- Loss interpretability
- Mode collapse
- Techniques to improve GANs' trainability
- Minibatch discriminator
- Chapter 7: Transfer Learning
- When?
- How? An overview
- How? Code example
- TensorFlow useful elements
- An autoencoder without the decoder
- Selecting layers
- Training only some layers
- Complete source
- Chapter 8: Machine Learning Best Practices and Troubleshooting
- Building Machine Learning Systems
- Data Preparation
- Split of Train/Development/Test set
- Mismatch of the Dev and Test set
- When to Change Dev/Test Set
- Bias and Variance
- Data Imbalance
- Collecting more data
- Look at your performance metric
- Data synthesis/Augmentation
- Resample Data
- Loss function Weighting
- Evaluation Metrics
- Code Structure best Practice
- Singleton Pattern
- Recipe for CNN creation
- Chapter 9: Training at Scale
- Storing data in TFRecords
- Making a TFRecord
- Storing encoded images
- Sharding
- Making efficient pipelines
- Parallel calls for map transformations
- Getting a batch
- Prefetching
- Tracing your graph
- Distributed computing in TensorFlow
- Model/data parallelism
- Synchronous/asynchronous SGD
- When data does not fit on one computer
- The advantages of NoSQL systems
- Installing Cassandra (Ubuntu 16.04)
- The CQLSH tool
- Creating databases, tables, and indexes.
- Doing queries in Python
- Populating tables in Python
- Doing backups
- Scaling computation in the cloud
- EC2
- AMI
- Storage (S3)
- SageMaker
- References
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 7
- Chapter 9
- Other Books You May Enjoy
- Index.
- Notes:
- Description based on print version record.
- ISBN:
- 9781789132823
- 1789132827
- OCLC:
- 1056157565
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.