Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions tensorflow_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
from tensorflow.keras.optimizers import *
from tensorflow.keras.callbacks import ReduceLROnPlateau
from tensorflow.keras import Model, Input
import ssl
import certifi
ssl._create_default_https_context = lambda: ssl.create_default_context(cafile=certifi.where())

def get_available_devices():
local_device_protos = device_lib.list_local_devices()
Expand Down
3 changes: 3 additions & 0 deletions tensorflow_nlp.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
from lime.lime_text import LimeTextExplainer
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
import ssl
import certifi
ssl._create_default_https_context = lambda: ssl.create_default_context(cafile=certifi.where())

# Load the IMDb dataset
(train_data, train_labels), (test_data, test_labels) = keras.datasets.imdb.load_data(num_words=10000)
Expand Down
42 changes: 29 additions & 13 deletions tensorflow_timeseries_regression.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@

# In[33]:

import ssl
import certifi
ssl._create_default_https_context = lambda: ssl.create_default_context(cafile=certifi.where())

from tensorflow.keras.layers import *
from tensorflow.keras.models import *
Expand Down Expand Up @@ -312,7 +315,12 @@ def evaluate_multi_timeseries_model(timeseries_df, n_folds=5, multivar=False):
origin='https://storage.googleapis.com/tensorflow/tf-keras-datasets/jena_climate_2009_2016.csv.zip',
fname='jena_climate_2009_2016.csv.zip',
extract=True)
csv_path, _ = os.path.splitext(zip_path) #We load the dataset in a csv_file
# On macOS the zip extracts to a folder, so we need to find the CSV inside it
extracted = os.path.splitext(zip_path)[0]
if os.path.isdir(extracted):
csv_path = os.path.join(extracted, 'jena_climate_2009_2016.csv')
else:
csv_path = extracted



Expand Down Expand Up @@ -540,10 +548,10 @@ def evaluate_timeseries_model(df, n_folds=5, multivar=False):
# Basic ANN
class EarlyStoppingCallback(tf.keras.callbacks.Callback):

def on_epoch_end(self,epoch, logs=None):
if logs['accuracy'] >0.90:
print("Accuracy greater than 90%. Stopping Training.")
self.model.stop_training=True
def on_epoch_end(self, epoch, logs=None):
if logs['val_loss'] < 0.54:
print("Val loss threshold reached. Stopping.")
self.model.stop_training = True

def val_dnn_model(epochs, X_train, Y_train, X_val, Y_val, callbacks=None):
model = tf.keras.models.Sequential([
Expand Down Expand Up @@ -581,16 +589,16 @@ def val_dnn_model(epochs, X_train, Y_train, X_val, Y_val, callbacks=None):
def vtoc_regression_model(norm, model_type):
if model_type=='linear':
model = Sequential()
model.add(norm())
model.add(norm)
model.add(Dense(1))
else:
model = Sequential()
model.add(norm())
model.add(norm)
model.add(Dense(64, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(1))

model.compile(optimizer=tf.optimizers.Adam(learning_rate=0.1), loss='mean_absolute_error')
model.compile(optimizer=tf.optimizers.Adam(learning_rate=0.01), loss='mean_absolute_error')

return model

Expand All @@ -603,15 +611,23 @@ def eval_regression_data(dataset, target):
Y=dataset[target]
X=dataset.loc[:, dataset.columns != target]
X_train, X_test, Y_train, Y_test = train_test_split(X,Y, test_size=0.3)
horsepower = np.array(X_train['Horsepower']).astype('float32')
horsepower = np.array(X_train['Horsepower']).astype('float32').reshape(-1, 1)

horsepower_normalizer = Normalization(input_shape=[1,], axis=None)
horsepower_normalizer = Normalization(axis=-1)
horsepower_normalizer.adapt(horsepower)

linear_model=vtoc_regression_model(horsepower_normalizer, model_type='linear')
horsepower_test = np.array(X_test['Horsepower']).astype('float32')
history = linear_model.fit(horsepower, Y_train, validation_data=(horsepower_test, Y_test), epochs=100, verbose=2)
test_results = linear_model.predict(horsepower_test)
horsepower_test = np.array(X_test['Horsepower']).astype('float32').reshape(-1, 1)

# Scale Y so loss is in a sensible range
y_mean = Y_train.mean()
y_std = Y_train.std()
Y_train_scaled = (Y_train - y_mean) / y_std
Y_test_scaled = (Y_test - y_mean) / y_std

early_stopping = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True)
history = linear_model.fit(horsepower, Y_train_scaled, validation_data=(horsepower_test, Y_test_scaled), epochs=100, verbose=2, callbacks=[early_stopping])
test_results = linear_model.predict(horsepower_test) * y_std + y_mean # unscale predictions
return test_results


Expand Down