JavaScript Firebase 함수를 사용하여 Google Cloud Platform에서 모델 실행
Feb 02 2023
앱과 연결된 Firebase 프로젝트가 있고 Google Cloud Platform(GCP)의 동일한 프로젝트에서 기계 학습 모델을 만들었다고 가정해 보겠습니다. 이제 앱의 Firebase 인증을 통해 GCP의 모델을 사용하여 추론을 수행하는 방법이 궁금할 것입니다.
앱과 연결된 Firebase 프로젝트가 있고 Google Cloud Platform(GCP)의 동일한 프로젝트 에서 기계 학습 모델을 만들었다고 가정해 보겠습니다 . 이제 앱의 Firebase 인증을 통해 GCP의 모델을 사용하여 추론을 수행하는 방법이 궁금할 것입니다. JavaScript Firebase 기능을 사용하여 완료할 수 있습니다.
(이것은 Ubuntu 18.04 및 Node.js 14에서 테스트되었습니다)
0. 전제 조건
- 앱과 연결된 Firebase 프로젝트(예: 프로젝트 ID = {PROJECT_ID})
- GCP의 동일한 프로젝트 {PROJECT_ID} 에 있는 머신러닝 모델
- Node.js 14 및 npm( nvm 을 사용하여 설치할 수 있음 )
터미널을 열고 다음을 실행합니다.
npm install -g firebase-tools
로컬 프로젝트 디렉토리가 데스크톱에서 {LOCAL_DIR}이라고 가정합니다. 그것을 만들고 탐색하십시오.
mkdir -p ~/Desktop/{LOCAL_DIR}
cd ~/Desktop/{LOCAL_DIR}
아래의 참고 사항을 참조하여 생성된 프롬프트를 탐색하는 방법에 대한 가이드로 다음 명령을 하나씩 신중하게 실행하십시오.
firebase login
firebase init firestore
firebase init functions
- 브라우저를 통해 로그인하고 인증하라는 메시지가 표시됩니다.
- 메시지가 표시되면 올바른 Firebase 프로젝트( {PROJECT_ID} )를 선택합니다.
- JavaScript(js)를 언어로 선택합니다 .
- 이를 위해 " elsint "는 필요 하지 않습니다 .
- 종속성을 설치하려면 예를 선택하십시오 .
googleapis 패키지가 필요합니다 .
cd ~/Desktop/{LOCAL_DIR}/functions
npm i googleapis
원하는 IDE(예: VS Code)로 " {LOCAL_DIR}/functions/package.json"을 열고 다음과 같이 " engines " 섹션을 편집합니다.
"engines": {
"node": "14"
},
원하는 IDE로 " {LOCAL_DIR}/functions/index.js"를 엽니다.
다음 용어를 정의해 봅시다. 귀하의 세부 정보로 교체해야 합니다.
- 모델명 = {MODEL_NAME}
- 모델 영역 = {MODEL_REGION} — (특히 성능 향상을 위해 모델 영역이 함수 영역과 동일한지 확인하십시오. 기본값 = us-central1 )
- Firebase 함수 이름 = {ML_FUNCTION}
- 함수 입력 = 모델 입력 = {“key_str”: “val_str”, “key_int”: 2, “key_arr”: [1.25, 0.76, 3.84]}와 같은 사전
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
const googleapis_pack = require("googleapis");
const ml = googleapis_pack.google.ml({version:"v1", rootUrl:"https://{MODEL_REGION}-ml.googleapis.com"});
exports.{ML_FUNCTION} = functions.https.onCall(async(data, context)=>
{
const key_str = data.key_str;
const key_int = data.key_int;
const key_arr = data.key_arr;
const instance = {"key_str":key_str, "key_int":key_int, "key_arr":key_arr};
const model = "{MODEL_NAME}";
const { credential } = await googleapis_pack.google.auth.getApplicationDefault();
const modelName = "projects/{PROJECT_ID}/models/" + model;
const results = await ml.projects.predict({
auth: credential,
name: modelName,
requestBody: instance
});
return results.data;
}
);
터미널로 이동하여 다음을 실행하십시오.
cd ~/Desktop/{LOCAL_DIR}
firebase deploy --only functions
PS —
앱(iOS, Android 등)에서 Firebase 함수를 호출하는 방법을 알아보려면 Google에서 제공하는 이 공식 문서를 참조하세요.
참조
- https://firebase.google.com/docs/functions/get-started
- https://github.com/nvm-sh/nvm/blob/master/README.md
- https://firebase.google.com/docs/functions/callable

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































