evaluation
This commit is contained in:
parent
230db36e4a
commit
f2c10e7647
34
evaluation/Jenkinsfile
vendored
Normal file
34
evaluation/Jenkinsfile
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
pipeline {
|
||||
agent {
|
||||
dockerfile true
|
||||
}
|
||||
stages {
|
||||
stage('Copy Archive') {
|
||||
steps {
|
||||
script {
|
||||
step ([$class: 'CopyArtifact',
|
||||
projectName: 's434700-training',
|
||||
filter: 'model.pt',
|
||||
target: 'model'])
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('checkout: Check out from version control') {
|
||||
steps {
|
||||
git 'https://git.wmi.amu.edu.pl/s434700/ium_s434700.git'
|
||||
}
|
||||
}
|
||||
stage('evaluation') {
|
||||
steps {
|
||||
sh 'python ./evaluation/eval.py'
|
||||
sh 'python ./evaluation/plot.py'
|
||||
}
|
||||
}
|
||||
stage('archiveArtifacts') {
|
||||
steps {
|
||||
archiveArtifacts 'model_results.csv'
|
||||
archiveArtifacts 'model_results.png'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
59
evaluation/eval.py
Normal file
59
evaluation/eval.py
Normal file
@ -0,0 +1,59 @@
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import seaborn as sns
|
||||
import torch
|
||||
import datetime
|
||||
from torch.autograd import Variable
|
||||
import csv
|
||||
|
||||
INPUT_DIM = 1
|
||||
OUTPUT_DIM = 1
|
||||
LEARNING_RATE = 0.01
|
||||
EPOCHS = 100
|
||||
|
||||
|
||||
dataset = pd.read_csv('train_set.csv')
|
||||
|
||||
# create dummy data for training
|
||||
x_values = [datetime.datetime.strptime(
|
||||
item, "%Y-%m-%d").month for item in dataset['date'].values]
|
||||
x_train = np.array(x_values, dtype=np.float32)
|
||||
x_train = x_train.reshape(-1, 1)
|
||||
|
||||
y_values = [min(dataset['result_1'].values[i]/dataset['result_2'].values[i], dataset['result_2'].values[i] /
|
||||
dataset['result_1'].values[i]) for i in range(len(dataset['result_1'].values))]
|
||||
y_train = np.array(y_values, dtype=np.float32)
|
||||
y_train = y_train.reshape(-1, 1)
|
||||
|
||||
|
||||
class LinearRegression(torch.nn.Module):
|
||||
def __init__(self, inputSize, outputSize):
|
||||
super(LinearRegression, self).__init__()
|
||||
self.linear = torch.nn.Linear(inputSize, outputSize)
|
||||
|
||||
def forward(self, x):
|
||||
out = self.linear(x)
|
||||
return out
|
||||
|
||||
|
||||
model = LinearRegression(INPUT_DIM, OUTPUT_DIM)
|
||||
|
||||
model.load_state_dict(torch.load("model/model.pt"), strict=False)
|
||||
|
||||
|
||||
# testing data
|
||||
|
||||
with torch.no_grad(): # we don't need gradients in the testing phase
|
||||
predicted = model(Variable(torch.from_numpy(x_train))).data.numpy()
|
||||
|
||||
|
||||
with open('model_results.csv', mode='w') as filee:
|
||||
writer = csv.writer(filee, delimiter=',', quotechar='"',
|
||||
quoting=csv.QUOTE_MINIMAL)
|
||||
|
||||
writer.writerow(['x', 'y', 'predicted_y'])
|
||||
|
||||
for i in range(len(x_train)):
|
||||
writer.writerow([x_train[i][0], y_train[i][0], predicted[i][0]])
|
14
evaluation/plot.py
Normal file
14
evaluation/plot.py
Normal file
@ -0,0 +1,14 @@
|
||||
import matplotlib.pyplot as plt
|
||||
import pandas as pd
|
||||
|
||||
results = pd.read_csv('model_results.csv')
|
||||
|
||||
x_train = results['x']
|
||||
y_train = results['y']
|
||||
predicted = results['predicted_y']
|
||||
|
||||
plt.clf()
|
||||
plt.plot(x_train, y_train, 'go', label='True data', alpha=0.5)
|
||||
plt.plot(x_train, predicted, '--', label='Predictions', alpha=0.5)
|
||||
plt.legend(loc='best')
|
||||
plt.savefig('model_results.png')
|
Loading…
Reference in New Issue
Block a user