PIL报错:TypeError: Cannot handle this data type: (1, 1, 3), <f4

在这里插入图片描述问题:

mi_fgsm.py:101: DeprecationWarning: Starting with ImageIO v3 the behavior of this function will switch to that of iio.v3.imread. To keep the current behavior (and make this warning disappear) use `import imageio.v2 as imageio` or call `imageio.v2.imread` directly.
  image = imread(f, pilmode='RGB').astype(np.float) / 255.0
start the i=1 attack
Traceback (most recent call last):
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/PIL/Image.py", line 3089, in fromarray
    mode, rawmode = _fromarray_typemap[typekey]
KeyError: ((1, 1, 3), '<f4')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "mi_fgsm.py", line 275, in <module>
    tf.app.run()
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/absl/app.py", line 308, in run
    _run_main(main, args)
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/absl/app.py", line 254, in _run_main
    sys.exit(main(argv))
  File "mi_fgsm.py", line 260, in main
    save_images(adv_images, filenames, FLAGS.output_dir)
  File "mi_fgsm.py", line 129, in save_images
    imsave(f, (images[i, :, :, :] + 1.0) * 0.5, format='png')
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/imageio/v2.py", line 397, in imwrite
    return file.write(im, **kwargs)
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/imageio/plugins/pillow.py", line 416, in write
    pil_frame = Image.fromarray(frame, mode=mode)
  File "/root/miniconda3/envs/my-env/lib/python3.7/site-packages/PIL/Image.py", line 3092, in fromarray
    raise TypeError(msg) from e
TypeError: Cannot handle this data type: (1, 1, 3), <f4

分析:报错中显示imsave(f, (images[i, :, :, :] + 1.0) * 0.5, format='png')有问题,根据imsave()定位到from imageio import imread, imsave,猜测是imageio包的问题,将原本2.31.1版本的imageio卸载,重新装2.9.0版本的imageio就解决了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值