本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立專案
專案用於管理模型版本、培訓資料集和模型的測試資料集。您可以使用 Amazon Rekognition 自訂標籤主控台或 API 建立專案。如需了解其他專案相關功能 (例如刪除專案),請參閱 管理 Amazon Rekognition 自訂標籤專案。
您可以使用標籤來分類和管理 Amazon Rekognition 自訂標籤資源,包括您的專案。
CreateProject 操作可讓您在建立新專案時選擇性地指定標籤,提供標籤做為索引鍵/值對,供您用來分類和管理資源。
建立 Amazon Rekognition 自訂標籤專案 (主控台)
您可以使用 Amazon Rekognition 自訂標籤主控台建立專案。第一次在新 AWS 區域中使用主控台時,Amazon Rekognition 自訂標籤會要求 在 AWS 帳戶中建立 Amazon S3 儲存貯體 (主控台儲存貯體)。這個儲存貯體可用來存放您的專案。除非建立了主控台儲存貯體,否則您無法使用 Amazon Rekognition 自訂標籤主控台。
您可以使用 Amazon Rekognition 自訂標籤主控台建立專案。
建立 Amazon Rekognition 自訂標籤專案 (SDK)
您可以透過呼叫 建立專案 來建立 Amazon Rekognition 自訂標籤專案。該回應是識別專案的 Amazon Resource Name (ARN)。建立專案後,您可以建立用於培訓和測試模型的資料集。如需詳細資訊,請參閱建立包含影像的訓練和測試資料集。
若要建立專案 (SDK)
-
如果您尚未這麼做,請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊,請參閱步驟 4:設定 AWS CLI 和 AWS SDKs。
-
使用以下程式碼來建立專案。
- AWS CLI
-
以下範例將建立一個專案並顯示其 ARN。
將 project-name 的值變更為您要建立的專案的名稱。
aws rekognition create-project --project-name my_project \
--profile custom-labels-access --"CUSTOM_LABELS" --tags'{"key1":"value1","key2":"value2"}'
- Python
-
以下範例將建立一個專案並顯示其 ARN。提供下列命令列參數:
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
import argparse
import logging
import boto3
from botocore.exceptions import ClientError
logger = logging.getLogger(__name__)
def create_project(rek_client, project_name):
"""
Creates an Amazon Rekognition Custom Labels project
:param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
:param project_name: A name for the new prooject.
"""
try:
#Create the project.
logger.info("Creating project: %s",project_name)
response=rek_client.create_project(ProjectName=project_name)
logger.info("project ARN: %s",response['ProjectArn'])
return response['ProjectArn']
except ClientError as err:
logger.exception("Couldn't create project - %s: %s", project_name, err.response['Error']['Message'])
raise
def add_arguments(parser):
"""
Adds command line arguments to the parser.
:param parser: The command line parser.
"""
parser.add_argument(
"project_name", help="A name for the new project."
)
def main():
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
try:
# Get command line arguments.
parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
add_arguments(parser)
args = parser.parse_args()
print(f"Creating project: {args.project_name}")
# Create the project.
session = boto3.Session(profile_name='custom-labels-access')
rekognition_client = session.client("rekognition")
project_arn=create_project(rekognition_client,
args.project_name)
print(f"Finished creating project: {args.project_name}")
print(f"ARN: {project_arn}")
except ClientError as err:
logger.exception("Problem creating project: %s", err)
print(f"Problem creating project: {err}")
if __name__ == "__main__":
main()
- Java V2
-
以下範例將建立一個專案並顯示其 ARN。
提供以下命令列參數:
/*
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package com.example.rekognition;
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.rekognition.RekognitionClient;
import software.amazon.awssdk.services.rekognition.model.CreateProjectRequest;
import software.amazon.awssdk.services.rekognition.model.CreateProjectResponse;
import software.amazon.awssdk.services.rekognition.model.RekognitionException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class CreateProject {
public static final Logger logger = Logger.getLogger(CreateProject.class.getName());
public static String createMyProject(RekognitionClient rekClient, String projectName) {
try {
logger.log(Level.INFO, "Creating project: {0}", projectName);
CreateProjectRequest createProjectRequest = CreateProjectRequest.builder().projectName(projectName).build();
CreateProjectResponse response = rekClient.createProject(createProjectRequest);
logger.log(Level.INFO, "Project ARN: {0} ", response.projectArn());
return response.projectArn();
} catch (RekognitionException e) {
logger.log(Level.SEVERE, "Could not create project: {0}", e.getMessage());
throw e;
}
}
public static void main(String[] args) {
final String USAGE = "\n" + "Usage: " + "<project_name> <bucket> <image>\n\n" + "Where:\n"
+ " project_name - A name for the new project\n\n";
if (args.length != 1) {
System.out.println(USAGE);
System.exit(1);
}
String projectName = args[0];
String projectArn = null;
;
try {
// Get the Rekognition client.
RekognitionClient rekClient = RekognitionClient.builder()
.credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
.region(Region.US_WEST_2)
.build();
// Create the project
projectArn = createMyProject(rekClient, projectName);
System.out.println(String.format("Created project: %s %nProject ARN: %s", projectName, projectArn));
rekClient.close();
} catch (RekognitionException rekError) {
logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
System.exit(1);
}
}
}
-
請留意回應中顯示的專案 ARN 名稱。您將需要它來建立模型。
-
請遵循 建立訓練和測試資料集 (SDK) 中的步驟,為您的專案建立培訓和測試資料集。
CreateProject 操作請求
以下是 CreateProject 操作請求的格式:
{
"AutoUpdate": "string",
"Feature": "string",
"ProjectName": "string",
"Tags": {
"string": "string"
}
}