为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 fastai 中为 get_transform 添加附加变换?

如何在 fastai 中为 get_transform 添加附加变换?

杨__羊羊 2022-05-11 15:22:35
我想以这种方式添加额外的增强: additional_aug=[zoom_crop(scale=(0.75,1.25), do_rand=False),                 brightness(),                 contrast()               ]tfms = get_transforms(do_flip=True,flip_vert=True,max_lighting=0.2, xtra_tfms=additional_aug)data = (ImageList.from_df(df=df,path='./',cols='path')         .split_by_rand_pct(0.2)         .label_from_df(cols='diagnosis',label_cls=FloatList)         .transform(tfms,size=sz,resize_method=ResizeMethod.SQUISH,padding_mode='zeros')         .databunch(bs=bs,num_workers=4)         .normalize(imagenet_stats)         )但我得到错误:--------------------------------------------------------------------------AttributeError                            Traceback (most recent call last)/opt/conda/lib/python3.6/site-packages/fastai/data_block.py in _check_kwargs(ds, tfms, **kwargs)    590         x = ds[0]--> 591         try: x.apply_tfms(tfms, **kwargs)    592         except Exception as e:/opt/conda/lib/python3.6/site-packages/fastai/vision/image.py in apply_tfms(self, tfms, do_resolve, xtra, size, resize_method, mult, padding_mode, mode, remove_out)    105         if resize_method <= 2 and size is not None: tfms = self._maybe_add_crop_pad(tfms)--> 106         tfms = sorted(tfms, key=lambda o: o.tfm.order)    107         if do_resolve: _resolve_tfms(tfms)/opt/conda/lib/python3.6/site-packages/fastai/vision/image.py in <lambda>(o)    105         if resize_method <= 2 and size is not None: tfms = self._maybe_add_crop_pad(tfms)--> 106         tfms = sorted(tfms, key=lambda o: o.tfm.order)    107         if do_resolve: _resolve_tfms(tfms)AttributeError: 'list' object has no attribute 'tfm'During handling of the above exception, another exception occurred:根据文档xtra_tfms:Optional[ Collection[ ]]= ) →  [ ] Transform NoneCollection Transform如何让它工作?
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

我遇到了这个问题,解决方案非常简单。只需在列表包围的单独列表中调用要应用的每个转换函数,并将其传递给 get_transforms 函数的 xtra_tfms 参数。(它甚至可以是元组的元组或任何集合)


additional_aug=[[zoom_crop(scale=(0.75,1.25), do_rand=False)], 

                [brightness()], 

                [contrast()]]


tfms = get_transforms(do_flip=True,

                      flip_vert=True,

                      max_lighting=0.2, 

                      xtra_tfms=additional_aug)

希望这能解决您的问题。


查看完整回答
反对 回复 2022-05-11
  • 1 回答
  • 0 关注
  • 253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号