我是一名学生,正在研究使用张量流进行深度学习和分类。
我只是一个问题。如何打印要素地图图像?
我成功将张量类型数据转换为numpy.ndarray
类型数据。
喜欢-> C8:Tensor(“ C8:0”,shape =(0,7,7,0),dtype = float32)转换为ndarray。)
但是,我无法显示此功能图。
第一种方法:使用matplotlib.pyplot模块
ep, temp_array, weight_1 = sess.run([tf.argmax(result, 1), c8, wfc1], feed_dict={X: ex, istraining.name: False, keep_prob: 1.0})
print(type(temp_array), temp_array.shape, "\n", temp_array[0, :, :, 0])
img = plt.imread(temp_array[0, :, :, 0])
plt.imshow(img)
plt.show()
功能映射位于temp_array变量中。然后,它(ndarray类型)被打印成该图像。
我收到错误消息。
Traceback (most recent call last):
File "D:/3Laaaaab/DC/hand_recog_demo_1.py", line 352, in <module>
img = plt.imread(temp_array[0, :, :, 0])
File "c:\users\administrator\appdata\local\programs\python\python36\lib\site-packages\matplotlib\pyplot.py", line 2152, in imread
return matplotlib.image.imread(fname, format)
File "c:\users\administrator\appdata\local\programs\python\python36\lib\site-packages\matplotlib\image.py", line 1369, in imread
return handler(fname)
TypeError: Object does not appear to be an 8-bit string path or a Python file-like object
第二种方式:使用cv2模块
ep, temp_array, weight_1 = sess.run([tf.argmax(result, 1), c8, wfc1], feed_dict={X: ex, istraining.name: False, keep_prob: 1.0})
print(type(temp_array), temp_array.shape, "\n", temp_array[0, :, :, 0])
cv2.imshow("windows", temp_array[0, :, :, 0])
cv2.waitKey(1)
是的,此消息源运行良好,但是我有一个问题。
,即结果图像太小。所以我看不到。
我如何才能完美地看到地图?
答案 0 :(得分:0)
plt.imread()
is to read a picture file from the disk (for ex a jpg or png file)。
该错误清楚地表明是引发该错误的指令,并且该函数期望的是路径(作为字符串)或类似文件的对象,而不是您尝试执行的数组。
由于已经在内存中存储了数组,因此不需要使用该指令。好像是
ep, temp_array, weight_1 = sess.run([tf.argmax(result, 1), c8, wfc1], feed_dict={X: ex, istraining.name: False, keep_prob: 1.0})
plt.imshow(temp_array[0, :, :, 0])
plt.show()
应该足够了吗?