[카테고리:] tensorflow

tensorflow 테스트

  • matplotlib를 터미널 환경에서 사용하기

    집에 있는 서버에 tensorflow가 설치되어 있는데, ssh로 접속하여 실행한다. 결과물이 텍스트같이 터미널로 표시되면 볼수 있는데 그림으로 표시되면 터미널에 표시가 안된다.

    Traceback (most recent call last):
      File "imagetran.py", line 13, in <module>
        plt.imshow(image)
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/pyplot.py", line 3010, in imshow
        ax = gca()
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/pyplot.py", line 928, in gca
        return gcf().gca(**kwargs)
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/pyplot.py", line 578, in gcf
        return figure()
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/pyplot.py", line 527, in figure
        **kwargs)
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 46, in new_figure_manager
        return new_figure_manager_given_figure(num, thisFig)
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 53, in new_figure_manager_given_figure
        canvas = FigureCanvasQTAgg(figure)
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 76, in __init__
        FigureCanvasQT.__init__(self, figure)
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py", line 68, in __init__
        _create_qApp()
      File "/home/now0930/anaconda2/envs/tensorflow/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 138, in _create_qApp
        raise RuntimeError('Invalid DISPLAY variable')
    RuntimeError: Invalid DISPLAY variable
    

    마지막에 Invalid DISPLAY variable이라고 뜨고 죽는데 아래와 같이 변경하면 된다.

    import matplotlib
    matplotlib.use('Agg')
    
    import tensorflow as tf
    import matplotlib.image as mpimg
    import matplotlib.pyplot as plt
    
    # First, load the image
    filename = "./MarshOrchid.jpg"
    image = mpimg.imread(filename)
    
    # Print out its shape
    #print(image.shape)
    
    
    plt.imshow(image)
    plt.savefig('test.jpg')
    
    
    # Create a TensorFlow Variable
    x = tf.Variable(image, name='x')
    model = tf.initialize_all_variables()
    with tf.Session() as session:
    	x = tf.transpose(x, perm=[1, 0, 2])
    	session.run(model)
    	result = session.run(x)
    print(result.shape)
    mpimg.imsave('test.jpg',image)
    mpimg.imsave('test.jpg',result)
    

    디스플레이가 있는 PC에서 다운로드해 보면 된다..이게 웹으로 보내면 좋은데, 아직 그런게는 없나보다. stack overflow의 여기에서 답을 얻었다.

    질문은..
    Generating a PNG with matplotlib when DISPLAY is undefined

    시스템에 따라 설정파일을 바꾸면 귀찮게 안써도 되는데, 나의 경우 어디에 설정파일이 있는지 몰라 그냥 써야겠다.

  • tensorflow 머신러닝

    테스트용으로 tensorflow를 집 서버에 설치..

    pip로 설치하는 방법도 있는데, 여기에서는 아나콘다를 사용해서 설치하는 방법을 추천..
    1. anaconda 설치
    2. conda 가상환경 activate
    3. tensorflow 설치 및 실행..

    서버에 그래픽 카드가 없어 display로 이미지를 못읽음..
    파일로 저장해서 client로 이미지를 읽음..

    stack over flow에서 참조..

    import matplotlib.image as mpimg
    
    img = mpimg.imread("src.png")
    mpimg.imsave("out.png", img)

    여기위는 무시하고 tensorflow에서 제공하는 tutorial을 먼저 봄..

    머신러닝 관련해서는 여기를 참조..
    https://www.coursera.org/의 andrew ng의 강의..

    github의 tensorflow example
    개요 책은 Machine-Learning-Tom-M-Mitchell에서..

    tensorflow의 기본 튜토리얼은 https://www.tensorflow.org의 MNIST For ML Beginners를 참조..

    머신러닝 관련사이트들..
    http://t-robotics.blogspot.kr/search/label/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%20%EC%9D%B4%EC%95%BC%EA%B8%B0