0% found this document useful (0 votes)
186 views1 page

Keras Cheat Sheet Python For Data Science: Model Architecture Inspect Model

This document provides a summary of Keras model architecture, compilation, training and common neural network types. It shows how to define sequential models, add layers, compile models for classification and regression tasks, and train models. Common neural network types demonstrated include multilayer perceptrons, convolutional neural networks and recurrent neural networks.

Uploaded by

ludihemicar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views1 page

Keras Cheat Sheet Python For Data Science: Model Architecture Inspect Model

This document provides a summary of Keras model architecture, compilation, training and common neural network types. It shows how to define sequential models, add layers, compile models for classification and regression tasks, and train models. Common neural network types demonstrated include multilayer perceptrons, convolutional neural networks and recurrent neural networks.

Uploaded by

ludihemicar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

> Model Architecture > Inspect Model

Sequential Model
Python For Data Science

>>> model.output_shape #Model output shape

>>> model.summary() #Model summary representation

>>> model.get_config() #Model configuration

>>> from tensorflow.keras.models import Sequential


>>> model.get_weights() #List all weight tensors in the model

Keras Cheat Sheet


>>> model = Sequential()

>>> model2 = Sequential()

>>> model3 = Sequential()

Multilayer Perceptron (MLP)


> Compile Model
Learn Keras online at www.DataCamp.com
MLP: Binary Classification
Binary Classification
>>> model.compile(optimizer='adam',

>>> from tensorflow.keras.layers import Dense


loss='binary_crossentropy',

>>> model.add(Dense(12,
metrics=['accuracy'])
input_dim=8,

MLP: Multi-Class Classification


kernel_initializer='uniform',

Keras activation='relu'))

>>> model.add(Dense(8,kernel_initializer='uniform',activation='relu'))

>>> model.compile(optimizer='rmsprop',

loss='categorical_crossentropy',

>>> model.add(Dense(1,kernel_initializer='uniform',activation='sigmoid')) metrics=['accuracy'])


Keras is a powerful and easy-to-use deep learning library forTheano and Multi-Class Classification MLP: Regression
TensorFlow that provides a high-level neural networks API to develop and >>> from tensorflow.keras.layers import Dropout
>>> model.compile(optimizer='rmsprop',

>>> model.add(Dense(512,activation='relu',input_shape=(784,)))
loss='mse',

evaluate deep learning models. >>> model.add(Dropout(0.2))


metrics=['mae'])
>>> model.add(Dense(512,activation='relu'))

A Basic Example >>> model.add(Dropout(0.2))

Recurrent Neural Network


>>> import numpy as np
>>> model.add(Dense(10,activation='softmax')) >>> model3.compile(loss='binary_crossentropy',

>>> from tensorflow.keras.models import Sequential


optimizer='adam',

>>> from tensorflow.keras.layers import Dense


Regression metrics=['accuracy'])
>>> data = np.random.random((1000,100))
>>> model.add(Dense(64,activation='relu',input_dim=train_data.shape[1]))

>>> labels = np.random.randint(2,size=(1000,1))


>>> model.add(Dense(1))
>>> model = Sequential()

>>> model.add(Dense(32,

activation='relu',
Convolutional Neural Network (CNN) > Model Training
input_dim=100))

>>> model.add(Dense(1, activation='sigmoid'))


>>> from tensorflow.keras.layers import Activation,Conv2D,MaxPooling2D,Flatten
>>> model3.fit(x_train4,

>>> model.compile(optimizer='rmsprop',
>>> model2.add(Conv2D(32,(3,3),padding='same',input_shape=x_train.shape[1:]))
y_train4,

loss='binary_crossentropy',
>>> model2.add(Activation('relu'))
batch_size=32,

metrics=['accuracy'])
>>> model2.add(Conv2D(32,(3,3)))
epochs=15,

>>> model.fit(data,labels,epochs=10,batch_size=32)
>>> model2.add(Activation('relu'))
verbose=1,

>>> predictions = model.predict(data) >>> model2.add(MaxPooling2D(pool_size=(2,2)))


validation_data=(x_test4,y_test4))
>>> model2.add(Dropout(0.25))

>>> model2.add(Conv2D(64,(3,3), padding='same'))

> Data
>>> model2.add(Activation('relu'))

>>>
>>>
model2.add(Conv2D(64,(3, 3)))

model2.add(Activation('relu'))
> Evaluate Your Model's Performance
>>> model2.add(MaxPooling2D(pool_size=(2,2)))

Your data needs to be stored as NumPy arrays or as a list of NumPy arrays. Ideally, you split the data in training and >>> model2.add(Dropout(0.25))
>>> score = model3.evaluate(x_test,

test sets, for which you can also resort to the train_test_split module of sklearn.cross_validation. >>> model2.add(Flatten())
y_test,

>>> model2.add(Dense(512))
batch_size=32)
>>> model2.add(Activation('relu'))

Keras Data Sets >>> model2.add(Dropout(0.5))

>>> model2.add(Dense(num_classes))

>>>
>>>
from tensorflow.keras.datasets import boston_housing, mnist, cifar10, imdb

(x_train,y_train),(x_test,y_test) = mnist.load_data()

>>> model2.add(Activation('softmax'))
> Save/ Reload Models
>>>
>>>
(x_train2,y_train2),(x_test2,y_test2) = boston_housing.load_data()

(x_train3,y_train3),(x_test3,y_test3) = cifar10.load_data()

Recurrent Neural Network (RNN) >>> from keras.models import load_model

>>> (x_train4,y_train4),(x_test4,y_test4) = imdb.load_data(num_words=20000)


>>> model3.save('model_file.h5')

>>> num_classes = 10 >>> from tensorflow.keras.klayers import Embedding,LSTM


>>> my_model = load_model('my_model.h5')
>>> model3.add(Embedding(20000,128))

>>> model3.add(LSTM(128,dropout=0.2,recurrent_dropout=0.2))

Other >>> model3.add(Dense(1,activation='sigmoid'))

>>> from urllib.request import urlopen


> Model Fine-tuning
> Prediction
>>> data =
np.loadtxt(urlopen("http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-di
abetes/pima-indians-diabetes.data"),delimiter=",")
Optimization Parameters
>>> X = data[:,0:8]

>>> y = data [:,8] >>> model3.predict(x_test4, batch_size=32)


>>> from tensorflow.keras.optimizers import RMSprop

>>> model3.predict_classes(x_test4,batch_size=32) >>> opt = RMSprop(lr=0.0001, decay=1e-6)

>>> model2.compile(loss='categorical_crossentropy',

optimizer=opt,

> Preprocessing Also see NumPy & Scikit-Learn metrics=['accuracy'])

Early Stopping
Sequence Padding Train and Test Sets
>>> from tensorflow.keras.callbacks import EarlyStopping

>>> from tensorflow.keras.preprocessing import sequence


>>> from sklearn.model_selection import train_test_split
>>> early_stopping_monitor = EarlyStopping(patience=2)

>>> x_train4 = sequence.pad_sequences(x_train4,maxlen=80)


>>> X_train5,X_test5,y_train5,y_test5 = train_test_split(X, y,
>>> model3.fit(x_train4,

>>> x_test4 = sequence.pad_sequences(x_test4,maxlen=80) test_size=0.33,


y_train4,

random_state=42) batch_size=32,

epochs=15,

One-Hot Encoding validation_data=(x_test4,y_test4),

Standardization/Normalization callbacks=[early_stopping_monitor])
>>> from tensorflow.keras.utils import to_categorical

>>> Y_train = to_categorical(y_train, num_classes)


>>> from sklearn.preprocessing import StandardScaler

>>> Y_test = to_categorical(y_test, num_classes)


>>> scaler = StandardScaler().fit(x_train2)

>>> Y_train3 = to_categorical(y_train3, num_classes)


>>> standardized_X = scaler.transform(x_train2)

>>> Y_test3 = to_categorical(y_test3, num_classes) >>> standardized_X_test = scaler.transform(x_test2) Learn Data Skills Online at www.DataCamp.com

You might also like