【发布时间】:2019-07-04 17:22:51
【问题描述】:
我正在尝试一个降噪模型,目标是打印出每批的clean/add_noise/model_output。
我正在使用 PyTorch DataLoader。每个图像都有shape = (256, 128),并且集合
batch_size = 10,因此每个批次的大小为(10, 256, 128)。我想打印出每批的第一个数据,即batch_data[0]
每张图片都有shape = (256, 128)
我写了一个添加噪音的函数如下:
def add_noise(data, bs, target_snr, noise_type):
if noise_type == 'white':
noise = acoustics.generator.white(bs*256*128).reshape(bs, 256, 128)
if noise_type == 'pink':
noise = acoustics.generator.pink(bs*256*128).reshape(bs, 256, 128)
print ('data shape = ', data.shape)
average = np.mean(data)
std = np.std(noise)
current_snr = average/std
noise = noise * (current_snr/ target_snr)
data = data + noise
return data
但是,它一直返回错误消息如下:
TypeError: mean() missing 3 required positional argument: "dim", "keepdim", "dtype"
我该如何处理?
【问题讨论】:
-
我的猜测是
data是 PyTorchtensor,但您使用的是 NumPy 的np.mean()。尝试将np.mean(data)替换为data.mean()并与np.std()相同
标签: python numpy deep-learning pytorch noise