У меня есть код для прогнозирования породы собаки после тренировки на модели CNN, я получаю индекс класса из функции ниже. Я хочу отобразить случайное изображение из папки класса idx
, полученной из функции.
Когда я пытался отобразить случайное изображение, я получаю сообщение об ошибке ниже:
TypeError Traceback (последний вызов последнего) в 1 для img_file в os.listdir ('./ images'): 2 image = os.path.join ('./ images', img_file) ----> 3 dog_or_human (изображение)
в dog_or_human (img) 5 plt.show () 6 if dog_detector (img) == Истинно: ----> 7 Предсказание_дога = предсказание_погода (img, net, имя_класса) 8 print ("Собака обнаружена! Порода является {} ". format (Предсказатель_дога)) 9 elif face_detector (img)> 0:
в предикате_прогнозируемой породы (img, модель, имя_класса) 18 a = random.choice (os.listdir ("./ dogImages / train / {} /". Формат (имя_класса [idx]))) 19 print (a) - -> 20 imshow (a) 21 #subdir = '' .join (["/ dogImages / train /", имя_класса [idx]]) 22 #print (file)
~ / Library / Python / 3.7 / lib / python / site-packages / matplotlib / pyplot.py в imshow (X, cmap, норма, аспект, интерполяция, альфа, vmin, vmax, происхождение, экстент, форма, фильтронорм , filterrad, imlim, resample, url, data, ** kwargs) 2697 filternorm = filternorm, filterrad = filterrad, imlim = imlim, 2698 resample = resample, url = url, ** ({"data": data}, если данные нет -> 2699 Никто другой {}), ** kwargs) 2700 sci (__ ret) 2701 return __ret
~ / Library / Python / 3.7 / lib / python / site-packages / matplotlib / init.py во внутреннем (ax, data, * args, ** kwargs) 1808 "Список Matplotlib!)"% (Label_namer, func.name), 1809 RuntimeWarning, stacklevel = 2) -> 1810 return func (ax, * args, ** kwargs) 1811 1812 inner.doc = _add_data_doc (inner.doc,
~ / Library / Python / 3.7 / lib / python / site-packages / matplotlib / axes / _axes.py в imshow (self, X, cmap, норма, аспект, интерполяция, альфа, vmin, vmax, происхождение, экстент , shape, filternorm, filterrad, imlim, resample, url, ** kwargs) 5492 resample = resample, ** kwargs) 5493 -> 5494 im.set_data (X) 5495 im.set_alpha (alpha) 5496, если im.get_clip_path () Нет:
~ / Library / Python / 3.7 / lib / python / site-packages / matplotlib / image.py в set_data (self, A) 632, если (self._A.dtype! = Np.uint8 и 633 не np.can_cast (self._A.dtype, float, "same_kind")): -> 634 повысить TypeError («Данные изображения не могут быть преобразованы в плавающее») 635 636, если нет (self._A.ndim == 2
TypeError: данные изображения не могут быть преобразованы в плавающее