생활코딩

Coding Everybody

tensorflowjs-vis

토픽 생활코딩 > 데이터 과학 > Tensorflow (JavaScript)

수업소개

얼마나 학습이 되었는가를 파악할 수 있는 시각적인 방법이 있습니다. tfjs-vis 를 이용해서 학습상황을 시각적으로 확인해보세요.

 

 

 

강의

11.html

<!DOCTYPE html>
<html>

<head>
    <title>TensorFlow.js Tutorial - boston housing </title>

    <!-- Import TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-vis"></script>
    <script src="10.3.js"></script>
</head>

<body>
    <script>
        /*
        var 보스톤_원인 = [
            [0.00632,18,2.31,0,0.538,6.575,65.2,4.09,1,296,15.3,396.9,4.98],
            [0.02731,0,7.07,0,0.469,6.421,78.9,4.9671,2,242,17.8,396.9,9.14]
        ];
        var 보스톤_결과 = [
            [24], 
            [21.6]
        ];
        */
    
        // 1. 과거의 데이터를 준비합니다. 
        var 원인 = tf.tensor(보스톤_원인);
        var 결과 = tf.tensor(보스톤_결과);

        // 2. 모델의 모양을 만듭니다. 
        var X = tf.input({ shape: [13] });
        var Y = tf.layers.dense({ units: 1 }).apply(X);
        var model = tf.model({ inputs: X, outputs: Y });
        var compileParam = { optimizer: tf.train.adam(), loss: tf.losses.meanSquaredError }
        model.compile(compileParam);
        tfvis.show.modelSummary({name:'요약', tab:'모델'}, model);

        // 3. 데이터로 모델을 학습시킵니다. 
//         var fitParam = {epochs: 100}
        var _history = [];
        var fitParam = { 
          epochs: 100, 
          callbacks:{
            onEpochEnd:
              function(epoch, logs){
                console.log('epoch', epoch, logs, 'RMSE=>', Math.sqrt(logs.loss));
                _history.push(logs);
                tfvis.show.history({name:'loss', tab:'역사'}, _history, ['loss']);
              }
          }
        } // loss 추가 예제
        model.fit(원인, 결과, fitParam).then(function (result) {
            
            // 4. 모델을 이용합니다. 
            // 4.1 기존의 데이터를 이용
            var 예측한결과 = model.predict(원인);
            예측한결과.print();

        });  

        // 4.2 새로운 데이터를 이용
        // var 다음주온도 = [15,16,17,18,19]
        // var 다음주원인 = tf.tensor(다음주온도);
        // var 다음주결과 = model.predict(다음주원인);
        // 다음주결과.print();
    </script>
</body>

</html>

 

댓글

댓글 본문
  1. Mark Kim
    공부를 최대한 간단하게 하고자 하는 강의의 취지는 이해하지만, 학습 데이터에 대한 오차를 최소화 하는 것이 모델 훈련의 목적이라고 잘못 생각하는 학생들이 많을 것 같습니다. 따라서 혹시 기회가 있다면 통계 부분에 대해서도 학습할 수 있는 기회가 있으면 더 좋을 것 같습니다.
  2. Hotbrains
    완료~ 감사합니다.
  3. 이성민
    완료~
  4. jwoh
    21-03-29
  5. Newbiecoder
    완료!!!
  6. 바이크
    완료
  7. 뭄수
    완료
  8. submit
    완료!!
  9. John
    완료
  10. 박병진
    2021.01.14 완료
  11. VIBOT
    ok
  12. 이민지
    완료
  13. henry
    완료!
  14. 김현우
    21.01.12 수강완료
  15. 건형팍
    완수!
  16. 라온
    tfvis 신기하네요~
  17. CrashOverride
    5일차 시작
  18. 해피쌤
    완료
  19. ukmadang
    반복 또 반복!!
  20. hungryoon
    감사합니다~!