mlflow attempt task 2 prediction

This commit is contained in:
Kamila 2022-05-15 12:41:28 +02:00
parent 7ab7456488
commit eb7d9635b5
3 changed files with 60 additions and 0 deletions

View File

@ -18,6 +18,7 @@ RUN pip3 install sklearn
RUN pip3 install pymongo
RUN pip3 install sacred
RUN pip3 install mlflow
RUN pip3 install tarfile
CMD python3 data_expl.py
CMD python3 nn_train.py

41
Jenkinsfile_pred Normal file
View File

@ -0,0 +1,41 @@
pipeline {
agent {
dockerfile true
}
parameters {
buildSelector(
defaultSelector: lastSuccessful(),
description: 'Which build to use for copying artifacts',
name: 'BUILD_SELECTOR'
)
string(
defaultValue: 'input_example.json',
description: 'Input file name',
name: 'INPUT_FILE_NAME',
trim: false
)
}
stages {
stage('Stage 1') {
steps {
echo 'Hello world!'
}
}
stage('Copy from different Pipeline') {
steps {
copyArtifacts fingerprintArtifacts: false, projectName: 's449288-training/master', selector: buildParameter('BUILD_SELECTOR')
}
}
stage('Prediction') {
steps {
sh 'python3 predict.py $INPUT_FILE_NAME'
sh 'rm -r ml'
}
}
}
}

18
predict.py Normal file
View File

@ -0,0 +1,18 @@
import json
import mlflow
import numpy as np
import sys
import tarfile
file = tarfile.open('mlruns.tar.gz')
file.extractall('./ml')
input = str((sys.argv[1:])[0])
PATH = "ml/mlruns/1/f65f936936024133a2c03e1e486ba9cf/artifacts/model/"
model = mlflow.pytorch.load_model(f"{PATH}/MLmodel")
with open(f'[PATH]/{input}', 'r') as file:
json_data = json.load(file)
print(f"Input: {json_data['inputs'][0]}")
print(f"Prediction: {model.predict(np.array([json_data['inputs'][0]], dtype=np.float32))}")