Skip to content

Commit 61f8c65

Browse files
Bug fixes :
- Added base version in DockerFile - Updated requirements accordingly Features: - Updated the API calls to deploy interms of model_name and model_version instead of model_run_id
1 parent 28ae13a commit 61f8c65

File tree

6 files changed

+133
-22
lines changed

6 files changed

+133
-22
lines changed

CHANGELOG.rst

+14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
Changelog
22
=========
3+
4+
1.11.1 (2021-04-02)
5+
-------------------
6+
MLflow 1.11.0 includes several major features and improvements:
7+
8+
Bug fixes :
9+
10+
- Added base version in DockerFile
11+
- Updated requirements accordingly
12+
13+
Features:
14+
15+
- Updated the API calls to deploy interms of model_name and model_version instead of model_run_id
16+
317
1.11.0 (2020-08-31)
418
-------------------
519
MLflow 1.11.0 includes several major features and improvements:

Dockerfile

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM continuumio/miniconda3
1+
FROM continuumio/miniconda3:4.8.2
22

33
WORKDIR /app
44

@@ -9,22 +9,23 @@ ARG REACT_APP_MODEL_INFERENCE_API
99

1010
ENV REACT_APP_MODEL_DEPLOYMENT_URL ${REACT_APP_MODEL_INFERENCE_API}
1111
ENV REACT_APP_MODEL_INFERENCE_API ${REACT_APP_MODEL_INFERENCE_API}
12-
13-
RUN apt-get update && \
12+
#Ri pip install --upgrade pip
13+
RUN apt-get update
1414
# install prequired modules to support install of mlflow and related components
15-
apt-get install -y default-libmysqlclient-dev build-essential curl \
15+
RUN apt-get install -y default-libmysqlclient-dev build-essential curl \
1616
# cmake and protobuf-compiler required for onnx install
17-
cmake protobuf-compiler && \
17+
cmake protobuf-compiler
1818
# install required python packages
19-
pip install -r dev-requirements.txt --no-cache-dir && \
20-
pip install -r test-requirements.txt --no-cache-dir && \
19+
RUN pip install --upgrade pip
20+
RUN pip install --use-deprecated=legacy-resolver -r dev-requirements.txt --no-cache-dir
21+
RUN pip install --use-deprecated=legacy-resolver -r test-requirements.txt --no-cache-dir
2122
# install mlflow in editable form
22-
pip install --no-cache-dir -e . && \
23+
RUN pip install --use-deprecated=legacy-resolver --no-cache-dir -e .
2324
# mkdir required to support install openjdk-11-jre-headless
24-
mkdir -p /usr/share/man/man1 && apt-get install -y openjdk-11-jre-headless && \
25+
RUN mkdir -p /usr/share/man/man1 && apt-get install -y openjdk-11-jre-headless
2526
# install npm for node.js support
26-
curl -sL https://deb.nodesource.com/setup_10.x | bash - && \
27-
apt-get update && apt-get install -y nodejs && \
28-
cd mlflow/server/js && \
27+
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
28+
RUN apt-get update && apt-get install -y nodejs
29+
RUN cd mlflow/server/js && \
2930
npm install && \
3031
npm run build

dev/large-requirements.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ boto3==1.9.84
66
mock==2.0.0
77
moto==1.3.7
88
h2o==3.22.1.4
9-
onnx==1.4.1;
10-
onnxmltools==1.4.0;
11-
onnxruntime==0.3.0;
9+
onnx==1.4.1
10+
onnxmltools==1.4.0
11+
onnxruntime==1.2.0
1212
mleap==0.16.0
1313
mxnet==1.5.0
1414
pyarrow==0.17.0
1515
pyspark==2.4.0
1616
pytest==3.2.1
1717
pytest-cov==2.6.0
1818
scikit-learn==0.23.2
19-
scipy==1.2.1
19+
#scipy==1.2.1
2020
spacy==2.2.3
21-
tensorflow==1.15.2
22-
tf2onnx==1.5.4;
21+
tensorflow==2.3.0
22+
tf2onnx==1.5.4
2323
torch==1.4.0
2424
torchvision==0.5.0
2525
xgboost>=0.82

dev/small-requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mock==2.0.0
77
moto==1.3.7
88
mxnet==1.5.0
99
scikit-learn==0.23.2
10-
scipy==1.2.1
10+
#scipy==1.2.1
1111
pyarrow==0.17.0
1212
pysftp==0.2.9
1313
attrdict==2.0.0

mlflow/server/js/src/model-registry/components/ModelVersionView.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { getModelVersionTags } from '../reducers';
2828
import { setModelVersionTagApi, deleteModelVersionTagApi } from '../actions';
2929
import { connect } from 'react-redux';
3030

31-
var MODEL_DEPLOYMENT_URL="http://"+window.location.hostname+":5000/workflow/deploy";
31+
var MODEL_DEPLOYMENT_URL="http://"+window.location.hostname+":8080/workflow/trainedmodelsview/deploy" //+":5000/workflow/deploy";
3232
var MODEL_INFERENCE_API=window.location.hostname+":8500";
3333

3434
export class ModelVersionViewImpl extends React.Component {
@@ -67,12 +67,12 @@ export class ModelVersionViewImpl extends React.Component {
6767
const pageTitle = `${this.props.modelName} v${this.props.modelVersion.version} - MLflow Model`;
6868
Utils.updatePageTitle(pageTitle);
6969
checkDeploymentStatus(
70-
this.props.modelVersion.run_id,
70+
this.props.modelVersion.name +"_"+this.props.modelVersion.version,
71+
// this.props.modelVersion.run_id,
7172
MODEL_DEPLOYMENT_URL,
7273
MODEL_INFERENCE_API,
7374
this.updateDeploymentState.bind(this));
7475
}
75-
7676
handleModelDeployment = () => {
7777
var modelInfo = this.props.modelVersion;
7878
if (this.state.isModelDeployed === true) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
import React from 'react';
2+
import { Tag } from 'antd';
3+
// eslint-disable-next-line
4+
import * as overrides from './constant-overrides'; // eslint-disable-line import/no-namespace
5+
6+
export const Stages = {
7+
NONE: 'None',
8+
STAGING: 'Staging',
9+
PRODUCTION: 'Production',
10+
ARCHIVED: 'Archived',
11+
};
12+
13+
export const ACTIVE_STAGES = [Stages.STAGING, Stages.PRODUCTION];
14+
15+
export const StageLabels = {
16+
[Stages.NONE]: 'None',
17+
[Stages.STAGING]: 'Staging',
18+
[Stages.PRODUCTION]: 'Production',
19+
[Stages.ARCHIVED]: 'Archived',
20+
};
21+
22+
export const StageTagComponents = {
23+
[Stages.NONE]: <Tag key='none'>{StageLabels[Stages.NONE]}</Tag>,
24+
[Stages.STAGING]: (
25+
<Tag key='staging' className='staging-tag'>
26+
{StageLabels[Stages.STAGING]}
27+
</Tag>
28+
),
29+
[Stages.PRODUCTION]: (
30+
<Tag key='production' className='production-tag'>
31+
{StageLabels[Stages.PRODUCTION]}
32+
</Tag>
33+
),
34+
[Stages.ARCHIVED]: (
35+
<Tag key='archived' color='#eee' style={{ color: '#333' }}>
36+
{StageLabels[Stages.ARCHIVED]}
37+
</Tag>
38+
),
39+
};
40+
41+
export const ActivityTypes = {
42+
APPLIED_TRANSITION: 'APPLIED_TRANSITION',
43+
REQUESTED_TRANSITION: 'REQUESTED_TRANSITION',
44+
SYSTEM_TRANSITION: 'SYSTEM_TRANSITION',
45+
CANCELLED_REQUEST: 'CANCELLED_REQUEST',
46+
APPROVED_REQUEST: 'APPROVED_REQUEST',
47+
REJECTED_REQUEST: 'REJECTED_REQUEST',
48+
NEW_COMMENT: 'NEW_COMMENT',
49+
};
50+
51+
export const EMPTY_CELL_PLACEHOLDER = <div style={{ marginTop: -12 }}>_</div>;
52+
53+
export const ModelVersionStatus = {
54+
READY: 'READY',
55+
};
56+
57+
export const DefaultModelVersionStatusMessages = {
58+
[ModelVersionStatus.READY]: 'Ready.',
59+
};
60+
61+
export const modelVersionStatusIconTooltips = {
62+
[ModelVersionStatus.READY]: 'Ready',
63+
};
64+
65+
export const ModelVersionStatusIcons = {
66+
[ModelVersionStatus.READY]: (
67+
<i className='far fa-check-circle icon-ready model-version-status-icon' />
68+
),
69+
};
70+
71+
export const MODEL_VERSION_STATUS_POLL_INTERVAL = 10000;
72+
73+
export const REGISTERED_MODELS_PER_PAGE = 10;
74+
75+
export const REGISTERED_MODELS_SEARCH_NAME_FIELD = 'name';
76+
77+
export const REGISTERED_MODELS_SEARCH_TIMESTAMP_FIELD = 'timestamp';
78+
79+
export const MODEL_DEPLOYMENT_URL = process.env.REACT_APP_MODEL_DEPLOYMENT_URL || 'http://localhost:8080/trainedmodelsview/deploy';
80+
81+
export const MODEL_INFERENCE_API = process.env.REACT_APP_MODEL_INFERENCE_API || 'tfserving:8500';
82+
83+
export const AntdTableSortOrder = {
84+
ASC: 'ascend',
85+
DESC: 'descend',
86+
};
87+
88+
export const MODEL_VERSION_DELETE_MENU_ITEM_DISABLED_TOOLTIP_TEXT = `You cannot delete a model
89+
version in an active stage. To delete this model version, transition it to the 'Archived' stage.`;
90+
91+
export const REGISTERED_MODEL_DELETE_MENU_ITEM_DISABLED_TOOLTIP_TEXT = `You cannot delete a
92+
registered model with versions in active stages ('Staging' or 'Production'). To delete this
93+
registered model, transition versions in active stages to the 'Archived' stage.`;
94+
95+
export const archiveExistingVersionToolTipText = (currentStage) => `Model versions in the
96+
'${currentStage}' stage will be moved to the 'Archived' stage.`;

0 commit comments

Comments
 (0)