1.2. OCI 이미지에 모델 저장
OCI 이미지에 모델을 저장할 수 있습니다. 다음 절차에서는 ONNX 형식으로 MobileNet v2-7 모델을 저장하는 예제를 사용합니다.
사전 요구 사항
- ONNX 형식의 모델이 있습니다. 이 절차의 예제에서는 ONNX 형식의 MobileNet v2-7 모델을 사용합니다.
- Podman 툴을 설치했습니다.
프로세스
로컬 시스템의 터미널 창에서 OCI 이미지를 생성하는 데 필요한 모델 및 지원 파일을 모두 저장할 임시 디렉터리를 생성합니다.
cd $(mktemp -d)
cd $(mktemp -d)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 임시 디렉터리 내에
models폴더를 생성합니다.mkdir -p models/1
mkdir -p models/1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제 명령은 OpenVINO 모델 버전 관리를 위해 번호가 지정된 하위 디렉터리가 필요하므로
1디렉터리를 지정합니다. OpenVINO를 사용하지 않는 경우 OCI 컨테이너 이미지를 사용하기 위해1하위 디렉터리를 생성할 필요가 없습니다.모델 및 지원 파일을 다운로드합니다.
DOWNLOAD_URL=https://github.com/onnx/models/raw/main/validated/vision/classification/mobilenet/model/mobilenetv2-7.onnx curl -L $DOWNLOAD_URL -O --output-dir models/1/
DOWNLOAD_URL=https://github.com/onnx/models/raw/main/validated/vision/classification/mobilenet/model/mobilenetv2-7.onnx curl -L $DOWNLOAD_URL -O --output-dir models/1/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 트리명령을 사용하여 모델 파일이 예상대로 디렉터리 구조에 있는지 확인합니다.tree
treeCopy to Clipboard Copied! Toggle word wrap Toggle overflow tree명령은 다음 예와 유사한 디렉터리 구조를 반환해야 합니다.. ├── Containerfile └── models └── 1 └── mobilenetv2-7.onnx. ├── Containerfile └── models └── 1 └── mobilenetv2-7.onnxCopy to Clipboard Copied! Toggle word wrap Toggle overflow Containerfile이라는 Docker 파일을 생성합니다.참고-
쉘을 제공하는 기본 이미지를 지정합니다. 다음 예에서
ubi9-micro는 기본 컨테이너 이미지입니다. KServe는 쉘을 사용하지 않는 쉘을 제공하지 않는 빈 이미지를 지정할 수 없습니다. KServe는 쉘을 사용하여 모델 서버에 액세스할 수 있도록 하기 때문입니다. - 복사된 모델 파일의 소유권을 변경하고 루트 그룹에 읽기 권한을 부여하여 모델 서버가 파일에 액세스할 수 있는지 확인합니다. OpenShift는 임의의 사용자 ID 및 root 그룹 ID로 컨테이너를 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
쉘을 제공하는 기본 이미지를 지정합니다. 다음 예에서
podman build명령을 사용하여 OCI 컨테이너 이미지를 생성하여 레지스트리에 업로드합니다. 다음 명령은 Quay를 레지스트리로 사용합니다.참고리포지토리가 프라이빗인 경우 컨테이너 이미지를 업로드하기 전에 레지스트리에 인증되었는지 확인합니다.
podman build --format=oci -t quay.io/<user_name>/<repository_name>:<tag_name> . podman push quay.io/<user_name>/<repository_name>:<tag_name>
podman build --format=oci -t quay.io/<user_name>/<repository_name>:<tag_name> . podman push quay.io/<user_name>/<repository_name>:<tag_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow