from tensorflow.keras import layers as kl from tensorflow.keras import models as km from tensorflow.keras import losses as ks from tensorflow.keras import optimizers as ko from tensorflow.keras import callbacks as kc from tensorflow.keras.preprocessing.text import Tokenizer as kT from tensorflow.keras.utils import pad_sequences as kps import numpy as np import pandas as pd import pickle print("I") t = pd.read_csv("prepped_train.csv", header = None, names = ['i', 'c', 'r']) print("R") y = t['c'] r = t['r'].astype(str) tk = kT(num_words = 6000) tk.fit_on_texts(r) with open('tokenizer.pickle', 'wb') as f: pickle.dump(tk, f, protocol = pickle.HIGHEST_PROTOCOL) print("F") s = tk.texts_to_sequences(r) print("T") ts = kps(s, maxlen = 100) print("P") ''' m = km.Sequential([ kl.Input(shape = (None, ), dtype = 'int32'), kl.Embedding(6000, 96), kl.Dropout(0.2), kl.Conv1D(128, 5, activation = 'relu'), kl.LSTM(128, return_sequences = True), kl.LSTM(64), kl.Dense(64), kl.Dropout(0.5), kl.Dense(1, activation = 'sigmoid') ]) m.compile(optimizer = ko.Lion(learning_rate = 0.0005), loss = 'binary_crossentropy', metrics = ['accuracy']) ''' ''' from model import m ckpt = kc.ModelCheckpoint('model2.keras', monitor = 'val_accuracy', save_best_only = True, verbose = 1) m.load_weights("model1.keras") history = m.fit(ts, y, epochs = 15, batch_size = 1024, validation_split = 0.1, callbacks = [ckpt]) '''