2017-03-15 13 views
6

मैं कैरस के लिए नौसिखिया हूं, और जब मैंने अपने लिनक्स पर अपना पहला कैमरा प्रोग्राम चलाने की कोशिश की, तो मेरी इच्छा के अनुसार कुछ नहीं हुआ।क्यों plt.imshow() छवि प्रदर्शित नहीं करता है?

import numpy as np 
np.random.seed(123) 
from keras.models import Sequential 
from keras.layers import Dense, Dropout, Activation, Flatten 
from keras.layers import Convolution2D, MaxPooling2D 
from keras.utils import np_utils 
from keras.datasets import mnist 
(X_train,y_train),(X_test,y_test) = mnist.load_data() 
print X_train.shape 
from matplotlib import pyplot as plt 
plt.imshow(X_train[0]) 

अंतिम वाक्य कुछ भी प्रदर्शित नहीं करता है: यहाँ मेरी अजगर कोड है। मैंने उन कोडों को किसी भी संशोधन के साथ ट्यूटोरियल से कॉपी किया। और मेरे कंप्यूटर पर matplotlib के बैकएंड के साथ कुछ भी गलत नहीं है। मैंने नीचे दिए गए कोड के माध्यम से परीक्षण किया है।

import matplotlib.pyplot as plt 

data = [[0, 0.25], [0.5, 0.75]] 

fig, ax = plt.subplots() 
im = ax.imshow(data, cmap=plt.get_cmap('hot'), interpolation='nearest', 
       vmin=0, vmax=1) 
fig.colorbar(im) 
plt.show() 

और फिर मैं उस तरह एक छवि है: इसके अलावा enter image description here


, मैं प्राप्त कर सकते हैं X_train [0] मुद्रित और यह कुछ भी गलत नहीं लगता है।
तो इसका कारण क्या हो सकता है? क्यों मेरे पहले कोड में imshow() फ़ंक्शन कुछ प्रदर्शित नहीं किया?

+5

अपने कोड स्निपेट के अंत में 'plt.show()' जोड़ने का प्रयास करें। –

+0

@ MarcinMożejko ओह बहुत बहुत धन्यवाद! यह काम करता हैं! –

+0

ठीक है - इसलिए मैंने जवाब पोस्ट किया। –

उत्तर

11

समाधान कोड स्निपेट के अंत में plt.show() जोड़ने के रूप में सरल था:

import numpy as np 
np.random.seed(123) 
from keras.models import Sequential 
from keras.layers import Dense, Dropout, Activation, Flatten 
from keras.layers import Convolution2D, MaxPooling2D 
from keras.utils import np_utils 
from keras.datasets import mnist 
(X_train,y_train),(X_test,y_test) = mnist.load_data() 
print X_train.shape 
from matplotlib import pyplot as plt 
plt.imshow(X_train[0]) 
plt.show() 
1

आपको लगता है कि plt.imshow सिर्फ plt.show की तरह आप के लिए एक छवि प्रिंट होगा? असल में नहीं, plt.imshow कोई चित्र नहीं दिखाता है, यह सिर्फ प्रिंटिंग के बजाय चित्र खींचने की सराहना करता है। इसलिए यदि आप उन्हें प्रिंट करना चाहते हैं, तो आपको यह तस्वीर दिखाने के लिए इसे जोड़ने की आवश्यकता है: plt.show

संबंधित मुद्दे