Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Neural Network Programming with TensorFlow

You're reading from   Neural Network Programming with TensorFlow Unleash the power of TensorFlow to train efficient neural networks

Arrow left icon
Product type Paperback
Published in Nov 2017
Publisher Packt
ISBN-13 9781788390392
Length 274 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Manpreet Singh Ghotra Manpreet Singh Ghotra
Author Profile Icon Manpreet Singh Ghotra
Manpreet Singh Ghotra
Rajdeep Dua Rajdeep Dua
Author Profile Icon Rajdeep Dua
Rajdeep Dua
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Maths for Neural Networks FREE CHAPTER 2. Deep Feedforward Networks 3. Optimization for Neural Networks 4. Convolutional Neural Networks 5. Recurrent Neural Networks 6. Generative Models 7. Deep Belief Networking 8. Autoencoders 9. Research in Neural Networks 10. Getting started with TensorFlow

Basic autoencoders


Let's look at a basic example of an autoencoder that also happens to be a basic autoencoder. First, we will create an AutoEncoder class and initialize it with the following parameters passed to __init__():

  • num_input: Number of input samples
  • num_hidden: Number of neurons in the hidden layer
  • transfer_function=tf.nn.softplus: Transfer function
  • optimizer = tf.train.AdamOptimizer(): Optimizer

Note

You can either pass a custom transfer_function and optimizer or use the default one specified. In our example, we are using softplus as the default transfer_function (also called activation function): f(x)=ln(1+ex).

Autoencoder initialization

First, we initialize the class variables and weights:

 self.num_input = num_input
 self.num_hidden = num_hidden
 self.transfer = transfer_function
 network_weights = self._initialize_weights()
 self.weights = network_weights

Here, the _initialize_weigths() function is a local function that initializes values for the weights dictionary:

  • w1 is a 2D tensor...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image