CoolFace
Apppublic

chrisvlds/MLProject

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
projectModelCreation.py77 linesDownload Raw Back to root
1import pickle2import numpy as np3import pandas as pd4from tensorflow import keras5from keras.models import Sequential6from keras.layers import Dense7import tensorflow as tf8from sklearn.preprocessing import LabelEncoder9from keras.datasets import mnist10from keras.utils import np_utils11from keras.models import Sequential12from keras.layers import Dense, Flatten, Conv2D, MaxPooling2D13import matplotlib.pyplot as plt14import numpy as np15 16upData = pd.read_csv('squat_up.csv', header=None, usecols=[1, 2, 3, 4, 5])17upData = pd.DataFrame(upData)18upData = upData.to_numpy()19upData = upData.astype('float32')20upData = np.delete(upData, 0, 0)21 22downData = pd.read_csv('squat_down2.csv', header=None, usecols=[1, 2, 3, 4, 5])23downData = pd.DataFrame(downData)24downData = downData.to_numpy()25downData = downData.astype('float32')26downData = np.delete(downData, 0, 0)27 28data = np.concatenate([upData, downData], axis=0)29np.random.shuffle(data)30numD = len(data)31setData = round(numD * 0.2)32test = data[:setData]33train = data[setData:]34trainX = train[:, :4]35testX = test[:, :4]36trainY = train[:, 4]37testY = test[:, 4]38 39encoding = LabelEncoder()40encoding.fit(testY)41testY = encoding.transform(testY)42testY = tf.keras.utils.to_categorical(testY)43encoding.fit(trainY)44trainY = encoding.transform(trainY)45trainY = tf.keras.utils.to_categorical(trainY)46 47model = Sequential()48#model.add(Dense(16, input_dim=4, activation='sigmoid'))49#model.add(Dense(2, activation='sigmoid'))50model.add(Dense(64, input_dim=4, activation='relu'))51model.add(Dense(32, activation='relu'))52model.add(Dense(16, activation='relu'))53model.add(Dense(8, activation='relu'))54model.add(Dense(2, activation='sigmoid'))55model.compile(loss='categorical_crossentropy', metrics=['acc'])56history = model.fit(trainX, trainY, batch_size=1, epochs=100, validation_data=(testX, testY))57#history = model.fit(trainX, trainY, epochs=200, batch_size=1)58 59pickle.dump(model, open('model2.1.pkl', 'wb'))60 61plt.plot(history.history['acc'])62plt.plot(history.history['val_acc'])63plt.title('Model Accuracy')64plt.ylabel('Accuracy')65plt.xlabel('Epoch')66plt.legend(['train', 'val'], loc='upper left')67plt.show()68 69# plot training and validation loss70plt.plot(history.history['loss'])71plt.plot(history.history['val_loss'])72plt.title('Model Loss')73plt.ylabel('Loss')74plt.xlabel('Epoch')75plt.legend(['train', 'val'], loc='upper left')76plt.show()77