nodejs / tensorflow.js 참고
2021. 10. 25. 18:10ㆍ개발/nodejs
tensorflow.js
모델 설정 및 저장/불러오기 참고
- tjs.js
...
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
const tjs = {}
// 입력값 1차원 배열 크기지정
const input = tf.input({shape: [10]});
// 히든레이어
const hidden = tf.layers.dense({units: 5}).apply(input);
// 결과값
const output = tf.layers.dense({units: 2}).apply(hidden);
// 모델 세팅
tjs.model_set = async()=>{
// 저장된 값 불러오기
let p = __dirname + '/model.json'
tf.loadLayersModel('file://' + p).then(res => {
tjs.model = res;
tjs.model.compile({optimizer: tf.train.adam(), loss: tf.losses.meanSquaredError})
}).catch(err => {
// 저장된 모델이 없을경우
tjs.model = tf.model({
inputs: input,
outputs: output
})
tjs.model.compile({optimizer: tf.train.adam(), loss: tf.losses.meanSquaredError})
});
}
// 모델 저장
tjs.model_save = async()=>{
let p = __dirname;
await tjs.model.save('file://' + p);
//
}
module["exports"] = tjs;
...
app.js
const tjs = require('/dir/tjs.js')
...
// 서버 실행시 모델 세팅
tjs.model_set();
...
학습
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
const tjs = require('/dir/tjs.js');
// 입력값 ( 모델 만들때 배열 크기와 동일해야됨 )
let in_list = [1,0,1,0,0,1,0,0,0,0];
let independent = independent = tf.tensor([in_list]);
// 결과값
let out_list = [1,0];
let dependent = tf.tensor([out]);
// 입력값, 결과값, 학습시킬수
tjs.model.fit(independent, dependent, {epochs: (10)});
결과
// 입력값
let in_list = [1,0,1,0,0,1,0,0,0,0];
// 결과 출력
let out = await tjs.model.predict(tf.tensor([in_list])).data();
// -> [0.902101,0.0018741]
'개발 > nodejs' 카테고리의 다른 글
[nodejs] html to image 로 이미지에 글자 및 이미지 넣기 / 한글 깨짐 오류 해결 (0) | 2024.06.26 |
---|---|
[Mac m1] canvas node package 설치 오류 (1) | 2024.06.04 |
[Mac] nvm / node.js 설치 (1) | 2024.06.04 |
nodejs/docker/socket.io(+redis) 여러개의 서버로 채팅 (0) | 2021.11.03 |
nodejs/docker 환경에서 파일 업로드 이슈 해결 (0) | 2021.11.02 |