생활코딩

Coding Everybody

코스 전체목록

닫기

tensorflowjs-vis

수업소개

얼마나 학습이 되었는가를 파악할 수 있는 시각적인 방법이 있습니다. 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. Newbiecoder
    완료!!!
  2. 바이크
    완료
  3. 뭄수
    완료
  4. submit
    완료!!
  5. 완료
  6. 박병진
    2021.01.14 완료
  7. ok
  8. 이민지
    완료
  9. 완료!
  10. 김현우
    21.01.12 수강완료
  11. 건형팍
    완수!
  12. 라온
    tfvis 신기하네요~
  13. CrashOverride
    5일차 시작
  14. 해피쌤
    완료
  15. ukmadang
    반복 또 반복!!
  16. hungryoon
    감사합니다~!
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기