Загрузка изображения в Jupyter Notebook с помощью ipywidgets.FileUpload () - PullRequest
1 голос
/ 21 июня 2020

Я изо всех сил пытался загрузить изображения в свой блокнот Jupyter с помощью ipywidgets.FileUpload (), он нормально работает с текстовыми файлами, но с двоичными файлами содержимое всегда повреждено. В частности, изображения всегда хранятся как «данные», поэтому keras.preprocessing.image.load_img () не может их использовать. Я использую следующий код:

import ipywidgets as widgets

uploader = widgets.FileUpload()
uploader

for name, file_info in uploader.value.items():
    with open(name, 'wb') as fp:
        fp.write(file_info['content'])

Я пробовал несколько решений, но ничего не работает с двоичными файлами , любые подсказки или подсказки принимаются. Моя среда - это ноутбуки GCP AI Platform (JupyterLabs 1.2.16, ipywidgets 7.5.1), и я использовал следующие ссылки:

1 Ответ

0 голосов
/ 21 июня 2020

Вы можете читать изображение в байтах с помощью PIL или любой другой библиотеки с io.BytesIO. Затем передайте изображение Керасу. например,

import io
from PIL import Image

for name, file_info in uploader.value.items():
    img = Image.open(io.BytesIO(file_info['content']))
print(img)

<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=430x128 at 0x7FBC8AAD9310>
...