4Manuals

  • PDF Cloud HOME

TypeError:无法处理此数据类型 Download

    如何将文本边界框与pyplot.Rectangle对齐? 导入类问题 在Python数据框中选择列时出错 使用Rabbit的pika确认消息 如何在按住键的同时暂停VideoStream? Python OpenCV 使用buildozer不会下载sdl2_image SMTPSenderRefused,421,超出超时 Tensorflow多线程推理比单线程推理慢 关于python中变量的困惑。 python如何使用变量? 当使用pyodbc时,SQL Server DateTimeOffset将可识别tz的日期时间的偏移更改为系统偏移

尝试将显着性图放置到图像上并创建新的数据集

trainloader = utilsxai.load_data_cifar10(batch_size=1,test=False)
testloader =  utilsxai.load_data_cifar10(batch_size=128, test=True)

这个load_cifar10是Torchvision

data = trainloader.dataset.data 

trainloader.dataset.data = (data * sal_maps_hf).reshape(data.shape)
  

具有(50000,32,32,3)的sal_maps_hf形状
和Trainloader形状   与(50000,32,32,3)

但是当我运行

for idx,img in enumerate(trainloader):
  

-------------------------------------------------- ---------------------------- KeyError Traceback(最近的呼叫   最后)〜/ venv / lib / python3.7 / site-packages / PIL / Image.py   fromarray(obj,mode)2644 typekey =(1,1)+ shape [2:],   arr [“ typestr”]   -> 2645模式,rawMode = _fromarray_typemap [typekey] 2646,但KeyError:

     

KeyError:((1,1,3),'      

在处理上述异常期间,发生了另一个异常:

     

TypeError跟踪(最近的呼叫   最后)   ----> 1个show_images(trainloader)

     在show_images(trainloader)中

        1 def show_images(trainloader):   ----> 2代表idx,枚举(trainloader)中的(img,target):         3 img = img.squeeze()         4 #pritn(img)         5 img = torch.tensor(img)

     

〜/ venv / lib / python3.7 / site-packages / torch / utils / data / dataloader.py在   下一个(个体经营)       344 def 下一个(个体):       345 index = self._next_index()#可能会引发StopIteration   -> 346数据= self._dataset_fetcher.fetch(index)#可能会引发StopIteration       第347章       348数据= _utils.pin_memory.pin_memory(数据)

     

〜/ venv / lib / python3.7 / site-packages / torch / utils / data / _utils / fetch.py​​在   提取(自己,可能是_batched_index)        42 def提取(自己,可能是_batched_index):        43如果self.auto_collat​​ion:   ---> 44数据= [self.dataset [idx] for ids in exist_batched_index]        其他45条:        46数据= self.dataset [possible_batched_index]

     

〜/ venv / lib / python3.7 / site-packages / torch / utils / data / _utils / fetch.py​​在   (.0)        42 def提取(自己,可能是_batched_index):        43如果self.auto_collat​​ion:   ---> 44数据= [self.dataset [idx] for ids in exist_batched_index]        其他45条:        46数据= self.dataset [possible_batched_index]

     

〜/ venv / lib / python3.7 / site-packages / torchvision / datasets / cifar.py在    getitem (自我,索引)       120#这样做,以便与所有其他数据集一致       121#返回PIL图像   -> 122 img = Image.fromarray(img)       123       124如果self.transform不是None:

     

〜/ venv / lib / python3.7 / site-packages / PIL / Image.py在fromarray(obj,   模式)2645模式,rawmode = _fromarray_typemap [typekey]   2646除了KeyError:   -> 2647引发TypeError(“无法处理此数据类型”)2648否则:2649 rawmode = mode

     

TypeError:无法处理此数据类型

trainloader.dataset.__getitem__
  数据集CIFAR10的

getitem       数据点数:50000       根目录位置:/ mnt / 3CE35B99003D727B / input / pytorch / data       拆分:火车       StandardTransform转换:Compose(                  调整大小(大小= 32,插值= PIL.Image.BILINEAR)                  ToTensor()              )

1 个答案:

答案 0 :(得分:2)

您的sal_maps_hf不是np.uint8。

根据问题和评论中的部分信息,我想您的掩码是dtype np.float(或类似的掩码),然后乘以data * sal_maps_hf,您的数据将被转换为dtype以外的np.uint8导致PIL.Image引发异常。

尝试:

trainloader.dataset.data = (data * sal_maps_hf).reshape(data.shape).astype(np.uint8)



Similar searches
    重复执行Snakemake规则,直到满足某些条件 尝试通过simulate.mppm模拟点图案会导致错误 使用Getter Setter JAVA访问其他类的变量 getOrCreate()抛出异常:Java网关进程在发送其端口号之前已退出 Samsung SR-3233 Refrigerator User Manual