제퍼넷 로고

ColabCode: Google Colab에서 기계 학습 모델 배포

시간

ColabCode: Google Colab에서 기계 학습 모델 배포

ColabCode가 처음이신가요? 이를 사용하여 VS Code Server, Jupyter Lab 또는 FastAPI를 시작하는 방법을 알아보세요.


By 카우스투브 굽타, Python 개발자



님이 촬영 한 사진 니콜라스 일그 on Unsplash

 

Google colab은 Python 및 데이터 과학 애호가를 위한 가장 편리한 온라인 IDE입니다. 2017년에 공개된 이 프로젝트는 처음에는 Google 연구팀이 다양한 AI 프로젝트에서 공동 작업을 수행하는 데 사용하는 내부 프로젝트였습니다. 그 이후로 사용하기 쉬운 인터페이스, Jupyter 노트북 유사성 및 GPU 지원으로 인해 많은 인기를 얻었습니다.

numpy, pandas, seaborn, matplotlib, sklearn, TensorFlow와 같은 대부분의 인기 있는 기계 학습 라이브러리는 이 클라우드 환경에 사전 설치되어 제공되므로 명시적인 전제 조건이 필요하지 않습니다. 코드를 실행하기 위해 선택한 모든 python 패키지를 설치할 수도 있습니다. 이 기사에서는 FastAPI와 ngrok을 사용하여 기계 학습 모델을 API로 배포하는 간단한 방법을 설명합니다.

FastAPI란 무엇입니까?

 
Python으로 API를 구축하기 위한 고성능 웹 프레임워크입니다. 전통적으로 대부분의 개발자는 API를 빌드하기 위한 첫 번째 옵션으로 플라스크를 사용했지만 데이터 유효성 검사, 인증, 비동기 등에 국한되지 않는 몇 가지 제한 사항으로 인해 FastAPI는 많은 인기를 얻었습니다. FastAPI는 자동 문서 생성 기능, 인증, pydantic 모델을 통한 데이터 유효성 검사를 제공합니다. 두 프레임워크의 중요한 차이점에 대해 자세히 알아보려면 여기에서 Analytics Vidya에 대한 제 기사를 확인하세요.

FastAPI: 플라스크의 올바른 대체품?
이 기사는 Data Science Blogathon의 일부로 게시되었습니다. 소개 모델 구축을 마친 후…
 

FastAPI는 프로덕션 준비 서버를 설정하는 데 도움이 되지만 Heroku와 같은 실제 클라우드 플랫폼에 배포하기 전에 이를 팀과 공유하려는 경우 어떻게 해야 합니다. ngrok은 로컬 호스트를 터널링하고 인터넷에 노출하여 구출합니다. 이제 제공된 링크를 통해 누구나 API 엔드포인트에 액세스할 수 있지만 이 모든 작업을 Google Colab에서만 수행할 수 있다면 어떨까요? 이에 대한 해결책은 ColabCode입니다!

ColabCode란 무엇입니까?

 
시스템에서 로컬로 설정하지 않고도 Colab 노트북에서 바로 코드 서버를 시작할 수 있는 Python 패키지입니다. Colab 노트북에서 VS Code 환경, Jupyter Lab 서버를 시작하거나 FastAPI 서버를 웹에 터널링하는 데 사용할 수 있습니다. 이는 클라우드에서 모델을 교육하고 이제 API 형태로 결과를 전 세계와 공유하려는 열성적인 코더에게 큰 장점이 될 수 있습니다. 이 기사가 끝날 때까지 ColabCode의 모든 기능에 대해 논의할 것입니다.

ColabCode용 FastAPI 코드 준비

 
이 기사에서 사용할 문제 설명은 힙합 또는 록이라는 두 가지 음악 장르를 분류하기 위한 의사 결정 트리 분류기입니다. 이미 데이터 세트 정리를 완료했으며 내 컴퓨터에서 사용할 수 있습니다. GitHub 저장소. 이제 데이터 세트가 있으므로 이 문서는 배포에 대한 내용이므로 전처리 또는 EDA 작업 없이 간단히 노트북으로 가져오고 의사 결정 트리 모델을 훈련했습니다. 따라서 이 모델은 잘못된 결과를 반환할 수 있습니다!

모델 생성을 위한 코드


 

1. 이제 FastAPI 아키텍처를 알고 있다면 입력에 대한 데이터 클래스가 필요합니다. 이 데이터 클래스를 사용하면 FastAPI가 모델에 보낼 입력의 유효성을 검사할 수 있으며 잘못된 입력이 제공되면 모델에 제공하지 않고 단순히 오류를 발생시킵니다.

2. 데이터 클래스 생성은 매우 간단하며 데이터 유형과 함께 허용되는 매개변수만 필요합니다. 추가로 사용자 정의하기 위해 사용자 정의 예제를 추가하여 결과를 빠르게 테스트할 수도 있습니다. 이 클래스의 코드는 다음과 같습니다.

데이터 클래스 코드


 

3. 이제 모든 요청을 처리할 끝점을 만들어야 합니다. FastAPI의 끝점 생성은 플라스크와 매우 유사하며 유효성 검사를 위해 데이터 클래스를 받는 끝점 함수만 필요합니다.

FastAPI 코드


 

멋진 프로젝트를 탐색하려면 내 GitHub 프로필을 확인하세요.

kaustubhgupta – 개요
🔭 저는 현재 Python 및 Python의 모든 기능 탐색에 대해 작업하고 있습니다. 🌱 현재 일을 배우고 있습니다…
 

Colab코드

 
FastAPI가 준비되었으며 이제 필요한 것은 colab 환경을 통해 이것을 실행하는 것뿐입니다. 먼저 이 패키지를 가져오고 서버를 초기화합니다.

from colabcode import ColabCodeserver = ColabCode(port=10000, code=False)


포트 번호는 선택할 수 있으며 code 매개변수는 false여야 합니다. 이제 서버는 FastAPI 개체를 수신할 준비가 되었으며 ngrok의 도움으로 로컬 호스트가 터널링되고 고유한 URL을 통해 대중에게 노출됩니다.

server.run_app(app=app)


그리고 그거야! 커뮤니티, 팀 또는 누구와도 공유할 수 있는 ngrok URL을 받게 됩니다. 링크는 셀 프로세스를 종료하는 즉시 만료되며, 종료하지 않으면 Google Colab에서 일정 시간 후 종료합니다. 이 프로세스의 예시 GIF는 다음과 같습니다.



작성자의 GIF

 

여기에서 링크를 클릭한 후 FastAPI가 자동으로 생성하는 엔드포인트 /docs로 이동했으며 여기에서 결과를 테스트할 수 있습니다. 이 작업을 실행하고 시도하려는 경우 전체 노트북 코드를 여기에서 사용할 수 있습니다. 이 노트북을 열고 모든 셀을 실행하기만 하면 됩니다.

작성자 별 코드


 

기타 기능

 
ColabCode는 Colab에서 FastAPI 코드 실행에 국한되지 않고 VS 코드 서버와 Jupyter Lab 서버도 제공할 수 있습니다! 사용자가 클라우드 기반 서비스에서 친숙한 환경을 갖도록 도울 수 있습니다. 리소스가 매우 제한된 사용자도 이러한 서비스의 이점을 누릴 수 있습니다. 웹에서 VS Code 환경을 제공하는 새로 도입된 GitHub Codespaces와 매우 유사해집니다. ColabCodes를 통해 VS Code 서버를 실행하려면 다음을 수행하십시오.

from colabcode import ColabCode
ColabCode()


ngrok URL을 입력하라는 메시지가 표시되고 로드가 완료되면 다음과 같이 웹 브라우저에서 VS Code가 실행됩니다.



작성자의 이미지

 

마찬가지로 Jupyter 랩 서버를 열려면 lab 매개변수를 true로 전달하고 코드를 false로 전달합니다.

from colabcode import ColabCode
ColabCode(code=False, lab=True)


서버 인증을 위한 URL과 토큰을 받게 됩니다. 토큰을 입력하고 로그인을 누르면 다음과 유사한 화면이 나타납니다.



작성자 별 이미지

 

결론

 
이 기사에서는 FastAPI에 대한 약간의 소개와 함께 ColabCode가 제공하는 것을 설명했습니다. 현재 v0.2.0은 이 패키지의 제작자인 Abhishek Thakur에 의해 릴리스되었습니다. 체크 아웃 GitHub 저장소 기여하고 싶다면 이 패키지를 사용하세요.

이것으로 이 기사의 끝입니다. 생각할 새로운 것이 있기를 바랍니다. 다른 기사를 통해 피드에 추가하겠습니다!

내 링크드인

 
내 다른 인기 기사:

10줄 미만의 코드로 대시보드를 구축하십시오!
대화형 DashBoard를 개발하는 가장 쉬운 방법인 ExplainerDashBoard 살펴보기
 

내 7 개의 Python 프로젝트 다시 빌드
이것이 내가 내 Python 프로젝트를 재구축한 방법입니다: 데이터 과학, 웹 개발 및 Android 앱
 

웹 사이트에서 Python 코드 실행: Brython 탐색
Python의 JavaScript 등가 스크립팅
 

포트폴리오 생성을 자동화하는 GitHub 작업
Python 및 기본 프런트 엔드를 사용하는 Docker화된 GitHub 작업.
 

바이오 : 카우스투브 굽타 데이터 과학 및 기계 학습에 관심이있는 Python 개발자로, 다양한 데이터 관련 프로젝트에 참여했으며 기계 학습의 실제 응용 프로그램에 관심이 있습니다.

실물. 허가를 받아 다시 게시했습니다.

관련 :


PlatoAi. Web3 재창조. 데이터 인텔리전스 증폭.
액세스하려면 여기를 클릭하십시오.

출처: https://www.kdnuggets.com/2021/07/colabcode-deploying-machine-learning-models-google-colab.html

spot_img

최신 인텔리전스

spot_img