

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 프로젝트 생성
<a name="mp-create-project"></a>

프로젝트는 모델의 모델 버전, 훈련 데이터 세트, 테스트 데이터 세트를 관리합니다. Amazon Rekognition Custom Labels 콘솔 또는 API를 사용하여 프로젝트를 생성할 수 있습니다. 프로젝트 삭제와 같은 다른 프로젝트 작업에 대해서는 [Amazon Rekognition Custom Labels 프로젝트 관리](managing-project.md) 항목을 참조하세요.

 태그를 사용하여 프로젝트를 포함한 Amazon Rekognition Custom Labels 리소스를 분류하고 관리할 수 있습니다.

 [CreateProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProject) 작업을 사용하면 새 프로젝트를 생성할 때 선택적으로 태그를 지정할 수 있습니다. 키-값 페어로 태그를 제공하여 리소스를 분류하고 관리하는 데 사용할 수 있습니다.

## Amazon Rekognition Custom Labels 프로젝트 생성(콘솔)
<a name="mp-create-project-console"></a>

Amazon Rekognition Custom Labels 콘솔을 사용하여 모델을 생성할 수 있습니다. 새 AWS 리전에서 콘솔을 처음 사용할 때 Amazon Rekognition Custom Labels는 AWS 계정에 Amazon S3 버킷(콘솔 버킷)을 생성하도록 요청합니다. 버킷은 프로젝트 파일을 저장하는 데 사용됩니다. 콘솔 버킷을 생성하지 않으면 Amazon Rekognition Custom Labels 콘솔을 사용할 수 없습니다.

Amazon Rekognition Custom Labels 콘솔을 사용하여 모델을 생성할 수 있습니다.

**프로젝트 생성(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/) Amazon Rekognition 콘솔을 엽니다.

1. 왼쪽 창에서 **사용자 지정 레이블** 사용을 선택합니다. Amazon Rekognition Custom Labels 랜딩 페이지가 표시됩니다.

1. Amazon Rekognition Custom Labels 랜딩 페이지에서 **시작하기**를 선택합니다.

1. 왼쪽 창에서 **프로젝트**를 선택합니다.

1. **프로젝트 생성**을 선택합니다.

1. **프로젝트 이름**에 프로젝트의 이름을 입력합니다.

1. 프로젝트를 생성하려면 **프로젝트 생성**을 선택합니다.

1. [훈련 및 테스트 데이터 세트 생성](creating-datasets.md)에 나온 단계에 따라 프로젝트를 위한 훈련 및 테스트 데이터 세트를 만드세요.

## Amazon Rekognition Custom Labels 프로젝트 생성(SDK)
<a name="mp-create-project-sdk"></a>

[CreateProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProject)를 직접 호출하여 Amazon Rekognition Custom Labels 프로젝트를 생성합니다. 응답은 프로젝트를 식별하는 Amazon 리소스 이름(ARN)입니다. 프로젝트를 생성한 후 모델 훈련 및 테스트를 위한 데이터 세트를 생성합니다. 자세한 내용은 [이미지를 사용하여 훈련 및 테스트 데이터 세트 생성](md-create-dataset.md) 단원을 참조하십시오.

**프로젝트 (SDK) 생성**

1. 아직 설치하지 않은 경우 및 AWS SDKs AWS CLI 를 설치하고 구성합니다. 자세한 내용은 [4단계: AWS CLI 및 AWS SDKs 설정](su-awscli-sdk.md) 단원을 참조하십시오.

1. 다음 코드를 사용하여 프로젝트를 생성합니다.

------
#### [ 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을 표시하는 방법을 보여줍니다. 다음 명령줄 인수를 제공하세요.
   + `project_name`: 생성하려는 프로젝트의 이름

   ```
   # 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을 표시하는 방법을 보여줍니다.

   다음 명령줄 인수를 제공하세요.
   + `project_name`: 생성하려는 프로젝트의 이름

   ```
   /*
      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);
           }
   
       }
   
   }
   ```

------

1. 응답에 표시된 프로젝트 ARN의 이름을 기록해 둡니다. 모델을 생성할 때 필요합니다.

1. [훈련 및 테스트 데이터 세트 생성(SDK)](md-create-dataset.md#cd-create-dataset-sdk)에 나온 단계에 따라 프로젝트를 위한 훈련 및 테스트 데이터 세트를 만드세요.

## CreateProject 작업 요청
<a name="create-project-request"></a>

 다음은 CreateProject 작업 요청의 형식입니다.

```
{
 "AutoUpdate": "string",
 "Feature": "string", 
 "ProjectName": "string",
 "Tags": {
 "string": "string"
 }
}
```