기계 학습(ML) 모델과 상호 작용하는 웹 인터페이스를 개발하는 것은 지루한 작업입니다. 와 함께 스트림릿, ML 솔루션용 데모 애플리케이션 개발이 쉽습니다. 스트림릿 ML 및 데이터 과학용 웹 앱을 쉽게 만들고 공유할 수 있게 해주는 오픈 소스 Python 라이브러리입니다. 데이터 과학자는 데이터 세트에 대한 결과를 보여주거나 훈련된 모델을 배포할 수 있습니다. Streamlit 애플리케이션은 팀에 프로젝트 진행 상황을 제시하고, 관리자에게 통찰력을 얻고 공유하며, 고객으로부터 피드백을 받는 데에도 유용합니다.
통합 개발 환경(IDE)을 통해 아마존 세이지 메이커 스튜디오 과 주피터 랩 3, 동일한 환경 내에서 개발 목적으로 Streamlit 웹 앱을 구축, 실행 및 제공할 수 있습니다. 이 게시물에서는 시간 소모적인 프런트 엔드 개발 없이 안전하고 재현 가능한 방식으로 Studio에서 Streamlit 앱을 빌드하고 호스팅하는 방법을 간략하게 설명합니다. 예를 들어 사용자 정의를 사용합니다. 아마존 인식 업로드된 이미지에 주석을 달고 레이블을 지정하는 데모. 이는 시작점 역할을 하며 모든 사용자 지정 ML 모델을 시연하도록 일반화할 수 있습니다. 이 블로그의 코드는 다음에서 찾을 수 있습니다. GitHub 저장소.
솔루션 개요
다음은 솔루션의 아키텍처 다이어그램입니다.
사용자는 먼저 브라우저를 통해 Studio에 액세스합니다. 사용자 프로필과 연결된 Jupyter 서버는 Studio Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 내에서 실행됩니다. Studio EC2 인스턴스 내부에는 예제 코드와 종속성 목록이 있습니다. 사용자는 시스템 터미널에서 Streamlit 앱인 app.py를 실행할 수 있습니다. Studio는 노트북 커널에서 분리된 Jupyter 서버에서 JupyterLab UI를 실행합니다. Jupyter 서버는 프록시와 함께 제공되며 Streamlit 앱에 액세스할 수 있습니다. 앱이 실행되면 사용자는 URL을 조정하여 AWS Jupyter 프록시를 통해 별도의 세션을 시작할 수 있습니다.
보안 측면에서 AWS Jupyter 프록시는 AWS 인증으로 확장됩니다. 사용자가 AWS 계정, Studio 도메인 ID 및 사용자 프로필에 액세스할 수 있는 한 링크에 액세스할 수 있습니다.
JupyterLab 3.0을 사용하여 Studio 만들기
이 솔루션이 작동하려면 JupyterLab 3이 포함된 Studio를 설치해야 합니다. 이전 버전은 이 게시물에 설명된 기능을 지원하지 않을 수 있습니다. 자세한 내용은 다음을 참조하십시오. Amazon SageMaker Studio 및 SageMaker 노트북 인스턴스는 이제 개발자 생산성을 향상하기 위해 JupyterLab 3 노트북과 함께 제공됩니다.. 기본적으로 Studio는 JupyterLab 3과 함께 제공됩니다. 이전 버전을 실행 중인 경우 버전을 확인하고 변경해야 합니다. 자세한 내용은 다음을 참조하십시오. JupyterLab 버전 관리.
다음을 사용하여 Studio를 설정할 수 있습니다. AWS 클라우드 개발 키트 (AWS CDK); 자세한 내용은 다음을 참조하십시오. AWS CDK를 사용하여 Jupyter Lab 3에서 Amazon SageMaker Studio 설정. 또는 SageMaker 콘솔을 사용하여 도메인 설정을 변경할 수 있습니다. 다음 단계를 완료하십시오.
- SageMaker 콘솔에서 도메인 탐색 창에서
- 도메인을 선택하고 선택 편집.
- 럭셔리 기본 Jupyter Lab 버전, 버전이 다음으로 설정되어 있는지 확인하십시오. 주피터 랩 3.0.
(선택 사항) 공유 공간 생성
SageMaker 콘솔 또는 AWS CLI를 사용하여 문서 또는 이 블로그의 단계에 따라 기존 도메인에 공유 공간에 대한 지원을 추가할 수 있습니다. AWS에서 공유 공간을 생성하면 다음과 같은 이점이 있습니다.
- 협업: 공유 공간을 사용하면 데이터나 인프라를 복제하지 않고도 여러 사용자 또는 팀이 프로젝트 또는 리소스 세트에서 협업할 수 있습니다.
- 비용 절감: 각 사용자 또는 팀이 자체 리소스를 생성하고 관리하는 대신 리소스를 풀링하고 여러 사용자 간에 공유할 수 있으므로 공유 공간이 더 비용 효율적일 수 있습니다.
- 단순화된 관리: 관리자는 공유 공간을 사용하여 각 사용자 또는 팀에 대해 동일한 리소스의 여러 인스턴스를 관리할 필요 없이 중앙에서 리소스를 관리할 수 있습니다.
- 향상된 확장성: 다양한 사용자 또는 팀의 요구 사항을 충족하기 위해 리소스를 동적으로 할당할 수 있으므로 변화하는 요구 사항에 따라 공유 공간을 보다 쉽게 확장 또는 축소할 수 있습니다.
- 향상된 보안: 리소스를 공유 공간에 중앙 집중화하면 액세스 제어 및 모니터링을 보다 쉽고 일관되게 적용할 수 있으므로 보안이 향상될 수 있습니다.
종속 항목 설치 및 Studio에서 예제 복제
다음으로 Studio를 시작하고 시스템 터미널을 엽니다. SageMaker IDE를 사용하여 예제를 복제하고 시스템 터미널을 사용하여 앱을 실행합니다. 이 블로그의 코드는 다음에서 찾을 수 있습니다. GitHub 저장소. 리포지토리 복제부터 시작합니다.
다음으로 시스템 터미널을 엽니다.
복제되면 시스템 터미널에서 종속성을 설치하고 다음 명령을 실행하여 예제 코드를 실행합니다. 이것은 먼저 다음을 실행하여 종속성을 pip 설치합니다. pip install --no-cache-dir -r requirements.txt
. 그만큼 no-cache-dir
플래그는 캐시를 비활성화합니다. 캐싱은 설치 파일(.whl
) pip를 통해 설치하는 모듈. 또한 소스 파일(.tar.gz
) 만료되지 않은 경우 다시 다운로드하지 않도록 합니다. 하드 드라이브에 공간이 없거나 Docker 이미지를 가능한 한 작게 유지하려는 경우 이 플래그를 사용하여 명령이 최소한의 메모리 사용으로 완료될 때까지 실행할 수 있습니다. 다음으로 스크립트는 패키지를 설치합니다. iproute
및 jq
, 다음 단계에서 사용됩니다.sh setup.sh
Streamlit 데모 실행 및 공유 가능한 링크 생성
모든 종속성이 성공적으로 설치되었는지 확인하고 Amazon Rekognition 데모를 보려면 다음 명령을 실행하십시오.
앱을 호스팅하는 포트 번호가 표시됩니다.
개발하는 동안 다음과 같은 경우 스크립트를 자동으로 다시 실행하는 것이 도움이 될 수 있습니다. app.py
디스크에서 수정됩니다. 그렇게 하려면 runOnSave를 수정할 수 있습니다. 구성 옵션 추가하여 --server.runOnSave true
명령에 플래그를 지정합니다.
다음 스크린샷은 터미널에 표시되어야 하는 내용의 예를 보여줍니다.
위의 예에서 앱을 실행 중인 포트 번호, 도메인 ID 및 스튜디오 URL을 볼 수 있습니다. 마지막으로 간소화된 앱에 액세스하는 데 사용해야 하는 URL을 볼 수 있습니다. 이 스크립트는 Studio URL을 수정하고 lab?
과 proxy/[PORT NUMBER]/
. 다음 스크린샷과 같이 Rekognition 개체 감지 데모가 표시됩니다.
이제 Streamlit 앱이 작동하므로 이 Studio 도메인 ID 및 사용자 프로필에 액세스할 수 있는 모든 사람과 이 URL을 공유할 수 있습니다. 이러한 데모를 더 쉽게 공유하기 위해 다음 명령을 실행하여 상태를 확인하고 실행 중인 모든 스트림릿 앱을 나열할 수 있습니다. sh status.sh
수명 주기 스크립트 또는 공유 공간을 사용하여 이 작업을 확장할 수 있습니다. 쉘 스크립트를 수동으로 실행하고 종속성을 설치하는 대신 다음을 사용하십시오. 수명 주기 스크립트 이 프로세스를 간소화합니다. 팀과 함께 이 앱을 개발 및 확장하고 동료와 대시보드를 공유하려면 공유 공간. Studio에서 공유 공간을 생성함으로써 사용자는 공유 공간에서 협업하여 Streamlit 앱을 실시간으로 개발할 수 있습니다. 공유 공간의 모든 리소스는 필터링되고 태그가 지정되어 더 쉽게 ML 프로젝트에 집중하고 비용을 관리할 수 있습니다. 다음 코드를 참조하여 Studio에서 자체 애플리케이션을 만드십시오.
대청소
앱 사용을 마치면 청취 포트를 비우고 싶습니다. Streamlit을 실행하는 모든 프로세스를 가져오고 사용을 위해 해제하려면 정리 스크립트를 실행할 수 있습니다. sh cleanup.sh
결론
이 게시물에서는 Amazon Rekognition을 사용하여 객체 감지 작업을 위한 Streamlit 데모를 호스팅하는 종단 간 예를 보여주었습니다. Studio에서 Streamlit 앱을 실행하는 데 필요한 빠른 웹 애플리케이션 구축 동기, 보안 고려 사항 및 설정에 대해 자세히 설명했습니다. 마지막으로 웹 브라우저에서 URL 패턴을 수정하여 AWS Jupyter 프록시를 통해 별도의 세션을 시작했습니다.
이 데모를 사용하면 이미지를 업로드하고 Amazon Rekognition의 출력을 시각화할 수 있습니다. 결과도 처리되며 앱을 통해 모든 경계 상자가 포함된 CSV 파일을 다운로드할 수 있습니다. 이 작업을 확장하여 자신의 데이터 세트에 주석을 달고 레이블을 지정하거나 코드를 수정하여 사용자 정의 모델을 선보일 수 있습니다!
저자에 관하여
디피카 쿨라르 의 ML 엔지니어입니다. Amazon ML 솔루션 랩. 그녀는 고객이 ML 솔루션을 통합하여 비즈니스 문제를 해결하도록 돕습니다. 가장 최근에는 미디어 고객을 위한 교육 및 추론 파이프라인과 마케팅을 위한 예측 모델을 구축했습니다.
마르셀로 애 버레 AWS AI 조직의 ML 엔지니어입니다. 그는 다음에서 MLOps 노력을 이끌고 있습니다. Amazon ML 솔루션 랩, 고객이 확장 가능한 ML 시스템을 설계하고 구현하도록 돕습니다. 그의 임무는 엔터프라이즈 ML 여정에서 고객을 안내하고 프로덕션으로의 ML 경로를 가속화하는 것입니다.
야쉬 샤 의 과학 관리자입니다. Amazon ML 솔루션 랩. 그와 그의 응용 과학자 및 ML 엔지니어 팀은 의료, 스포츠, 자동차 및 제조의 다양한 ML 사용 사례에 대해 작업합니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/build-streamlit-apps-in-amazon-sagemaker-studio/
- :이다
- $UP
- 100
- 7
- a
- 위의
- 가속
- ACCESS
- 계정
- 가로질러
- 관리자
- AI
- All
- 할당
- 수
- 아마존
- Amazon EC2
- 아마존 인식
- 아마존 세이지 메이커
- 아마존 세이지 메이커 스튜디오
- 및
- 누군가
- 앱
- 어플리케이션
- 적용된
- 앱
- 아키텍처
- 있군요
- AS
- 양상
- 관련
- At
- 인증
- 자동적으로
- 자동차
- AWS
- BE
- 혜택
- 블로그
- 후원
- 박스
- 브라우저
- 빌드
- 건물
- 내장
- 사업
- by
- 캐시
- CAN
- 가지 경우
- 이전 단계로 돌아가기
- 변화
- 검사
- 왼쪽 메뉴에서
- 클라우드
- 암호
- 협력
- 왔다
- 완전한
- 완성
- 계산
- 고려 사항
- 콘솔에서
- 컨트롤
- 비용 효율적인
- 비용
- 만들
- 만들기
- 관습
- 고객
- 데이터
- 데이터 과학
- 데이터 과학자
- 태만
- 요구
- 데모 곡
- 배포
- 디자인
- 상세한
- Detection System
- 개발
- 개발자
- 개발
- 개발
- 다른
- 도커
- 도메인
- 아래 (down)
- 다운로드
- 드라이브
- 역동적 인
- 마다
- 쉽게
- 용이하게
- 노력
- 끝으로 종료
- 기사
- 엔지니어
- Enterprise
- 환경
- 조차
- 예
- 현존하는
- 존재
- 확장
- 특징
- 피드백
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 최종적으로
- 먼저,
- 초점
- 수행원
- 럭셔리
- 발견
- 무료
- 에
- 획득
- 얻을
- 점점
- 안내
- 하드
- 하드 드라이브
- 있다
- 데
- 건강 관리
- 도움이
- 도움이
- 도움이
- 주인
- 호스팅
- 방법
- How To
- HTML
- HTTPS
- ID
- 영상
- 구현
- 개선하는
- in
- 정보
- 인프라
- 시작
- 통찰력
- 설치
- 설치
- 설치
- 예
- 를 받아야 하는 미국 여행자
- 통합
- 통합 된
- 상호 작용하는
- 인터페이스
- IT
- 여행
- JPG
- 유지
- 실험실
- 라벨
- 시작
- 지도
- 배우기
- 도서관
- wifecycwe
- LINK
- 명부
- 청취
- 긴
- 기계
- 기계 학습
- 확인
- 제작
- 유튜브 영상을 만드는 것은
- 관리
- 구축
- 매니저
- 관리자
- 관리
- 태도
- 수동으로
- 제조
- 마케팅
- XNUMX월..
- 미디어
- 소개
- 메모리
- 수도
- 최소의
- Mission
- ML
- MLOps
- 모델
- 모델
- 수정
- 수정
- 모듈
- 모니터링
- 배우기
- 가장
- 동기
- 여러
- 카테고리
- 필요
- 요구
- 다음 것
- 수첩
- 번호
- 대상
- 객체 감지
- of
- on
- 열 수
- 오픈 소스
- 조직
- 설명
- 요점
- 자신의
- 패키지
- 빵
- 통로
- 무늬
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 포인트 적립
- 가능한
- 게시하다
- 문제
- 방법
- 처리됨
- 프로세스
- 생산
- 프로필
- 진행
- 프로젝트
- 프로젝트
- 대리
- 목적
- Python
- 빠른
- 범위
- 차라리
- 현실
- 실시간
- 최근에
- 저장소
- 필수
- 요구조건 니즈
- 제품 자료
- 결과
- 달리기
- 달리는
- 현자
- 같은
- 저금
- 확장성
- 확장성
- 과학
- 과학자
- 과학자
- 스크립트
- 안전해야합니다.
- 보안
- 별도의
- 서브
- 세션
- 세트
- 설정
- 설치
- 공유
- 공유
- 공유
- 껍질
- 영상을
- 소개
- 표시
- 쇼
- 작은
- So
- 해결책
- 솔루션
- 풀다
- 출처
- 스페이스 버튼
- 공간
- 스포츠
- 스타트
- 시작 중
- Status
- 단계
- 단계
- 저장
- 상점
- 유선
- 스튜디오
- 성공적으로
- SUPPORT
- 체계
- 시스템은
- 태스크
- 팀
- 팀
- 단말기
- 그
- XNUMXD덴탈의
- 소스
- 그들의
- 그들
- Bowman의
- 을 통하여
- 시간
- 시간이 많이 걸리는
- 에
- 훈련 된
- 트레이닝
- ui
- 업로드
- URL
- us
- 용법
- 사용
- 사용자
- 사용자
- 확인
- 버전
- 관측
- 웹
- 웹 애플리케이션
- 웹 브라우저
- 뭐
- 어느
- 동안
- 누구
- 의지
- 과
- 이내
- 없이
- 작업
- 일하는
- 자신의
- 너의
- 제퍼 넷