Keras is a very convenient library to get started with deep learning. It has an intuitive API and can work with multiple backends including Tensorflow. The slides from the talk are available here.

Here is a full running example from the Keras repo with extra comments:

'''Trains a simple deep NN on the MNIST dataset.
Gets to 98.40% test accuracy after 20 epochs
(there is *a lot* of margin for parameter tuning).
2 seconds per epoch on a K520 GPU.
'''
import argparse
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.utils import to_categorical

# Arguments for the training
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("-bs", "--batch_size", default=128, type=int, help="Batch size")
parser.add_argument("-nc", "--num_classes", default=10, type=int, help="Number of classes")
parser.add_argument("-e", "--epochs", default=20, type=int, help="Number of epochs")
args = parser.parse_args()

# the data, split between train and test sets
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# Get data ready for training
x_train = x_train.reshape(60000, 784)
x_test = x_test.reshape(10000, 784)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
# It's always a good idea to print some samples
# to ensure there isn't any obvious pre-processing mistakes.
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')

# Convert class vectors to binary class matrices
y_train = to_categorical(y_train, args.num_classes)
y_test = to_categorical(y_test, args.num_classes)

# Build model
# Here we build a simple feed-forward network with
# dropout to avoid overfitting as much as possible.
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(784,)))
model.add(Dropout(0.2))
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(args.num_classes, activation='softmax'))
# The output of model is a prediction of which class
# the image belongs to.

# Prints model summary
model.summary()

model.compile(loss='categorical_crossentropy',
                optimizer='rmsprop',
                metrics=['accuracy'])

# Train the model
history = model.fit(x_train, y_train,
                    batch_size=args.batch_size,
                    epochs=args.epochs,
                    verbose=1,
                    validation_data=(x_test, y_test))

# Finally evaluate the model and print results
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])