Search in sources :

Example 46 with Client

use of com.aliyun.ons20190214.Client in project submarine by apache.

the class ModelManager method transferDescription.

private void transferDescription(ServeSpec spec) {
    Client s3Client = new Client();
    String modelUniquePath = String.format("%s-%d-%s", spec.getModelName(), spec.getModelVersion(), spec.getModelId());
    String res = new String(s3Client.downloadArtifact(String.format("registry/%s/%s/%d/description.json", modelUniquePath, spec.getModelName(), spec.getModelVersion())));
    JSONObject description = new JSONObject(res);
    TritonModelConfig.ModelConfig.Builder modelConfig = TritonModelConfig.ModelConfig.newBuilder();
    modelConfig.setPlatform("pytorch_libtorch");
    JSONArray inputs = (JSONArray) description.get("input");
    for (int idx = 0; idx < inputs.length(); idx++) {
        JSONArray dims = (JSONArray) ((JSONObject) inputs.get(idx)).get("dims");
        TritonModelConfig.ModelInput.Builder modelInput = TritonModelConfig.ModelInput.newBuilder();
        modelInput.setName("INPUT__" + idx);
        modelInput.setDataType(TritonModelConfig.DataType.valueOf("TYPE_FP32"));
        dims.forEach(dim -> modelInput.addDims((Integer) dim));
        modelConfig.addInput(modelInput);
    }
    JSONArray outputs = (JSONArray) description.get("output");
    for (int idx = 0; idx < outputs.length(); idx++) {
        JSONArray dims = (JSONArray) ((JSONObject) outputs.get(idx)).get("dims");
        TritonModelConfig.ModelOutput.Builder modelOutput = TritonModelConfig.ModelOutput.newBuilder();
        modelOutput.setName("OUTPUT__" + idx);
        modelOutput.setDataType(TritonModelConfig.DataType.valueOf("TYPE_FP32"));
        dims.forEach(dim -> modelOutput.addDims((Integer) dim));
        modelConfig.addOutput(modelOutput);
    }
    s3Client.logArtifact(String.format("registry/%s/%s/config.pbtxt", modelUniquePath, spec.getModelName()), modelConfig.toString().getBytes());
}
Also used : TritonModelConfig(org.apache.submarine.server.api.proto.TritonModelConfig) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) Client(org.apache.submarine.server.s3.Client)

Aggregations

Client (org.orcid.jaxb.model.client_v2.Client)18 Test (org.junit.Test)13 Client (com.aliyun.dysmsapi20170525.Client)12 ClientDetailsEntity (org.orcid.persistence.jpa.entities.ClientDetailsEntity)10 Client (com.predic8.membrane.core.interceptor.oauth2.Client)9 Config (com.aliyun.teaopenapi.models.Config)6 HashSet (java.util.HashSet)6 ClientRedirectUri (org.orcid.jaxb.model.client_v2.ClientRedirectUri)6 SessionManager (com.predic8.membrane.core.interceptor.authentication.session.SessionManager)5 BaseTest (org.orcid.core.BaseTest)5 ScopePathType (org.orcid.jaxb.model.message.ScopePathType)5 NoResponse (com.predic8.membrane.core.interceptor.oauth2.request.NoResponse)3 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3 Date (java.util.Date)3 SendSmsRequest (com.aliyun.dysmsapi20170525.models.SendSmsRequest)2 SendSmsResponse (com.aliyun.dysmsapi20170525.models.SendSmsResponse)2 Client (com.aliyun.ons20190214.Client)2 OnsTopicListRequest (com.aliyun.ons20190214.models.OnsTopicListRequest)2 OnsTopicListResponse (com.aliyun.ons20190214.models.OnsTopicListResponse)2