Browse Source

Merge branch 'zouap_static' of https://git.openi.org.cn/OpenI/aiforge into zouap_static

pull/3226/head
zouap 2 years ago
parent
commit
35172b8458
8 changed files with 69 additions and 64 deletions
  1. +0
    -2
      templates/repo/modelmanage/create_local_1.tmpl
  2. +0
    -2
      templates/repo/modelmanage/create_local_2.tmpl
  3. +0
    -50
      web_src/vuepages/apis/modules/fileupload.js
  4. +60
    -0
      web_src/vuepages/apis/modules/modelmanage.js
  5. +3
    -0
      web_src/vuepages/const/index.js
  6. +3
    -7
      web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue
  7. +2
    -2
      web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-2.vue
  8. +1
    -1
      web_src/vuepages/utils/index.js

+ 0
- 2
templates/repo/modelmanage/create_local_1.tmpl View File

@@ -1,7 +1,5 @@
{{template "base/head" .}}
<link rel="stylesheet" href="{{StaticUrlPrefix}}/css/vp-modelmanage-local-create-1.css?v={{MD5 AppVer}}" />
<style></style>
{{$repository := .Repository.ID}}
<div class="repository release dataset-list view">
{{template "repo/header" .}}
<div class="ui container">


+ 0
- 2
templates/repo/modelmanage/create_local_2.tmpl View File

@@ -1,7 +1,5 @@
{{template "base/head" .}}
<link rel="stylesheet" href="{{StaticUrlPrefix}}/css/vp-modelmanage-local-create-2.css?v={{MD5 AppVer}}" />
<style></style>
{{$repository := .Repository.ID}}
<div class="repository release dataset-list view">
{{template "repo/header" .}}
<div class="ui container">


+ 0
- 50
web_src/vuepages/apis/modules/fileupload.js View File

@@ -1,50 +0,0 @@
import service from "../service";
import Qs from 'qs';

// 上传文件1: 获取文件chunks信息
// params: { md5, type: 0-CPU/GPU,1-NPU, file_name, scene: ''-数据集,'model'-模型 }
// return: uploadID, uuid, uploaded, chunks, attachID, datasetID(), datasetName(), fileName
export const getChunks = (params) => {
return service({
url: `/attachments/get_chunks`,
method: 'get',
params,
data: {},
});
};

// 上传文件2: 上传新文件
// params: { totalChunkCounts, md5, size, fileType, type, file_name, scene=model, modeluuid=xxxx }
// return: uploadID, uuid
export const getNewMultipart = (params) => {
return service({
url: `/attachments/new_multipart`,
method: 'get',
params,
data: {},
});
};

// 上传文件3: 获取分片上传地址
// params: { uuid, uploadID, size, chunkNumber, type, file_name, scene=model }
// return: url
export const getMultipartUrl = (params) => {
return service({
url: `/attachments/get_multipart_url`,
method: 'get',
params,
data: {},
});
};

// 上传文件4: 完成上传后
// data: { uuid, uploadID, size, type, file_name, dataset_id, description, scene=model, modeluuid=xxxx }
export const setCompleteMultipart = (data) => {
return service({
url: `/attachments/complete_multipart`,
method: 'post',
headers: { 'Content-type': 'application/x-www-form-urlencoded' },
params: {},
data: Qs.stringify(data),
});
};

+ 60
- 0
web_src/vuepages/apis/modules/modelmanage.js View File

@@ -33,3 +33,63 @@ export const getModelInfoByName = (params) => {
data: {},
});
};

// 求模型中文件列表
// params {repo, ID, parentDir}
export const getModelFiles = (params) => {
return service({
url: `${params.repo}/modelmanage/query_onelevel_modelfile`,
method: 'get',
params,
data: {},
});
};

/* 文件上传相关 */
// 上传文件1: 获取文件chunks信息
// params: { md5, type: 0-CPU/GPU,1-NPU, file_name, scene: 'model', modeluuid }
// return: uploadID, uuid, uploaded, chunks, attachID, modeluuid, modelName, fileName
export const getChunks = (params) => {
return service({
url: `/attachments/get_chunks`,
method: 'get',
params,
data: {},
});
};

// 上传文件2: 上传新文件
// params: { totalChunkCounts, md5, size, fileType, type, file_name, scene=model, modeluuid=xxxx }
// return: uploadID, uuid
export const getNewMultipart = (params) => {
return service({
url: `/attachments/new_multipart`,
method: 'get',
params,
data: {},
});
};

// 上传文件3: 获取分片上传地址
// params: { uuid, uploadID, size, chunkNumber, type, file_name, scene=model }
// return: url
export const getMultipartUrl = (params) => {
return service({
url: `/attachments/get_multipart_url`,
method: 'get',
params,
data: {},
});
};

// 上传文件4: 完成上传后
// data: { uuid, uploadID, size, type, file_name, dataset_id, description, scene=model, modeluuid=xxxx }
export const setCompleteMultipart = (data) => {
return service({
url: `/attachments/complete_multipart`,
method: 'post',
headers: { 'Content-type': 'application/x-www-form-urlencoded' },
params: {},
data: Qs.stringify(data),
});
};

+ 3
- 0
web_src/vuepages/const/index.js View File

@@ -14,3 +14,6 @@ export const AI_CENTER = [{ k: 'OpenIOne', v: i18n.t('resourcesManagement.OpenIO
export const COMPUTER_RESOURCES = [{ k: 'GPU', v: 'GPU' }, { k: 'NPU', v: 'NPU' }, { k: 'MLU', v: 'MLU' }];
export const ACC_CARD_TYPE = [{ k: 'T4', v: 'T4' }, { k: 'A100', v: 'A100' }, { k: 'V100', v: 'V100' }, { k: 'ASCEND910', v: 'Ascend 910' }, { k: 'MLU270', v: 'MLU270' }, { k: 'RTX3080', v: 'RTX3080' }];
export const SPECIFICATION_STATUS = [{ k: '1', v: i18n.t('resourcesManagement.willOnShelf') }, { k: '2', v: i18n.t('resourcesManagement.onShelf') }, { k: '3', v: i18n.t('resourcesManagement.offShelf') }];

// 模型
export const MODEL_ENGINES = [{ k: '0', v: 'PyTorch' }, { k: '1', v: 'TensorFlow' }, { k: '2', v: 'MindSpore' }, { k: '4', v: 'PaddlePaddle' }, { k: '5', v: 'OneFlow' }, { k: '6', v: 'MXNet' }, { k: '3', v: 'Other' }];

+ 3
- 7
web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue View File

@@ -104,9 +104,8 @@
<script>

import { saveLocalModel, getModelInfoByName, modifyModel } from '~/apis/modules/modelmanage';
// import { CLUSTERS, COMPUTER_RESOURCES, ACC_CARD_TYPE } from '~/const';
import { getUrlSearchParams } from '~/utils';
// import { formatDate } from 'element-ui/lib/utils/date-util';
import { MODEL_ENGINES } from '~/const'

const REPO_NAME = location.pathname.split('/')[2];

@@ -123,13 +122,12 @@ export default {
label: '',
description: '',
},
engineList: [{ k: '0', v: 'PyTorch' }, { k: '1', v: 'TensorFlow' }, { k: '2', v: 'MindSpore' }, { k: '4', v: 'PaddlePaddle' }, { k: '5', v: 'OneFlow' }, { k: '6', v: 'MXNet' }, { k: '3', v: 'Other' }],
engineList: MODEL_ENGINES,
};
},
components: { /*QueueDialog*/ },
components: {},
methods: {
submit() {
console.log(this.state);
if (!this.state.name) {
this.$message({
type: 'info',
@@ -327,8 +325,6 @@ export default {
margin-right: 5px;
}

.txt {}

&.focused {
border-color: rgb(50, 145, 248);
color: rgb(50, 145, 248);


+ 2
- 2
web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-2.vue View File

@@ -76,8 +76,7 @@
import 'dropzone/dist/dropzone.css';
import Dropzone from 'dropzone';
import SparkMD5 from "spark-md5";
import { getModelInfoByName } from '~/apis/modules/modelmanage';
import { getChunks, getNewMultipart, getMultipartUrl, setCompleteMultipart } from '~/apis/modules/fileupload';
import { getModelInfoByName, getChunks, getNewMultipart, getMultipartUrl, setCompleteMultipart } from '~/apis/modules/modelmanage';
import { getUrlSearchParams } from '~/utils';

Dropzone.autoDiscover = false;
@@ -224,6 +223,7 @@ export default {
return getChunks({
md5: file.uniqueIdentifier,
type: this.state.type,
modeluuid: this.state.id,
file_name: file.name,
scene: 'model',
}).then(res => {


+ 1
- 1
web_src/vuepages/utils/index.js View File

@@ -3,7 +3,7 @@ export const getListValueWithKey = (list, key, k = 'k', v = 'v') => {
const listI = list[i];
if (listI[k] === key) return listI[v];
}
return '';
return key;
};

export const getUrlSearchParams = () => {


Loading…
Cancel
Save