콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

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

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

이 글 공유하기:

  • Tweet
발행일 2016-10-17글쓴이 이대원
카테고리 tensorflow 태그 python, tensorflow

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

정해진 미래, 조영태

다음 글

ddclinet+cloudflare+freenom 조합으로 서버 운영하기

2025 6월
일 월 화 수 목 금 토
1234567
891011121314
15161718192021
22232425262728
2930  
5월    

최신 글

  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01
  • positioner(I/P) 2025-04-26

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.