Edge 기기 모델 빠른 시작

빠른 시작에서는 다음과 같은 과정을 안내합니다.

  • Google Cloud Storage에 이미지 세트 복사
  • 이미지와 라벨의 목록을 포함하는 CSV 작성
  • AutoML Vision을 사용하여 데이터 세트를 만들고, 커스텀 AutoML Vision Edge 모델을 학습시키고, 예측 수행
  • AutoML Vision Edge 모델 내보내기 및 배포

시작하기 전에

프로젝트 설정

  1. Google 계정으로 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. Cloud Console의 프로젝트 선택기 페이지에서 Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기 페이지로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. AutoML and Cloud Storage API를 사용 설정합니다.

    API 사용 설정

  5. gcloud 명령줄 도구를 설치합니다.
  6. 서비스 계정 만들기 및 키 파일 다운로드의 안내를 따릅니다.
  7. 서비스 계정을 만들 때 다운로드한 서비스 계정 키 파일 경로로 GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정합니다.
    export GOOGLE_APPLICATION_CREDENTIALS=key-file
  8. PROJECT_ID 환경 변수를 프로젝트 ID로 설정합니다.
    export PROJECT_ID=your-project-id
    AutoML API 호출 및 리소스 이름에는 프로젝트 ID가 포함됩니다. PROJECT_ID 환경 변수는 ID를 지정하는 편리한 방법을 제공합니다.
  9. 프로젝트 소유자인 경우 서비스 계정을 AutoML 편집자 IAM 역할에 추가하고 service-account-name을 새 서비스 계정 이름으로 바꿉니다. 예를 들면 service-account1@myproject.iam.gserviceaccount.com입니다.
    gcloud auth login
    gcloud projects add-iam-policy-binding $PROJECT_ID \
       --member="serviceAccount:service-account-name" \
       --role="roles/automl.editor"
    
  10. 그렇지 않은 경우(프로젝트 소유자가 아닌 경우) 프로젝트 소유자에게 사용자 ID와 서비스 계정을 모두 AutoML 편집자 IAM 역할에 추가해 달라고 요청합니다.

Cloud Storage 버킷 생성

Cloud Console 프로젝트에 연결된 브라우저 기반의 Linux 명령줄인 Cloud Shell을 사용하여 Cloud Storage 버킷을 만듭니다.

  1. Cloud Shell을 엽니다.

  2. Google Cloud Storage 버킷을 만듭니다. 버킷 이름은 project-id-vcm 형식이어야 합니다. 다음 명령어는 project-id-vcm이라는 us-central1 리전에 스토리지 버킷을 만듭니다. 사용 가능한 지역의 전체 목록을 보려면 버킷 위치 페이지를 참조하세요.

    gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/

  3. BUCKET 변수를 설정합니다.

    export BUCKET=${PROJECT_ID}-vcm

사용자 버킷에 샘플 이미지 복사

다음으로 이 TensorFlow 블로그 게시물에 사용된 꽃 데이터 세트를 복사합니다. 이미지는 공용 Cloud Storage 버킷에 저장되어 있으므로 사용자 버킷으로 바로 복사할 수 있습니다.

  1. Cloud Shell 세션에서 다음을 입력합니다.

    gsutil -m cp -R gs://cloud-ml-data/img/flower_photos/ gs://${BUCKET}/img/
    

    파일 복사가 완료되기까지 20분 정도 걸립니다.

CSV 파일 만들기

샘플 데이터 세트에는 모든 이미지의 위치와 각 이미지의 라벨이 포함된 CSV 파일이 들어 있습니다. 이 파일을 활용해 사용자의 CSV 파일을 만들게 됩니다.

  1. 사용자의 버킷에 있는 파일을 가리키도록 CSV 파일을 수정합니다.

    gsutil cat gs://${BUCKET}/img/flower_photos/all_data.csv | sed "s:cloud-ml-data:${BUCKET}:" > all_data.csv
    
  2. CSV 파일을 사용자의 버킷에 복사합니다.

    gsutil cp all_data.csv gs://${BUCKET}/csv/
    

데이터 세트 만들기

AutoML Vision UI를 방문하여 데이터 세트를 만들고 모델을 학습시키는 과정을 시작합니다.

해당 메시지가 나타나면 Cloud Storage 버킷에 사용한 프로젝트를 선택합니다.

  1. AutoML Vision 페이지에서 새 데이터 세트를 클릭합니다.

    콘솔의 새 데이터 세트 버튼

  2. 이 데이터 세트의 이름을 지정합니다(선택 사항). 데이터 세트 만들기를 선택하여 데이터 세트 만들기 프로세스를 계속합니다.

    새 데이터 세트 이름 필드

  3. 가져올 파일 선택 화면에서 Cloud Storage에서 CSV 파일 선택 라디오 옵션을 선택합니다. CSV 파일의 Cloud Storage URI를 지정합니다. 이 빠른 시작에서 CSV 파일은 다음 위치에 있습니다.

    • gs://${PROJECT_ID}-vcm/csv/all_data.csv

    PROJECT_ID를 특정 프로젝트 ID로 바꿉니다.

    파일 가져오기 선택 창

  4. 계속을 클릭하여 이미지 가져오기를 시작합니다. 가져오기 프로세스는 몇 분 정도 걸립니다. 완료되면 데이터 세트에서 식별된 모든 이미지(라벨이 있는 이미지 및 라벨이 없는 이미지)에 대한 세부정보를 보여주는 다음 페이지로 이동합니다.

    가져오기가 완료된 후 나열된 이미지

모델 학습

  1. 데이터 세트가 생성 및 처리되었으면 학습 탭을 선택하여 모델 학습을 시작합니다.

    학습 탭 선택

  2. 계속하려면 학습 시작을 선택합니다. 그러면 학습 옵션이 있는 새 모델 학습 창이 열립니다.

  3. 새 모델 학습 창의 모델 정의 섹션에서 모델 이름을 변경하고(선택 사항) Edge 모델 라디오 옵션을 선택합니다. 계속을 선택하여 다음 섹션으로 이동합니다.

    학습을 위한 모델 정의 섹션

  4. 모델 최적화 옵션 섹션에서 최적의 균형 옵션을 수락하고 계속을 선택합니다.

  5. 노드 시간 예산 설정 섹션에서 제안된 노드 예산(4 노드 시간)을 수락합니다.

    Edge 모델 학습

  6. 모델 학습을 시작하려면 '학습 시작'을 선택합니다.

    모델 학습이 시작되고 약 1시간 정도 걸립니다. 선택한 노드 시간보다 일찍 학습이 중지될 수 있습니다. 학습이 완료되거나 오류가 발생하는 경우에는 이메일이 발송됩니다.

모델 배포

모델을 내보내려면 먼저 배포해야 합니다.

  1. 모델을 배포하려면 테스트 및 사용 탭을 선택합니다. 탭에서 모델 이름 근처의 모델 배포 옵션을 클릭합니다.

  2. 다음 창에서 배포할 노드 1개를 지정하고 배포를 선택하여 모델 배포 프로세스를 시작합니다.

    배포할 노드 시간 선택

모델 배포가 완료되면 알림이 전송됩니다.

모델 내보내기

AutoML Vision Edge 모델 사용의 마지막 단계는 모델을 내보내고(최적화 및 다운로드) 배포(사용)하는 것입니다.

Edge 기기에서 예측에 사용하기 위해 모델을 내보내고 배포하는 방법은 여러 가지입니다.

이 빠른 시작에서는 Tensorflow Lite(TF Lite)를 예시로 사용합니다. TF Lite 모델은 사용하기 쉽고 다양한 사용 사례를 지원합니다.

  1. 테스트 및 사용 탭의 모델 사용 섹션에서 TF Lite 옵션을 선택합니다.

    TF Lite 모델 내보내기

  2. TF Lite 패키지 내보내기 창에서 TF Lite 패키지를 내보낼 Cloud Storage 버킷 위치를 지정하고 내보내기를 선택합니다. 일반적으로 내보내기 프로세스는 몇 분 정도 걸립니다.

    TF Lite 모델 측면 창 내보내기

Google Cloud Storage 대상 위치에서 타임스탬프 및 모델 형식으로 이름이 지정된 폴더를 찾습니다. 여기에서 다음과 같은 파일을 찾을 수 있습니다.

  • tflite 파일(model.tflite)
  • 사전 파일(dict.txt)
  • 메타데이터 파일(tflite_metadata.json)

다음 단계

이러한 파일을 사용해서 가이드에 따라 Android 기기, iOS 기기, Raspberry Pi 3, 에 배포할 수 있습니다.

다른 모델 사용 옵션

  • 또한 모델을 TensorFlow SavedModel로 내보내고 컨테이너 탭에서 Docker 컨테이너에 이를 사용할 수 있습니다. 컨테이너에 내보내기 방법은 컨테이너 가이드를 참조하세요.
  • Edge 기기 탭에서 Edge TPU에서 실행할 모델을 내보낼 수 있습니다. 그런 후 Edge TPU에서 유추 실행 방법에 대한 Coral 공식 문서를 참조하세요.
  • CoreML 지원 모델 학습을 위해 모델을 학습하기 전 Core ML 모델 형식(iOS/macOS)을 확인할 수 있습니다. 학습 후에는 CoreML 탭에서 모델을 내보내고 CoreML 가이드를 따를 수 있습니다.

정리

커스텀 모델이나 데이터세트가 필요 없다면 삭제해도 됩니다.

불필요한 Google Cloud Platform 요금을 막으려면 GCP Console을 사용하여 필요하지 않은 프로젝트를 삭제해야 합니다.

모델 배포 취소

모델 배포 중에는 비용이 발생합니다.

  1. 제목 표시줄 바로 아래에 있는 테스트 및 사용 탭을 선택합니다.
  2. 모델 이름 아래의 배너에서 배포 삭제를 선택하여 배포 취소 옵션 창을 엽니다.

    배포 취소 팝업 메뉴

  3. 배포 삭제를 선택하여 모델을 배포 취소합니다.

    모델 배포

  4. 모델 배포 취소가 완료되면 이메일이 전송됩니다.

프로젝트 삭제(선택사항)

불필요한 Google Cloud Platform 요금이 부과되지 않도록 하려면 Cloud Console에서 필요하지 않은 프로젝트를 삭제해야 합니다.