딥러닝 모델을 웹 서비스에서 제공하고 싶어서 여러가지 자료를 찾아보았다.
현재 딥러닝 모델은 Python 기반이고 진행하는 프로젝트의 서버는 Java 기반(스프링부트)이다.
따라서 딥러닝을 웹에서 제공하기 위해서는
자바에서 직접 파이썬 코드를 호출하여 사용하거나(1),
모델 서버를 하나 더 만들어서 api 통신을 하는 방법(2) 두가지 방법이 있다고 생각했다.
(당시 참고했던 글)
하지만 새로운 방법을 같이 진행하고 있는 미서님이 찾았고(💜) 오늘은 그 방법인 TensorFlow.js를 이용하여 딥러닝 모델을 웹 서비스에서 사용해보려고 한다!
TensorFlow 공식 문서 (Keras 모델을 TensorFlow.js로 가져오기)를 참고하여 진행해보았다.
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
npm install @tensorflow/tfjs
yarn add @tensorflow/tfjs
var tf = require('@tensorflow/tfjs');
tensorflowjs_converter --input_format keras path/to/my_model.h5 path/to/tfjs_target_dir
import tensorflowjs as tfjs
def train(...):
model = keras.models.Sequential() # for example
...
model.compile(...)
model.fit(...)
tfjs.converters.save_keras_model(model, tfjs_target_dir)
import * as tf from '@tensorflow/tfjs';
const model = await tf.loadLayersModel('./{경로}/model.json');
tensorflowjs_converter : 'tensorflowjs_converter' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.
이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.
pip install tensorflowjs
을 하고 해당 문제를 해결 했다.ValueError: Nonexistent path to HDF5 file: D:\VSCodeProjects\video_3_LSTM_1_1024.h5