es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema de Vertex AI al implementar un modelo usando Java.

Esto es lo que uso para implementar un modelo Auto-ML:

MachineSpec machineSpec = MachineSpec.newBuilder().setMachineType("n1-standard-2").build();
DedicatedResources dedicatedResources =
        DedicatedResources.newBuilder().setMinReplicaCount(1).setMachineSpec(machineSpec).build();
String model = ModelName.of(project, location, modelId).toString();
DeployedModel deployedModel =
        DeployedModel.newBuilder()
                .setModel(model)
                .setDisplayName(deployedModelDisplayName)
                .setDedicatedResources(dedicatedResources)
                .build();
Map<string, integer=""> trafficSplit = new HashMap<>();
trafficSplit.put("0", 100);
EndpointName endpoint = EndpointName.of(project, location, endpointId);
OperationFuture<deploymodelresponse, deploymodeloperationmetadata=""> response =
        client.deployModelAsync(endpoint, deployedModel, trafficSplit);
response.getInitialFuture().get().getName();

El error aparece cuando llego a esta línea response.getInitialFuture().get().getName());

Aquí está el error:
INVALID_ARGUMENT: 'dedicated_resources' no es compatible con proyectos de modelos/***/ubicaciones/us-central1/modelos/***

Puedo implementar el modelo usando la consola de Cloud, pero no programáticamente con Java 8. Es un modelo nuevo y el punto de conexión también es nuevo sin ningún modelo asignado a él.</deploymodelresponse,></string,>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basado en el error INVALID_ARGUMENT: 'dedicated_resources' no es compatible para proyectos de modelos ***/***/locations/us-central1/models/***, parece que el parámetro dedicatedResources no es compatible para este proyecto específico de AutoML.

    Para implementar un modelo AutoML utilizando las bibliotecas de cliente de Java de Google Cloud Platform, puedes modificar el fragmento de código para excluir el parámetro dedicatedResources. Aquí tienes un fragmento de código actualizado:

    MachineSpec machineSpec = MachineSpec.newBuilder().setMachineType("n1-standard-2").build();
    String model = ModelName.of(project, location, modelId).toString();
    DeployedModel deployedModel =
            DeployedModel.newBuilder()
                    .setModel(model)
                    .setDisplayName(deployedModelDisplayName)
                    .build();
    Map<string, integer=""> trafficSplit = new HashMap<>();
    trafficSplit.put("0", 100);
    EndpointName endpoint = EndpointName.of(project, location, endpointId);
    OperationFuture<deploymodelresponse, deploymodeloperationmetadata=""> response =
            client.deployModelAsync(endpoint, deployedModel, trafficSplit);
    System.out.println(response.getInitialFuture().get().getName());
    

    En este fragmento modificado, se ha eliminado el parámetro dedicatedResources del objeto DeployedModel. Ahora, el objeto DeployedModel solo incluye los parámetros model y displayName.

    Con esta actualización, deberías poder implementar tu modelo AutoML programáticamente utilizando Java 8.</deploymodelresponse,></string,>

Comments are closed.