pyplot 에서 subplot 사용시에 오류 메시지 : ValueError: Illegal argument(s) to subplot: (2, 10)
조회수 2225회
텐서플로우 골빈 해커의 책을 보고 연습 중인 한 초보자입니다. pyplot 의 subplot 을 사용하는데 저는 분명 책의 코드랑 똑같이 작성했는데 오류메시지를 뿜어내내요 ㅜㅜ 어떻게 해결해야하는지 도와주세요.
Traceback (most recent call last):
File "C:/Users/yym30/PycharmProjects/tensorflow/mnist/networks/autoencoder.py", line 69, in <module>
fig, ax = plt.subplot(2, sample_size, figsize = (sample_size, 2))
File "C:\Users\yym30\Anaconda3\envs\dl\lib\site-packages\matplotlib\pyplot.py", line 1072, in subplot
a = fig.add_subplot(*args, **kwargs)
File "C:\Users\yym30\Anaconda3\envs\dl\lib\site-packages\matplotlib\figure.py", line 1239, in add_subplot
a = subplot_class_factory(projection_class)(self, *args, **kwargs)
File "C:\Users\yym30\Anaconda3\envs\dl\lib\site-packages\matplotlib\axes\_subplots.py", line 72, in __init__
raise ValueError('Illegal argument(s) to subplot: %s' % (args,))
ValueError: Illegal argument(s) to subplot: (2, 10)
Process finished with exit code 1
이것이 오류 메시지입니다.
그리고 이것은 해당 subplot 을 불러오는 코드입니다.
sample_size = 10
samples = sess.run(decoder, feed_dict={X:mnist.test.images[:sample_size]})
fig, ax = plt.subplot(2, sample_size, figsize = (sample_size, 2))
for i in range(sample_size):
ax[0][i].set_axis_off()
ax[1][i].set_axis_off()
ax[0][i].imshow(np.reshape(mnist.test.images[i], (28,28)))
ax[1][i].imshow(np.reshape(samples[i], (28, 28)))
plt.show()
도와주세요 ㅜㅜ
1 답변
-
plt.subplot(2, sample_size, figsize = (sample_size, 2))
가 아니라plt.subplots(2, sample_size, figsize = (sample_size, 2))
로 써야합니다. (s 가 빠져있었음)
또, 골빈해커 - 텐서플로 책에 수록된 코드는 golbin / TensorFlow-Tutorials에 전부 나와있는 것 같아요.
이쪽을 참고해보시는게 좋을 듯욤!
댓글 입력