[모두를 위한 딥러닝] TensorFlow Basic

2022. 4. 6. 00:32·Programming/Deep Learning
목차
  1. ❓ Tensor ?
  2. ❓ TensorFlow
  3. ❓ TensorFlow의 Data Flow Graph
  4. ❗ TensorFlow 설치 
  5. ❗ VS Code에서 간단한 프로그램 실행해보기
  6. ❗ Placeholder
728x90
반응형

❓ Tensor ?

  • 텐서란 데이터의 배열이라고 볼 수 있다.
  • Rank는 몇 차원의 배열인지를 나타낸다.
  • Type 은 텐서의 데이터 타입을 나타낸다.
  • Shape 은 배열의 모양을 나타낸다 => ex) shapes 이 [3,4] 혹은 (3,4) 이라면 요소가 3개인 배열이 4개 있는 모양의 배열을 뜻한다.

[출처] https://rekt77.tistory.com/102

❓ TensorFlow

  • 텐서플로우는 다양한 작업에 대해 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리
  • 즉, 기계학습 라이브러리

❓ TensorFlow의 Data Flow Graph

 

  • Node는 연산을 나타낸다.
  • Edge는 노드와 노드를 연결하며 데이터흐름을 나타낸다.
  • Tensor 엣지들을 따라서 각 노드들의 사이를 이동하는 값이며 다차원 배열이다.

[출처] https://tensorflow.blog/2016/06/17/tensorflow-white-paper1603-04467-summary/

 

❗ TensorFlow 설치 

1. Python 3.7 설치

파이썬이 이미 설치되어 있다면 3.5~3.7버전인지 확인하자!

 

2. TensorFlow 설치

cmd 관리자 권한으로 들어간 후 

pip install --upgrade tensorflow 를 입력해보았으나 액세스 거부 ! ㅠ

=> python -m pip install --upgrade pip 입력하여 pip 재설치 된것을 알수 있다.

=> pip install --upgrade tensorflow 입력하여 좌라라락 나오더니 설치가 success 되었다.

=> 파이썬 IDEL을 통해서 tensorflow가 정상적으로 설치 되었음을 확인했다.

 

❗ VS Code에서 간단한 프로그램 실행해보기

1. VS Code에서 아무 파일이나 만들기

 

2. hello, tensorflow 를 출력하는 코드 입력

import tensorflow as tf

hello = tf.constant("hello, tensorflow!")

sess = tf.Session()

print(sess.run(hello))

에러가 난다..

내가 배우고 있는 강좌의 tensorflow는 버전이 1.x.x 인데

내가 깐 tensorflow에 버전은 2.8.0

2.0.0 버전 이후의 tensorflow는 session 객체를 만들고 run 하는 과정이 생력되었다.

그럼 이거 어떻게 실행시키지..?

 

import tensorflow as tf

hello = tf.constant("hello, tensorflow!")

print(hello)

 

이렇게만 입력했더니  tf.Tensor(b'hello, tensorflow!', shape=(), dtype=string) 이런식으로 tensor의 정보가 나온다.

import tensorflow as tf

hello = tf.constant("hello, tensorflow!")

tf.print(hello)

와오 굳잡!

 

❗ Placeholder

import tensorflow as tf

a = tf.placeholder(tf.float32)  #값을 미리 지정하지 않는다.
b = tf.placeholder(tf.float32)

adder_node=a+b   #a와 b를 더하는 노드

tf.print(adder_node,feed_dict={a:1, b:2})

AttributeError: module 'tensorflow' has no attribute 'placeholder'

 

쩬짱! 2.0.0 이상부터는 placeholder 도 사용할수 없게 되었다..

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()


a = tf.placeholder(tf.float32)  #값을 미리 지정하지 않는다.
b = tf.placeholder(tf.float32)

adder_node=a+b   #a와 b를 더하는 노드

tf.print(adder_node,feed_dict={a:1, b:2})

=> compatibility mod 를 적용해 1.x 버전의 기능을 그대로 사용하기로 하였으나 뭐시기 뭐시기 warning 이 뜨고 결과는출력해주지 않는다.. 아마 버전 문제인거 같다 제대로 실행이 되지 않는다.. ㅠㅠ

 

그래서 텐서플로우 1.x.x 버전을가져와서 쓰는것이 아니라 2.x.x 버전에 맞게 사용하기로 하였다.

import tensorflow as tf
 
a = tf.Variable(tf.zeros(shape=([1])))
b = tf.Variable(tf.zeros(shape=([1])))
 
@tf.function
def add(a,b) :
    return a+b
out_a = add(1,2)
 
tf.print(out_a)

 

tf.zeros는 모든 원소의 값이 0인 텐서를 생성한다는 것이고

tf. function을 정의하여 실행시키도록 하였다.

a,b에 미리 지정된 값을 넣어두지 않고 연산을 사용할때 값을 넣는 것이 포인트 였기 때문에 성공 했다고 본다..

애썻다 힝 ㅠ

 

반응형

'Programming > Deep Learning' 카테고리의 다른 글

[모두를 위한 딥러닝] Linear Regression  (0) 2022.04.07
[모두를 위한 딥러닝] 머신러닝과 Supervised/Unsupervised learing  (0) 2022.04.05
  1. ❓ Tensor ?
  2. ❓ TensorFlow
  3. ❓ TensorFlow의 Data Flow Graph
  4. ❗ TensorFlow 설치 
  5. ❗ VS Code에서 간단한 프로그램 실행해보기
  6. ❗ Placeholder
'Programming/Deep Learning' 카테고리의 다른 글
  • [모두를 위한 딥러닝] Linear Regression
  • [모두를 위한 딥러닝] 머신러닝과 Supervised/Unsupervised learing
제가안난데여♪(´ε`*)
제가안난데여♪(´ε`*)
기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 제가안난데여♪(´ε`*)
    안나의 전두엽 어딘가 🧠
    제가안난데여♪(´ε`*)
    기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • 간단하게 한스푼🥄 (1)
      • Programming (56)
        • Spring (16)
        • Vue.js (6)
        • Deep Learning (3)
        • DataBase (5)
        • React (26)
      • DevOps (21)
        • Docker (12)
        • Linux (4)
      • Algorithm (46)
        • 알고리즘 정리 (5)
        • 자료구조 (0)
        • PS - 백준 (28)
        • 99클럽 코테 스터디 (13)
      • Project (0)
        • CampFire (0)
      • 안나의 취뽀일기 (˵ •̀ ᴗ - ˵ ) ✧ (4)
        • SSAFY_9기 (2)
        • SW 부트캠프 (2)
  • 잔디 달력

    ◀   May   ▶
    일 월 화 수 목 금 토
    1 1 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
  • 인기 글

  • 태그

    개발자 취업
    React
    front-end
    java 백준
    linux
    자바 스택
    99클럽
    백준
    백준 구현문제
    Spring
    til
    항해99
    자바
    java stack
    topology sort
    Vue.js
    greedy
    java
    코딩테스트 준비
    Vue.js 입문하기
    김영한
    Vue
    도커컨테이너
    springboot
    알고리즘
    도커
    stack
    리액트 상태
    백준 java
    docker
  • 05-13 10:30
    반응형
  • hELLO· Designed By정상우.v4.10.3
제가안난데여♪(´ε`*)
[모두를 위한 딥러닝] TensorFlow Basic

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.