Scikit image 属性错误:';非类型';对象没有属性';ReadAsArray';加载图像时,原因可能是什么?
我正在尝试用Python构建一个用于图像分类的卷积神经网络。 我在CoLab上运行代码,并将数据加载到googledrive上 我可以从python中看到google驱动器中的所有文件和文件夹,但当我尝试实际加载图像时,标题中会出现错误 我使用的是Scikit image 属性错误:';非类型';对象没有属性';ReadAsArray';加载图像时,原因可能是什么?,scikit-image,imread,Scikit Image,Imread,我正在尝试用Python构建一个用于图像分类的卷积神经网络。 我在CoLab上运行代码,并将数据加载到googledrive上 我可以从python中看到google驱动器中的所有文件和文件夹,但当我尝试实际加载图像时,标题中会出现错误 我使用的是skimage.io软件包,实际上我只是在运行我在kaggle上找到的一个笔记本,所以代码应该运行良好,唯一的区别是,kaggle用户可能没有在CoLab上使用GoogleDrive中的数据,所以我想这可能就是问题所在,总之,我的代码如下: 从skim
skimage.io
软件包,实际上我只是在运行我在kaggle上找到的一个笔记本,所以代码应该运行良好,唯一的区别是,kaggle用户可能没有在CoLab上使用GoogleDrive中的数据,所以我想这可能就是问题所在,总之,我的代码如下:
从skimage.io导入imread
img=imread('/content/drive/My Drive/CoLab/Data/chest_xray/train/PNEUMONIA/person53_bacteria_255.jpeg')
这给了我以下错误:
AttributeError:“非类型”对象没有属性“ReadAsArray”
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-12-4a64aebb8504> in <module>()
----> 1 img=imread('/content/drive/My Drive/CoLab/Data/chest_xray/train/PNEUMONIA/person53_bacteria_255.jpeg')
4 frames
/usr/local/lib/python3.6/dist-packages/skimage/io/_io.py in imread(fname, as_gray, plugin, flatten, **plugin_args)
59
60 with file_or_url_context(fname) as fname:
---> 61 img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
62
63 if not hasattr(img, 'ndim'):
/usr/local/lib/python3.6/dist-packages/skimage/io/manage_plugins.py in call_plugin(kind, *args, **kwargs)
208 (plugin, kind))
209
--> 210 return func(*args, **kwargs)
211
212
/usr/local/lib/python3.6/dist-packages/imageio/core/functions.py in imread(uri, format, **kwargs)
221 reader = read(uri, format, "i", **kwargs)
222 with reader:
--> 223 return reader.get_data(0)
224
225
/usr/local/lib/python3.6/dist-packages/imageio/core/format.py in get_data(self, index, **kwargs)
345 self._checkClosed()
346 self._BaseReaderWriter_last_index = index
--> 347 im, meta = self._get_data(index, **kwargs)
348 return Array(im, meta) # Array tests im and meta
349
/usr/local/lib/python3.6/dist-packages/imageio/plugins/gdal.py in _get_data(self, index)
64 if index != 0:
65 raise IndexError("Gdal file contains only one dataset")
---> 66 return self._ds.ReadAsArray(), self._get_meta_data(index)
67
68 def _get_meta_data(self, index):
AttributeError: 'NoneType' object has no attribute 'ReadAsArray'
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
---->1 img=imread('/content/drive/My drive/CoLab/Data/cost\u x光/train/PNEUMONIA/person53\u bacteria\u 255.jpeg'))
4帧
/imread中的usr/local/lib/python3.6/dist-packages/skimage/io//u io.py(fname,as\u gray,plugin,flatten,**plugin\u args)
59
60将文件或url上下文(fname)作为fname:
--->61 img=call_plugin('imread',fname,plugin=plugin,**plugin_args)
62
63如果不是hasattr(img,“ndim”):
/调用插件中的usr/local/lib/python3.6/dist-packages/skimage/io/manage_plugins.py(种类,*args,**kwargs)
208(插件类)
209
-->210返回函数(*args,**kwargs)
211
212
/imread中的usr/local/lib/python3.6/dist-packages/imageio/core/functions.py(uri,格式,**kwargs)
221 reader=read(uri,格式,“i”**kwargs)
222带读卡器:
-->223返回读取器。获取_数据(0)
224
225
/get_数据中的usr/local/lib/python3.6/dist-packages/imageio/core/format.py(self,index,**kwargs)
345自我检查关闭()
346 self.\u BaseReaderWriter\u last\u index=索引
-->347 im,meta=self.\u获取数据(索引,**kwargs)
348返回数组(im,meta)#数组测试im和meta
349
/usr/local/lib/python3.6/dist-packages/imageio/plugins/gdal.py in_get_data(self,index)
64如果索引!=0:
65 raise索引器(“Gdal文件仅包含一个数据集”)
--->66返回self.\ds.ReadAsArray(),self.\u获取元数据(索引)
67
68定义获取元数据(自身、索引):
AttributeError:“非类型”对象没有属性“ReadAsArray”
首先,而不是我的驱动器
它应该是我的驱动器
(没有空间)
如果仍然不起作用,您可以尝试以下操作:
%cd /content/drive/MyDrive/CoLab/Data/chest_xray/train/PNEUMONIA
img=imread('person53_bacteria_255.jpeg')```
首先,它应该是
MyDrive
(无空格),而不是MyDrive
如果仍然不起作用,您可以尝试以下操作:
%cd /content/drive/MyDrive/CoLab/Data/chest_xray/train/PNEUMONIA
img=imread('person53_bacteria_255.jpeg')```
您能否提供错误的完整回溯(所有行),而不仅仅是最后一行?如果很长,您可以使用gist.github.com或pastebin.com来共享ITI,非常感谢您的回复,我按照您的要求上传了完整的回溯。听起来您的路径是错误的,请验证您的图像路径是否正确。你可以使用类似于导入os和os.path.isfile('/content/drive/My drive/CoLab/Data/cost\u xray/train/PNEUMONIA/person53\u bacteria\u 255.jpeg')的东西。我意识到我可以在谷歌硬盘中查看一些文件的名称,但我无法预览它们,虽然有些文件我可以看到预览,显然我也可以加载它们。所以,即使我猜这些图像已经损坏了,尽管我甚至可以从python中看到它们列在googledrive上。所以最后我想我的路径是正确的,但是我的文件被破坏了。谢谢您的回复。您能提供错误的完整回溯(所有行),而不仅仅是最后一行吗?如果很长,您可以使用gist.github.com或pastebin.com来共享ITI,非常感谢您的回复,我按照您的要求上传了完整的回溯。听起来您的路径是错误的,请验证您的图像路径是否正确。你可以使用类似于导入os和os.path.isfile('/content/drive/My drive/CoLab/Data/cost\u xray/train/PNEUMONIA/person53\u bacteria\u 255.jpeg')的东西。我意识到我可以在谷歌硬盘中查看一些文件的名称,但我无法预览它们,虽然有些文件我可以看到预览,显然我也可以加载它们。所以,即使我猜这些图像已经损坏了,尽管我甚至可以从python中看到它们列在googledrive上。所以最后我想我的路径是正确的,但是我的文件被破坏了。先生,谢谢您的回复。