Jupyter notebook 使用ipywidgets.FileUpload()在Jupyter笔记本中上载图像

Jupyter notebook 使用ipywidgets.FileUpload()在Jupyter笔记本中上载图像,jupyter-notebook,ipywidgets,gcp-ai-platform-notebook,Jupyter Notebook,Ipywidgets,Gcp Ai Platform Notebook,我一直在努力使用ipywidgets.FileUpload()将图像上传到我的Jupyter笔记本中,它可以处理文本文件,但对于二进制文件,内容总是被破坏。特别是对于图像,它们总是存储为“数据”,因此keras.preprocessing.image.load\u img()无法使用它们。我使用的代码是: import ipywidgets as widgets uploader = widgets.FileUpload() uploader for name, file_info in u

我一直在努力使用ipywidgets.FileUpload()将图像上传到我的Jupyter笔记本中,它可以处理文本文件,但对于二进制文件,内容总是被破坏。特别是对于图像,它们总是存储为“数据”,因此keras.preprocessing.image.load\u 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平台笔记本电脑(JupyterLabs 1.2.16,ipywidgets 7.5.1),我使用的参考资料包括:


您可以使用PIL或任何其他带有
io.BytesIO的库来读取以字节为单位的图像数据。然后,将图像传递给Keras。e、 g

导入io
从PIL导入图像
uploader.value.items()中的文件\u info作为名称:
img=Image.open(io.BytesIO(文件信息['content']))
打印(img)
输出:



它不起作用,同样的问题,Image.open()无法识别格式。我认为问题出在ipywidgets.FileUpload()函数中。错误消息:`->13 img=Image.open(io.BytesIO(file_info['content'])无法识别图像错误:无法识别图像文件`奇怪,它在我的系统和colab上工作正常,您可以尝试