Git Product home page Git Product logo

tensorflow-tutorial's Introduction

TensorFlow Tutorial - used by Nvidia

Learn TensorFlow from scratch by examples and visualizations with interactive jupyter notebooks. Learn to compete in the Kaggle leaf detection challenge!

All exercises are designed to be run from a CPU on a laptop, but can be accelerated with GPU resources.

Lab 1-4 was used in the Deep Learning using TensorFlow in London by Nvidia and Persontyle

Credits

Labs 1, 2, 3 and 5 have been translated from Theano/Lasagne with minor modifications from the following repositories: Nvidia Summer Camp and 02456 deep learning. Original authors: skaae, casperkaae and larsmaaloee.

Thanks to professor Ole Winther for supervision and sponsoring the labs.

Setup and Installation

Guides for downloading and installing TensorFlow on Linux, OSX and Windows using Docker can be found here.

Material

The material consists of 5 labs.

Logistic regression, feed forward neural network (FFN) on the (in)famous MNIST!

Optional reading material from Michael Nielsen chapters 1-4 (Do 3-5 of the optional exercises).

Convolutional Neural Network (CNN) and Spatial Transformer on images.

Optional reading material from Michael Nielsen chapter 6 (stop when reaching section called Other approaches to deep neural nets).

Recurrent Neural Network (RNN) on Translation using Encoder-Decoder model and Encoder-Decoder with attention.

Optional reading material from Alex Graves chapters 3.1, 3.2 and 4,

Compete in the kaggle competition Leaf Classification using FFN, CNN and RNN.

Unsupervised learning with autoencoder (AE) reconstructing the MNIST from only two latent variables.

Optional reading material from deeplearningbook.org chapter 14.

tensorflow-tutorial's People

Contributors

ahmkel avatar alrojo avatar paramsingh96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tensorflow-tutorial's Issues

Lab4 Kaggle - argument typo

In lab4 "Build the model", convolutional2d is called as

# wrapping conv with batch_norm
def conv(l_in, num_outputs, kernel_size, scope, stride=1):
    return convolution2d(l_in, num_outputs=num_outputs, kernel_size=kernel_size,
                         stride=stride, normalize_fn=batch_norm, scope=scope)

Which produces:

TypeError: convolution2d() got an unexpected keyword argument 'normalize_fn'

It should be "normalizer_fn". Adding that missing R makes it works perfectly.

Docker

Hi alrojo,

I am sure that most people have had some experience with docker. I have never used it so I had some difficulty getting Tensorboard up with the following commands. I also checked out the man page, but it seemed that there were multiple options for one flag. Would you be able to expound on the following commands?

> docker run -p 6006:6006 -v $PATH\_TO\_FOLDER/tensorflow_tutorial:/mnt/myproject -it alrojo/tf-sklearn-cpu
> cd mnt/myproject/lab6_Kaggle
> tensorboard --logdir=tensorboard

Thanks again for the great tutorial!

Only folders available in container(shared directory)

I have cloned the repository to C:\Users\Mathias\Desktop\Docker so that i have C:\Users\Mathias\Desktop\Docker\tensorflow_tutorial\download-and-setup and so on.
if I run the following command:
docker run -p 8888:8888 -v C:\Users\Mathias\Desktop\Docker\tensorflow_tutorial:/mnt/myproject -it alrojo/tf-sklearn-cpu
I have a folder named tensorflow_tutorial within /mnt/myproject/ but no files.
If i change the folder for sharing i can see subdirectories but not still not the content of these.
I feel like the point of a shared directory is to be able to share files?

Print tails

I had a suggestion, but realized it was not a big deal. And I don't know how to delete my own issue.

Thanks a lot for the tutorial. I have learned so much!

Just a little typo


print("operations")
operations = [op.name for op in tf.get_default_graph().get_operations()]
print(operations)
print

print("variables")
variables = [var.name for var in tf.all_variables()]
print(operations)

The print on last line should be:
print(variables)

How to make prediction for new cases in lab3_RNN ?

Hi ,

Its more or like a pull request . You have defined both training and validation in the decoder itself . So , I know the idea behind making new prediction .

The problem with the validation inside tf_utils.decoder is , it is always expecting the target .
But for making a prediction ( without having targets , basically predicting the target ) , we need to have a separate function . How to write that ? I know , the idea , taking the first target as EOS , and then keep on finding the argmax until we reach max_length or another EOS . Can you help to make a function , doing the same ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.