1.图片和音频无法一一对应!?采样率一样,why?
于是发现n_framse不同,
n_frames = 1 + (segment_length - self.n_fft) // self.hop_length
发现segment_length不同,声音对应的为16000,而图片对应的为48000;
于是用matlab读取了所需音频,发现采样率为48000,那声音的segment_length为什么是16000呢?
发现python代码中读取音频的采样频率设置为16000
noisy_waves = load_wave(noisy_trainset_path, noisy_waves_list, sr=fs)
clean_waves = load_wave(clean_trainset_path, clean_waves_list, sr=fs)
更改后完成!!
2.
经查看,input与源代码phasen一样,从而寻找到内部使用的某个方法的input出现问题,inputs少了s,更改成功!!
3、
更改了四处输入输出通道数,已报错四处
每处均更改了合适的通道数,更改成功!!
4、
forwards未对齐,且应为forward,更改成功!!
5、
mat数据即phase值不是二维,要将处理mat数据的网络改为一维卷积等做处理。
简单建立了一个卷积网络,尝试中……
6、
调整一维信息,做部分.shape
batch_size, seg_length = inputs.shape
res = torch.empty([batch_size, 2, seg_length]).cpu()
不确定是不是对的
7、
原先处理的2D信息,加了信息得到了4D的输入,放进了网络。处理时注意
BatchNorm1d
应为1D的,更改后完成!!!!
8、
使用了提示中的
.detach().numpy()
更改后不报错!
9、
本意查找使用
.astype('int64')
但是并没有效果,后又将原先的numpy转为tensor形式后,更改后成功!!!
10、
针对于,两个网络跑完后的通道数不同,tensor数量不同,无法进行相加的问题。更改了一下对于网络跑完之后的特征对其做傅里叶变幻时的tensor通道数,不确定是否会影响相加本身。潜做尝试。
11、
更改新的通道数时需要用到之前的类似CF架构,但是CF_Att架构有所不同,建立了一个新的方法,注意更改方法名后,super内部方法名应随之更改。括号内的参量无法带到方法内部。后跑完整个网络到达了loss值代码问题。
12、
损失函数存在问题,由于原代码是由双流分别处理后相加得到的一个损失函数。
损失函数做了些修整,不确定更改的对不对,且出现nan的情况
14、存在两个未记录问题,解决办法已给出:
将nan值进行转换;更改tensor张量形式
15、目前出现loss值为nan,还未解决!!!