augmentation.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:keras-toolbox 作者: hadim 项目源码 文件源码
def augment(X, Y, n=5, elastic_alpha_range=20, rotation_range=30,
            shift_x_range=0.1, shift_y_range=0.1):
    """I admit this code is very ugly (much worse than Keras ImageDataGenerator API
       Note to myself : dont reinvent the wheel...
    """


    X_transformed = np.zeros([X.shape[0] * n * 3] + list(X.shape[1:]))
    Y_transformed = np.zeros([X.shape[0] * n * 3] + list(X.shape[1:]))

    z = 0
    for i in tnrange(n):

        for j, (XX, YY) in tqdm_notebook(enumerate(zip(X, Y)), total=len(X), disable=False, leave=False):
            X_transformed[z], Y_transformed[z] = elastic_transform([XX, YY], elastic_alpha_range, sigma=10)
            z += 1

        for j, (XX, YY) in tqdm_notebook(enumerate(zip(X, Y)), total=len(X), disable=False, leave=False):
            X_transformed[z], Y_transformed[z] = random_rotation([XX, YY], rg=rotation_range,
                                                                  row_index=1, col_index=2,
                                                                  channel_index=0,
                                                                  fill_mode='nearest', cval=0.)
            z += 1

        for j, (XX, YY) in tqdm_notebook(enumerate(zip(X, Y)), total=len(X), disable=False, leave=False):
            X_transformed[z], Y_transformed[z] = random_shift([XX, YY], shift_x_range, shift_y_range,
                                                               row_index=1, col_index=2,
                                                               channel_index=0,
                                                               fill_mode='nearest', cval=0.)
            z += 1

    return X_transformed, Y_transformed
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号