Я считаю, что это простой вопрос. При использовании API Watson через Python у меня нет проблем с его запуском, чтобы обнаружить URL-адрес изображения. Тем не менее, у меня есть проблемы с этим для локальных файлов изображений.Визуальное распознавание локального файла с помощью Watson
Мой код:
from watson_developer_cloud import VisualRecognitionV3 as vr
instance = vr('2016-05-20', api_key='Your-Api-key')
img2 = instance.classify(images_file='a.jpg')
print(img2)
Выход ошибки:
AttributeError: 'str' object has no attribute 'name'
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-173-79c8a4eee873> in <module>()
----> 1 img2 = instance.classify(images_file='a.jpg') C:\Program Files\Anaconda3\lib\site-packages\watson_developer_cloud\visual_recognition_v3.py in classify(self, images_file, images_url, classifier_ids, owners, threshold)
154 'owners': owners, 'threshold': threshold}
155 return self._image_call('/v3/classify', images_file, images_url,
--> 156 params)
157
158 def detect_faces(self, images_file=None, images_url=None): C:\Program Files\Anaconda3\lib\site-packages\watson_developer_cloud\visual_recognition_v3.py in _image_call(self, url, images_file, images_url, params)
124 accept_json=True)
125 else:
--> 126 filename = images_file.name
127 mime_type = mimetypes.guess_type(
128 filename)[0] or 'application/octet-stream'
AttributeError: 'str' object has no attribute 'name'
Я использую родео IDE. Я попытался сменить рабочий каталог на папку с изображениями или ввести C:/...
и т. Д., Но ни одна из них не работает.
Я верю, что это способ передать аргумент, может ли кто-нибудь меня вести?
По существу, что делает
AttributeError: 'str' object has no attribute 'name'
Mean?
спасибо за быстрый ответ. На данный момент я не очень разбираюсь в python. Однако я получаю эту ошибку: UnicodeDecodeError: кодек «charmap» не может декодировать байт 0x81 в позиции 240: символьные карты до –
Germ
Я отредактировал свой ответ, чтобы отразить тот факт, что вам может потребоваться прочитать файл как двоичный. Обратите внимание, что опция «rb» (чтение двоичного) добавлена в открытую функцию. – putonspectacles
Большое вам спасибо, я запустил python с фоном R. Поэтому мне кажется, что мне кажется. Таким образом, для любого аргумента, требующего передачи файла, я должен сделать открытый вариант? И откуда вы поняли, что это должно быть «rb»? Я считаю, что для меня было бы полезно изучить процесс мышления :) – Germ