*Tensorflow (기본적인 operations)

2022. 4. 7. 01:27·공부정리/모두를 위한 딥러닝 (강의 정리)
728x90
반응형

이 포스팅은 김성훈 교수님의 강의(모두를 위한 딥러닝)를 수강하며 공부한 내용을 정리한 것입니다.

 

*해당 포스트는 텐서플로우 1.0.0 버전으로 작성된 소스코드입니다.

2.0.0 부터는 Session()이 사용되지 않음

*Tensorflow (기본적인 operations)

 

import tensorflow as tf #ensorflow 를 import 하여 tf라는 이름으로 사용하기로 했다.

hello = tf.constant("Hello, TensorFlow!") 
'''tf.constant라는 함수를 호출하여 "Hello, TensorFlow!"라는 
문자열을 hello라는 변수에 저장하는 것이다. '''

sess = tf.Session() #Computational Graph를 실행하기 위해서는 Session이라는 것을 만든다.

print(sess.run(hello)) #.run을 호출하여 sess라는 이름의 텐서플로 세션을 통해 hello라는 노드를 실행

가장 기본적인 hello world를 텐서플로에서 실행하는 코드이다.  

이러한 과정을 통해 출력된 결과는 다음과 같다.

b'Hello, TesorFlow!' #b는 Byte literals라는 것임을 의미한다

 

다음 예제는 위와 같은 Computational Graph를 구현하는 것이다. a라는 노드와 b라는 노드를 하나의 다른 노드로 연결시키는 것이다. 구현 결과는 아래와 같다.

 

 

print함수를 이용해 두 노드를 출력하면 보는 바와 같이, 텐서플로가 이들은 그저 그래프 안의 요소(Tensor)라고 대답한다. 따라서 일반적인 경우처럼 연산에 대한 결과값이 나오는 것이 아니라, 각 Tensor들의 속성에 대한 정보만 출력한다.

 

연산을 출력하려면 Hello TensorFlow를 출력했던 것과 같이 Session을 만들어주어야한다.

sess = tf.Session()
print("sess.run([node1, node2]): ", sess.run([node1, node2]))
print("sess.run(node3): ", sess.run(node3))

이렇게하면 결과는 아래와 같다.

sess.run([node1, node2]): [3.0, 4.0]
sess.run(node3): 7.0

 

 

따라서 텐서플로우의 구조를 보면,

 

1. TensorFlow Operation을 이용해서 Graph(Tensors)를 빌드해야 한다.
2. 다음으로 sess.run을 통해 data를 넣은 뒤 우리가 만든 Graph를 실행시킨다.
3. 그 결과로, 그래프 안에 있는 어떠한 값들이 update되거나, 어떠한 값을 return하게 된다

 

728x90
반응형

'공부정리 > 모두를 위한 딥러닝 (강의 정리)' 카테고리의 다른 글

[딥러닝] Convolutional Neural Networks - 강의 정리  (0) 2022.09.13
2-1. Linear Regression(선형회귀)  (0) 2022.04.07
1. Machine Learning Basics  (0) 2022.04.07
'공부정리/모두를 위한 딥러닝 (강의 정리)' 카테고리의 다른 글
  • [딥러닝] Convolutional Neural Networks - 강의 정리
  • 2-1. Linear Regression(선형회귀)
  • 1. Machine Learning Basics
sillon
sillon
꾸준해지려고 합니다..
    반응형
  • sillon
    sillon coding
    sillon
  • 전체
    오늘
    어제
    • menu (616)
      • notice (2)
      • python (68)
        • 자료구조 & 알고리즘 (23)
        • 라이브러리 (19)
        • 기초 (8)
        • 자동화 (14)
        • 보안 (1)
      • coding test - python (301)
        • Programmers (166)
        • 백준 (76)
        • Code Tree (22)
        • 기본기 문제 (37)
      • coding test - C++ (5)
        • Programmers (4)
        • 백준 (1)
        • 기본기문제 (0)
      • 공부정리 (139)
        • 신호처리 시스템 (0)
        • Deep learnig & Machine lear.. (41)
        • Data Science (18)
        • Computer Vision (17)
        • NLP (40)
        • Dacon (2)
        • 모두를 위한 딥러닝 (강의 정리) (4)
        • 모두의 딥러닝 (교재 정리) (9)
        • 통계 (3)
      • HCI (23)
        • Haptics (7)
        • Graphics (11)
        • Arduino (4)
      • Project (21)
        • Web Project (1)
        • App Project (1)
        • Paper Project (1)
        • 캡스톤디자인2 (17)
        • etc (1)
      • OS (10)
        • Ubuntu (9)
        • Rasberry pi (1)
      • App & Web (9)
        • Android (7)
        • javascript (2)
      • C++ (5)
        • 기초 (5)
      • Cloud & SERVER (8)
        • Git (2)
        • Docker (1)
        • DB (4)
      • Paper (7)
        • NLP Paper review (6)
      • 데이터 분석 (1)
        • GIS (0)
      • daily (2)
        • 대학원 준비 (0)
      • 영어공부 (6)
        • job interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    programmers
    Python
    소수
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sillon
*Tensorflow (기본적인 operations)
상단으로

티스토리툴바