파이참(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도 추가하거나 별도 포스팅을 하겠습니다.

  1. 홍지수 2016.09.29 15:43 신고  Address  Edit/Delete  Reply

    안녕하세요, 아나콘다 상에서 텐서플로우를 사용하기 위해 설치과정을 거치고 있는 대학원생입니다.

    제가 이해한 것이 맞는건지 틀린건지 확신이 가질 않아 질문을 드립니다.

    1. 먼저 아래 개념이 맞는지 궁금합니다.
    아나콘다 : 일종의 가상머신
    콘다 : 가상머신 내에 만들어진 가상 공간

    2. tensorflow 라는 콘다 공간을 만들고 그 내부에서 tensorflow 를 설치하였습니다.
    그리고 conda list 로 확인해보니 라이브러리가 9개정도만 존재하는데 왜 그런 현상이 생기는지 알고 싶습니다.
    (source deactivate 를 통해 root 로 복귀한 후 conda list 를 입력했을 시 엄청난 수의 아나콘다 라이브러리가 나옴)

    3. 위 현상으로 인해, 'tensorflow'라는 이름의 콘다 내부에 tensorflow를 설치하였는데,
    source activate tensorflow 를 통해 해당 콘다를 활성화 할 경우 matplotlib 이 import 되지 않습니다.

    4. 이를 해결하는 방법이 있는지, 굳이 conda 를 추가적으로 생성하지 않을 경우 전혀 문제가 발생하지 않는데 이렇게 진행할
    경우 특별한 문제가 발생할 수 있는지가 궁금합니다.

    • Favicon of http://blog.danggun.net BlogIcon 당근천국 2016.09.29 16:28 신고  Address  Edit/Delete

      이 댓글의 모든 답변이 바로 전글에 있습니다.
      http://blog.danggun.net/4069

      아나콘다는 각종라이브러리를 세팅하기 쉽도록 정리해논 파이썬 배포판입니다.

      콘다 공간은 A프로젝트와 B프로젝트의 라이브러리 설정이 충돌나지 않도록 각각의 공간을 분리해서 사용할 수 있도록 해줍니다.

      아나콘다가 가지고 있는 라이브러리를 콘다공간에서 사용하려면 콘다공간으로 들어가서 사용하려는 라이브러리를 별도로 인스톨해야 합니다.

      이전글 참고하시면 설명한 내용이 다 들어 있습니다.

    • 홍지수 2016.09.30 14:03 신고  Address  Edit/Delete

      글을 천천히 정독하며 다시 개념을 잡았습니다.

      가상 공간이라기보다는 독립된 라이브러리를 사용하는 파이썬이었네요.

      아나콘다 자체적으로 각종 수학/과학 라이브러리를 포함하고 있고 이 라이브러리는 기존 피씨에 있던 파이썬 라이브러리와 겹치지 않으며, 추가적인 독립 환경이 필요할 시 콘다 공간을 새로 생성하여 라이브러리를 다시 넣어주면 된다.. 라는 개념이 맞나요?

      아나콘다/콘다가 부모(전역)/자식(로컬) 관계를 가지는 공간인 줄 알고 아나콘다의 라이브러리를 콘다에서 사용할 수 있을 것이라고 잘못 생각했었습니다.

      답변 달아주셔서 감사합니다.

      당근님의 블로그가 많은 도움이 되었습니다. 추후에 궁금한 점이 생길 시 블로그 내용을 참고하러 오겠습니다. 감사합니다.

    • Favicon of http://blog.danggun.net BlogIcon 당근천국 2016.09.30 15:45 신고  Address  Edit/Delete

      잘 이해 하신거 맞습니다.
      프로젝트를 진행하다보면 같은 라이브러리를 설정을 다르게 해서 참조하거나 같은 라이브러리인데 다른 버전을 사용해야 하는 경우가 많은데 이럴때 관리하쉽도록 각자의 공간을 가지도록 콘다공간을 만들어서 세팅하는 것입니다.

  2. tensor 2017.05.24 23:38 신고  Address  Edit/Delete  Reply

    글 잘 읽었습니다.
    저같은 경우에는 기존 파이썬을 atom으로 사용해서 파이참 말고 atom에 작성을 했습니다.
    그런데 cmd에서는 헬로 텐서플로가 프린트 되는데 아톰에서는 아톰에서는 안되서요.
    왜 이런 현상이 나타나는지 아시나요?
    코드 실행 결과 첨부합니다.

    Traceback (most recent call last):
    File "F:\Python\hellotf.py", line 1, in <module>
    import tensorflow as tf
    ModuleNotFoundError: No module named 'tensorflow'
    [Finished in 0.098s]

댓글 작성

이름
패스워드
홈페이지
비밀글

티스토리 툴바