2016. 9. 24. 15:00

파이참(PyCharm)을 이용하려는 것은 텐서플로가 파이썬으로 쓸 수 있기 때문이기도 하고 제가 공부하고 있는 '김성훈'님의 강의가 파이참으로 진행되기 때문입니다.

(참고 : 김성훈님 - '모두를 위한 머신러닝/딥러닝 강의' )

 

1. 파이참 설치하기

다음 주소로 들어가서 커뮤니티(Community) 버전을 다운 받습니다.

우리는 우분투에서 설치하고 있으므로 리눅스 버전을 받으시면 됩니다.

참고 : PyCharm - Download PyCharm

 

 

 

윈도우에서 압축을 풀어서 우분투로 옮겨서 설치하는 방법도 있습니다 ㅎㅎㅎ

 

터미널을 열고 'sudo su'를 입력하고 비밀번호를 입력하여 슈퍼유저를 활성화 합니다.

 

 

 

압축을 푼 폴더에 'bin'폴더로 들어가서 'pycharm.sh'파일을 찾습니다.

이 파일을 터미널로 드래그해서 설치합니다.

( 그냥 'bash'명령을 써서 설치해도 됩니다. )

 

 

 

동의하고 설치를 진행합니다.

설치가 끝나면 다음과 같은 설정 화면을 볼 수 있습니다.

 

자신에게 맞게 설정하고 'OK'를 누릅니다.

 

 

 

2. 파이참 설정하기

이제 파이참을 실행하고 'Configure'로 들어갑니다.

 

 

 

'Project Interpreter' 항목을 클릭하고 'Project Interpreter'의 드롭다운 버튼을 눌러 봅니다.

/user/bin/python2.7

이 항목을 선택해 줍니다.

 

항목에 'tensorflow'가 있는지 확인합시다.

 

 

 

이제 'OK'를 누르고 나가면 업데이트가 시작됩니다.

 

 

 

업데이트가 끝나면 파이참 첫 화면이 표시됩니다.

 

 

아나콘다를 연결하려면?

아나콘다를 연결하고 싶다면  '~/anaconda2/bin/python'을 선택하면 됩니다.

아나콘다가 없다면  'Show All'을 눌러 봅니다.

 

 

 

여기서 아나콘다가 있다면 선택하고 'OK'를 눌러 주시면 됩니다.

아나콘다가 없다면 오른쪽의 '+' 아이콘을 눌러 'Add Local'을 선택하신 후 직접 아나콘다가 설치된 경로를 지정해 주셔야 합니다.

 

아나콘다를 선택하면 다음과 같이 아나콘다에 들어있는 패키지를 확인할 수 있습니다.

 

 

 

아나콘다 패키지에 텐서플로가 있는지 확인합시다.

없다면 전에 쓴 '[Tensorflow] 아나콘다(Anaconda) 설치하고 텐서플로(Tensorflow) 설치하기'의 4번을 시도해 보시길 바랍니다.

참고 : [Tensorflow] 아나콘다(Anaconda) 설치하고 텐서플로(Tensorflow) 설치하기

 

3. 테스트

테스트 프로젝트를 생성하고 테스트 코드를 실행해 봅시다.

 

'Create New Project'를 선택하고 프로젝트를 생성합니다.

 

 

 

프로젝트에서 오른쪽 클릭을 하고

New > Python File

을 선택하여 파이썬 파일을 생성합니다.

 

 

 

생성된 파이썬 파일에 다음 코드를 넣어 봅시다.

참고 : 전승현님이 만들어주신 코드 - Study_TensorFlow/01 - LinearRegression

 

1
2
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
32
33
34
import tensorflow as tf
 
x_data = [1.2.3.]
y_data = [1.2.3.]
 
# try to find values for w and b that compute y_data = W * x_data + b
= tf.Variable(tf.random_uniform([1], -1.01.0))
= tf.Variable(tf.random_uniform([1], -1.01.0))
 
# my hypothesis
hypothesis = w * x_data + b
 
# Simplified cost function
cost = tf.reduce_mean(tf.square(hypothesis - y_data))
 
# minimize
= tf.Variable(0.1)  # learning rate, alpha
optimizer = tf.train.GradientDescentOptimizer(a)
train = optimizer.minimize(cost)
 
# before starting, initialize the variables
init = tf.initialize_all_variables()
 
# launch
sess = tf.Session()
sess.run(init)
 
# fit the line
for step in xrange(2001):
    sess.run(train)
    if step % 20 == 0:
        print step, sess.run(cost), sess.run(w), sess.run(b)
 
# learns best fit is w: [1] b: [0]
cs

 

 

이제

Run > Run

을 선택하여 코드를 실행해 봅시다.

 

 

 

결과가 잘 나왔습니다!

 

만약 아나콘다로 설정했다면 '예람'님께서 올려주신 소스를 돌려 봅니다.

참고 : 예람 - 텐서플로우(TensorFlow)를 파이참(Pycharm)에서 돌려보자 !! (ver. 1.1)

 

1
2
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
32
33
34
35
36
37
38
39
40
41
42
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
 
num_points = 1000
vectors_set = []
for i in xrange(num_points):
         x1= np.random.normal(0.00.55)
         y1= x1 * 0.1 + 0.3 + np.random.normal(0.00.03)
         vectors_set.append([x1, y1])
 
x_data = [v[0for v in vectors_set]
y_data = [v[1for v in vectors_set]
 
 
''' ------------------------ Computational Graph Designing -------------------------------------'''
= tf.Variable(tf.random_uniform([1], -1.01.0))
= tf.Variable(tf.zeros([1]))
= W * x_data + b
loss = tf.reduce_mean(tf.square(y - y_data))
 
# Optimization Operation Definition
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()
''' ------------------------ TensorFlow Graph Designing is Done --------------------------------'''
 
# We instantiate a vehicle
sess = tf.Session()
sess.run(init)
 
for step in xrange(8):
    sess.run(train)
    print step, sess.run(W), sess.run(b), sess.run(loss)
 
# Show the linear regression result
plt.figure(1)
plt.title('Linear Regression'); plt.xlabel('x'); plt.ylabel('y')
plt.plot(x_data, y_data, 'ro')
plt.plot(x_data, sess.run(W) * x_data + sess.run(b))
#plt.legend(loc= 'upperleft')
plt.show()
cs

 

 

다음과 같이 그래프가 표시됩니다.

 

 

 

마무리

원래 아나콘다에 텐서플로를 직접 추가해서 사용해야 하는데.....안되거나 번거롭다면 그냥 콘다 패키지로 설치해도 됩니다.

대신 콘다 패키지의 텐서플로는 CPU전용입니다.

이 포스팅은 CPU전용만 가정하므로 문제 되지 않습니다.

나중에 기회 되면 GPU도 추가하거나 별도 포스팅을 하겠습니다.