AttributeError: module ‘albumentations.augmentations.transforms‘ has no attribute ‘RandomRotate90‘

面向医学领域的深度学习实战-医学图像处理实战-基于U-Net的图像分割+基于Resnet网络的细胞分类实战教程代码运行过程中出现的问题以及如何进行修正。

        首先将unet++文件夹在pycharm中打开,并使用pytorch环境对train.py进行运行。出现了如下问题。

        主要出现问题的代码块是在数据增强部分。

#数据增强:
    train_transform = Compose([
        transforms.RandomRotate90(),
        transforms.Flip(),
        OneOf([
            transforms.HueSaturationValue(),
            transforms.RandomBrightness(),
            transforms.RandomContrast(),
        ], p=1),#按照归一化的概率选择执行哪一个
        transforms.Resize(config['input_h'], config['input_w']),
        transforms.Normalize(),
    ])

    val_transform = Compose([
        transforms.Resize(config['input_h'], config['input_w']),
        transforms.Normalize(),
    ])

AttributeError: module 'albumentations.augmentations.transforms' has no attribute 'RandomRotate90' 错误表明在使用的 albumentations 版本中没有 RandomRotate90 这个变换。

解决办法如下:

  1. 检查版本
    确保使用的是最新版本的 albumentations。可以通过以下命令查看当前版本:

    pip show albumentations
    

  2. 如果不是最新版本,可以通过以下命令更新:

    pip install --upgrade albumentations
    
  3. 使用替代变换                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​              如果 RandomRotate90 不再可用,建议使用 A.Rotate 作为替代。A.Rotate 可以实现类似的功能。修正后数据增强的代码如下所示:    
        train_transform = A.Compose([
            # transforms.RandomRotate90(),
            A.Rotate(limit=90, p=0.5),  # 随机旋转 0 到 90 度
            A.HorizontalFlip(p=0.5),  # 随机水平翻转
            A.VerticalFlip(p=0.5),  # 随机垂直翻转
            A.OneOf([
                A.HueSaturationValue(p=1),  # 随机调整色相、饱和度和亮度
                A.RandomBrightnessContrast(p=1),  # 随机调整亮度和对比度
            ], p=1),
            A.Resize(config['input_h'], config['input_w']),
            A.Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5)),
        ])
    
        val_transform = A.Compose([
            A.Resize(config['input_h'], config['input_w']),
            A.Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5)),
        ])
     代码成功运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值