首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用R中的image_data_generator与类似于白蛋白的概率

使用R中的image_data_generator与类似于白蛋白的概率
EN

Stack Overflow用户
提问于 2022-04-23 23:05:37
回答 1查看 58关注 0票数 0

Albumentations (在python中)具有可以采用概率参数p例如的图像转换。

代码语言:javascript
复制
transform = A.Compose([
        A.RandomRotate90(),
        A.Flip(),
        A.Transpose(),
        A.OneOf([
            A.IAAAdditiveGaussianNoise(),
            A.GaussNoise(),
        ], p=0.2),
        A.OneOf([
            A.MotionBlur(p=.2),
            A.MedianBlur(blur_limit=3, p=0.1),
            A.Blur(blur_limit=3, p=0.1),
        ], p=0.2),
        A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=0.2),
        A.OneOf([
            A.OpticalDistortion(p=0.3),
            A.GridDistortion(p=.1),
            A.IAAPiecewiseAffine(p=0.3),
        ], p=0.2),
        A.OneOf([
            A.CLAHE(clip_limit=2),
            A.IAASharpen(),
            A.IAAEmboss(),
            A.RandomBrightnessContrast(),            
        ], p=0.3),
        A.HueSaturationValue(p=0.3),
    ])

Rstudio的Keras实现有image_data_generator,它有图像转换,但没有概率参数。

在Rstudio的Keras中,只有在某种概率范围内应用的图像转换,最简单的方法是什么?

一种方法是通过网状在python中使用Albumentations,但实际上是比看上去更难

想法?

EN

回答 1

Stack Overflow用户

发布于 2022-04-25 14:31:14

实现dataset管道的推荐方法是将{tfdatasets集}与keras预处理层结合使用。

代码语言:javascript
复制
data_augmentation <- keras_model_sequential() %>%
  layer_random_flip("horizontal") %>%
  layer_random_rotation(0.1) %>%
  layer_random_zoom(0.2)

ds <- image_dataset_from_directory(image_size = c(180, 180)) %>%
  dataset_map(~ list(data_augmentation(.x), .y))

在这里可以找到更多的例子:Layers.html#快速食谱-1

如果您进入自定义转换,您还可以在本地设置一个警卫,如下所示:

代码语言:javascript
复制
maybe_add_noise <- tf_function(function(x) {
  if(tf$random$uniform() > .5) {
    x <- x + tf$random$uniform(x$shape)
  }
  x
})

ds <- ds %>%
  dataset_map(~ list(maybe_add_noise(.x), .y))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71984248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档