tensorflow.js

딥러닝

수업소개

딥러닝 다운 코드를 작성해봅시다. 

 

 

 

강의1

 

 

 

 

강의2

12.2.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 H1 = tf.layers.dense({ units: 13, activation:'relu' }).apply(X);
        var H2 = tf.layers.dense({ units: 13, activation:'relu' }).apply(H1);
        var Y = tf.layers.dense({ units: 1 }).apply(H2);
        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. Hotbrains
    히든 레이어 없이 작성되는 모델은 변수에 대한 1차 함수를 예측을 할 수 있다면
    히든 레이어가 추가될 수록 고차 함수를 예측할 수 있는 여지가 생기겠네요.
    자연 현상의 모델은 특정 변수에 대한 1차 함수로 귀결되지 않는 경우가 많을 테니까요.
    고차 함수를 어떻게 모델링할까 생각하다가 갑자기 그런 생각이 들었습니다. ^^;
  2. Hotbrains
    완료~ 감사합니다.
  3. 이성민
    완료~
  4. mikann
    와우
  5. jwoh
    21-03-29
    은닉층이라...아직 잘 모르겠음.
  6. Newbiecoder
    감동!!
  7. 바이크
    완료
  8. 뭄수
    완료
  9. submit
    완료!!
  10. John
    완료
  11. 박병진
    2021.01.14 완료
  12. 박병진
    무슨 에디터 프로그램인가요?
    대화보기
    • VIBOT
      ok
    • 이민지
      완료
    • henry
      완료!
    • 김현우
      21.01.12 수강완료
    • ukmadang
      겨우 겨우 이해하고 따라가고 있습니다, 야학 이후 틈을 내서 에디터 프로그램도 사용해보겠습니다. 정말정말 최고입니다!
    • 건형팍
      감사합니다!
    • CrashOverride
      5일차 진행 중
    • 라온
      빠르게 보다 보니 머릿속에서 다 정리되는 것은 아니겠지만 재미있게 들었습니다. 아마 다시 들으면서 조금 정리를 해야 내것이 될거 같습니다. 강의 감사드립니다.
    • 해피쌤
      완료
    • 행여
      넘 감사합니다^^
    • 바른생활
      아.....시즌2는 시즌1에 비해서 너무 짧게 느껴지네요.
      그래도, javascript 기반으로 해 보는 과정 자체가 python 기반으로 할 때와는 전혀 다른 느낌이네요.
      매 강의 너무 감사해요.
    • ToBeNew
      완료! 감사합니다.
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기