본문 바로가기
데이터분석/인공지능

텐서플로 세션 실행하는 방법 4가지

by code cleaner 2018. 12. 28.
반응형

텐서플로는 계산 그래프를 만들고 실행하는 구조이다.

따라서 2개의 단계로 구성되어 있다고 볼 수 있다.


1단계: 그래프 구성하기

1) 변수 설정

2) 모델 구성

2단계: 그래프 실행하기

1) 변수 초기화

2) 그래프 세션 열기

3) 그래프 실행하기 (모델을 가장 잘 설명해주는 가중치(w)와 평향값(bias)을 찾아감)

4) 그래프 세션 닫기



# -*- coding:utf-8 -*-

'''

Created on 2018. 12. 27.


@author: code cleaner

'''

import tensorflow as tf


# 1단계: 그래프 구성하기

x = tf.Variable(3, name="X") #변수 설정

y = tf.Variable(4, name="y") #변수 설정

f = x**2*y + y + 2 # 모델 구성


# 2단계: 그래프 실행하기

# Step 1 : 직접 Session 객체를 만들고 변수초기화 및 평가 후 Session을 닫음

sess = tf.Session()

sess.run(x.initializer)

sess.run(y.initializer)

rs = sess.run(f)

sess.close()

print(rs)


# Step 2 : with문에서 Session 객체를 선언하고, 각 변수를 포기화하며 run()갹채 호출, 자동으로 Session이 종료됨 

with tf.Session() as sess:

    x.initializer.run()

    y.initializer.run()

    rs = f.eval()

    

    print(rs)


# Step 3 : 전역변수를 초기하는 객체를 생성하고 with문에서 Session 객체를 선언하고, 전역변수 초기화, 자동으로 Session이 종료됨    

init1 = tf.global_variables_initializer()

with tf.Session() as sess:

    init1.run()

    rs = f.eval()

    print(rs)

    

# Step 4 : 전역변수 초기화는 객체 생성하고, 자동으로 자신을 기본 세션으로 지정, 초기화 실행, f평가, Session 닫기

init2 = tf.global_variables_initializer()

sess2 = tf.InteractiveSession()

init2.run()

rs = f.eval()

print(rs)

sess2.close()



반응형