Creates a batch prediction job using the create_batch_prediction_job method.
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Java
Before trying this sample, follow the Java setup instructions in the Vertex AI quickstart using client libraries . For more information, see the Vertex AI Java API reference documentation .
To authenticate to Vertex AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .
import
com.google.cloud.aiplatform.util. ValueConverter
;
import
com.google.cloud.aiplatform.v1. AcceleratorType
;
import
com.google.cloud.aiplatform.v1. BatchDedicatedResources
;
import
com.google.cloud.aiplatform.v1. BatchPredictionJob
;
import
com.google.cloud.aiplatform.v1. GcsDestination
;
import
com.google.cloud.aiplatform.v1. GcsSource
;
import
com.google.cloud.aiplatform.v1. JobServiceClient
;
import
com.google.cloud.aiplatform.v1. JobServiceSettings
;
import
com.google.cloud.aiplatform.v1. LocationName
;
import
com.google.cloud.aiplatform.v1. MachineSpec
;
import
com.google.cloud.aiplatform.v1. ModelName
;
import
com.google.protobuf. Value
;
import
java.io.IOException
;
public
class
CreateBatchPredictionJobSample
{
public
static
void
main
(
String
[]
args
)
throws
IOException
{
// TODO(developer): Replace these variables before running the sample.
String
project
=
"PROJECT"
;
String
displayName
=
"DISPLAY_NAME"
;
String
modelName
=
"MODEL_NAME"
;
String
instancesFormat
=
"INSTANCES_FORMAT"
;
String
gcsSourceUri
=
"GCS_SOURCE_URI"
;
String
predictionsFormat
=
"PREDICTIONS_FORMAT"
;
String
gcsDestinationOutputUriPrefix
=
"GCS_DESTINATION_OUTPUT_URI_PREFIX"
;
createBatchPredictionJobSample
(
project
,
displayName
,
modelName
,
instancesFormat
,
gcsSourceUri
,
predictionsFormat
,
gcsDestinationOutputUriPrefix
);
}
static
void
createBatchPredictionJobSample
(
String
project
,
String
displayName
,
String
model
,
String
instancesFormat
,
String
gcsSourceUri
,
String
predictionsFormat
,
String
gcsDestinationOutputUriPrefix
)
throws
IOException
{
JobServiceSettings
settings
=
JobServiceSettings
.
newBuilder
()
.
setEndpoint
(
"us-central1-aiplatform.googleapis.com:443"
)
.
build
();
String
location
=
"us-central1"
;
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try
(
JobServiceClient
client
=
JobServiceClient
.
create
(
settings
))
{
// Passing in an empty Value object for model parameters
Value
modelParameters
=
ValueConverter
.
EMPTY_VALUE
;
GcsSource
gcsSource
=
GcsSource
.
newBuilder
().
addUris
(
gcsSourceUri
).
build
();
BatchPredictionJob
.
InputConfig
inputConfig
=
BatchPredictionJob
.
InputConfig
.
newBuilder
()
.
setInstancesFormat
(
instancesFormat
)
.
setGcsSource
(
gcsSource
)
.
build
();
GcsDestination
gcsDestination
=
GcsDestination
.
newBuilder
().
setOutputUriPrefix
(
gcsDestinationOutputUriPrefix
).
build
();
BatchPredictionJob
.
OutputConfig
outputConfig
=
BatchPredictionJob
.
OutputConfig
.
newBuilder
()
.
setPredictionsFormat
(
predictionsFormat
)
.
setGcsDestination
(
gcsDestination
)
.
build
();
MachineSpec
machineSpec
=
MachineSpec
.
newBuilder
()
.
setMachineType
(
"n1-standard-2"
)
.
setAcceleratorType
(
AcceleratorType
.
NVIDIA_TESLA_T4
)
.
setAcceleratorCount
(
1
)
.
build
();
BatchDedicatedResources
dedicatedResources
=
BatchDedicatedResources
.
newBuilder
()
.
setMachineSpec
(
machineSpec
)
.
setStartingReplicaCount
(
1
)
.
setMaxReplicaCount
(
1
)
.
build
();
String
modelName
=
ModelName
.
of
(
project
,
location
,
model
).
toString
();
BatchPredictionJob
batchPredictionJob
=
BatchPredictionJob
.
newBuilder
()
.
setDisplayName
(
displayName
)
.
setModel
(
modelName
)
.
setModelParameters
(
modelParameters
)
.
setInputConfig
(
inputConfig
)
.
setOutputConfig
(
outputConfig
)
.
setDedicatedResources
(
dedicatedResources
)
.
build
();
LocationName
parent
=
LocationName
.
of
(
project
,
location
);
BatchPredictionJob
response
=
client
.
createBatchPredictionJob
(
parent
,
batchPredictionJob
);
System
.
out
.
format
(
"response: %s\n"
,
response
);
System
.
out
.
format
(
"\tName: %s\n"
,
response
.
getName
());
}
}
}
Python
Before trying this sample, follow the Python setup instructions in the Vertex AI quickstart using client libraries . For more information, see the Vertex AI Python API reference documentation .
To authenticate to Vertex AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .
from
google.cloud
import
aiplatform
from
google.protobuf
import
json_format
from
google.protobuf.struct_pb2
import
Value
def
create_batch_prediction_job_sample
(
project
:
str
,
display_name
:
str
,
model_name
:
str
,
instances_format
:
str
,
gcs_source_uri
:
str
,
predictions_format
:
str
,
gcs_destination_output_uri_prefix
:
str
,
location
:
str
=
"us-central1"
,
api_endpoint
:
str
=
"us-central1-aiplatform.googleapis.com"
,
):
# The AI Platform services require regional API endpoints.
client_options
=
{
"api_endpoint"
:
api_endpoint
}
# Initialize client that will be used to create and send requests.
# This client only needs to be created once, and can be reused for multiple requests.
client
=
aiplatform
.
gapic
.
JobServiceClient
(
client_options
=
client_options
)
model_parameters_dict
=
{}
model_parameters
=
json_format
.
ParseDict
(
model_parameters_dict
,
Value
())
batch_prediction_job
=
{
"display_name"
:
display_name
,
# Format: 'projects/{project}/locations/{location}/models/{model_id}'
"model"
:
model_name
,
"model_parameters"
:
model_parameters
,
"input_config"
:
{
"instances_format"
:
instances_format
,
"gcs_source"
:
{
"uris"
:
[
gcs_source_uri
]},
},
"output_config"
:
{
"predictions_format"
:
predictions_format
,
"gcs_destination"
:
{
"output_uri_prefix"
:
gcs_destination_output_uri_prefix
},
},
"dedicated_resources"
:
{
"machine_spec"
:
{
"machine_type"
:
"n1-standard-2"
,
"accelerator_type"
:
aiplatform
.
gapic
.
AcceleratorType
.
NVIDIA_TESLA_K80
,
"accelerator_count"
:
1
,
},
"starting_replica_count"
:
1
,
"max_replica_count"
:
1
,
},
}
parent
=
f
"projects/
{
project
}
/locations/
{
location
}
"
response
=
client
.
create_batch_prediction_job
(
parent
=
parent
,
batch_prediction_job
=
batch_prediction_job
)
print
(
"response:"
,
response
)
What's next
To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .