Skip to content

Commit d90b3c1

Browse files
committed
Update samples to work with latest sdk
1 parent c61915a commit d90b3c1

File tree

2 files changed

+37
-23
lines changed

2 files changed

+37
-23
lines changed

Vision/CustomVision/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@
6161
<version>3.3</version>
6262
</dependency>
6363
<dependency>
64-
<groupId>com.microsoft.azure.cognitiveservices</groupId>
64+
<groupId>com.azure</groupId>
6565
<artifactId>azure-cognitiveservices-customvision-training</artifactId>
66-
<version>1.0.2-beta</version>
66+
<version>1.1.0-preview.2</version>
6767
</dependency>
6868
<dependency>
69-
<groupId>com.microsoft.azure.cognitiveservices</groupId>
69+
<groupId>com.azure</groupId>
7070
<artifactId>azure-cognitiveservices-customvision-prediction</artifactId>
71-
<version>1.0.2-beta</version>
71+
<version>1.1.0-preview.2</version>
7272
</dependency>
7373
</dependencies>
7474
</project>

Vision/CustomVision/src/main/java/com/microsoft/azure/cognitiveservices/vision/customvision/samples/CustomVisionSamples.java

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@
2121
import com.microsoft.azure.cognitiveservices.vision.customvision.training.models.Iteration;
2222
import com.microsoft.azure.cognitiveservices.vision.customvision.training.models.Project;
2323
import com.microsoft.azure.cognitiveservices.vision.customvision.training.models.Region;
24-
import com.microsoft.azure.cognitiveservices.vision.customvision.training.TrainingApi;
24+
import com.microsoft.azure.cognitiveservices.vision.customvision.training.models.TrainProjectOptionalParameter;
25+
import com.microsoft.azure.cognitiveservices.vision.customvision.training.CustomVisionTrainingClient;
2526
import com.microsoft.azure.cognitiveservices.vision.customvision.training.Trainings;
2627
import com.microsoft.azure.cognitiveservices.vision.customvision.training.CustomVisionTrainingManager;
2728
import com.microsoft.azure.cognitiveservices.vision.customvision.prediction.models.ImagePrediction;
2829
import com.microsoft.azure.cognitiveservices.vision.customvision.prediction.models.Prediction;
29-
import com.microsoft.azure.cognitiveservices.vision.customvision.prediction.PredictionEndpoint;
30+
import com.microsoft.azure.cognitiveservices.vision.customvision.prediction.CustomVisionPredictionClient;
3031
import com.microsoft.azure.cognitiveservices.vision.customvision.prediction.CustomVisionPredictionManager;
3132
import com.microsoft.azure.cognitiveservices.vision.customvision.training.models.Tag;
3233

@@ -37,7 +38,7 @@ public class CustomVisionSamples {
3738
* @param trainer the Custom Vision Training client object
3839
* @param predictor the Custom Vision Prediction client object
3940
*/
40-
public static void runSample(TrainingApi trainer, PredictionEndpoint predictor) {
41+
public static void runSample(CustomVisionTrainingClient trainer, CustomVisionPredictionClient predictor) {
4142
try {
4243
// This demonstrates how to create an image classification project, upload images,
4344
// train it and make a prediction.
@@ -52,7 +53,7 @@ public static void runSample(TrainingApi trainer, PredictionEndpoint predictor)
5253
}
5354
}
5455

55-
public static void ImageClassification_Sample(TrainingApi trainClient, PredictionEndpoint predictor) {
56+
public static void ImageClassification_Sample(CustomVisionTrainingClient trainClient, CustomVisionPredictionClient predictor) {
5657
try {
5758
// <snippet_create>
5859
System.out.println("ImageClassification Sample");
@@ -94,7 +95,7 @@ public static void ImageClassification_Sample(TrainingApi trainClient, Predictio
9495

9596
// <snippet_train>
9697
System.out.println("Training...");
97-
Iteration iteration = trainer.trainProject(project.id());
98+
Iteration iteration = trainer.trainProject(project.id(), new TrainProjectOptionalParameter());
9899

99100
while (iteration.status().equals("Training"))
100101
{
@@ -103,13 +104,17 @@ public static void ImageClassification_Sample(TrainingApi trainClient, Predictio
103104
iteration = trainer.getIteration(project.id(), iteration.id());
104105
}
105106
System.out.println("Training Status: "+ iteration.status());
106-
trainer.updateIteration(project.id(), iteration.id(), iteration.withIsDefault(true));
107-
// </snippet_train>
107+
108+
// The iteration is now trained. Publish it to the prediction endpoint.
109+
String publishedModelName = "myModel";
110+
String predictionResourceId = System.getenv("AZURE_CUSTOMVISION_PREDICTION_ID");
111+
trainer.publishIteration(project.id(), iteration.id(), publishedModelName, predictionResourceId);
108112

109113
// use below for url
110114
// String url = "some url";
111-
// ImagePrediction results = predictor.predictions().predictImage()
115+
// ImagePrediction results = predictor.predictions().classifyImageUrl()
112116
// .withProjectId(project.id())
117+
// .withPublishedName(publishedModelName)
113118
// .withUrl(url)
114119
// .execute();
115120

@@ -118,8 +123,9 @@ public static void ImageClassification_Sample(TrainingApi trainClient, Predictio
118123
byte[] testImage = GetImage("/Test", "test_image.jpg");
119124

120125
// predict
121-
ImagePrediction results = predictor.predictions().predictImage()
126+
ImagePrediction results = predictor.predictions().classifyImage()
122127
.withProjectId(project.id())
128+
.withPublishedName(publishedModelName)
123129
.withImageData(testImage)
124130
.execute();
125131

@@ -134,7 +140,7 @@ public static void ImageClassification_Sample(TrainingApi trainClient, Predictio
134140
}
135141
}
136142

137-
public static void ObjectDetection_Sample(TrainingApi trainClient, PredictionEndpoint predictor)
143+
public static void ObjectDetection_Sample(CustomVisionTrainingClient trainClient, CustomVisionPredictionClient predictor)
138144
{
139145
try {
140146
// <snippet_od_mapping>
@@ -250,21 +256,26 @@ public static void ObjectDetection_Sample(TrainingApi trainClient, PredictionEnd
250256

251257
// <snippet_train_od>
252258
System.out.println("Training...");
253-
Iteration iteration = trainer.trainProject(project.id());
259+
Iteration iteration = trainer.trainProject(project.id(), new TrainProjectOptionalParameter());
260+
254261
while (iteration.status().equals("Training"))
255262
{
256263
System.out.println("Training Status: "+ iteration.status());
257264
Thread.sleep(5000);
258265
iteration = trainer.getIteration(project.id(), iteration.id());
259266
}
260267
System.out.println("Training Status: "+ iteration.status());
261-
trainer.updateIteration(project.id(), iteration.id(), iteration.withIsDefault(true));
262-
// </snippet_train_od>
268+
269+
// The iteration is now trained. Publish it to the prediction endpoint.
270+
String publishedModelName = "myModel";
271+
String predictionResourceId = System.getenv("AZURE_CUSTOMVISION_PREDICTION_ID");
272+
trainer.publishIteration(project.id(), iteration.id(), publishedModelName, predictionResourceId);
263273

264274
// use below for url
265275
// String url = "some url";
266-
// ImagePrediction results = predictor.predictions().predictImage()
276+
// ImagePrediction results = predictor.predictions().detectImageUrl()
267277
// .withProjectId(project.id())
278+
// .withPublishedName(publishedModelName)
268279
// .withUrl(url)
269280
// .execute();
270281

@@ -273,8 +284,9 @@ public static void ObjectDetection_Sample(TrainingApi trainClient, PredictionEnd
273284
byte[] testImage = GetImage("/ObjectTest", "test_image.jpg");
274285

275286
// predict
276-
ImagePrediction results = predictor.predictions().predictImage()
287+
ImagePrediction results = predictor.predictions().detectImage()
277288
.withProjectId(project.id())
289+
.withPublishedName(publishedModelName)
278290
.withImageData(testImage)
279291
.execute();
280292

@@ -347,11 +359,13 @@ public static void main(String[] args) {
347359
//=============================================================
348360
// Authenticate
349361

350-
final String trainingApiKey = System.getenv("AZURE_CUSTOMVISION_TRAINING_API_KEY");;
351-
final String predictionApiKey = System.getenv("AZURE_CUSTOMVISION_PREDICTION_API_KEY");;
362+
final String CustomVisionTrainingClientKey = System.getenv("AZURE_CUSTOMVISION_TRAINING_API_KEY");
363+
final String predictionApiKey = System.getenv("AZURE_CUSTOMVISION_PREDICTION_API_KEY");
364+
365+
final String Endpoint = System.getenv("AZURE_CUSTOMVISION_ENDPOINT");
352366

353-
TrainingApi trainClient = CustomVisionTrainingManager.authenticate(trainingApiKey);
354-
PredictionEndpoint predictClient = CustomVisionPredictionManager.authenticate(predictionApiKey);
367+
CustomVisionTrainingClient trainClient = CustomVisionTrainingManager.authenticate("https://{Endpoint}/customvision/v3.0/training/", CustomVisionTrainingClientKey).withEndpoint(Endpoint);
368+
CustomVisionPredictionClient predictClient = CustomVisionPredictionManager.authenticate("https://{Endpoint}/customvision/v3.0/prediction/", predictionApiKey).withEndpoint(Endpoint);
355369

356370
runSample(trainClient, predictClient);
357371
} catch (Exception e) {

0 commit comments

Comments
 (0)