myself代码网络python遇到的错误

文章讲述了在处理音频和图像数据时遇到的一系列技术问题,包括图片和音频采样率不匹配、代码输入输出通道数错误、网络结构适应性调整、数据维度处理、卷积层设计以及损失函数的修正。作者通过调试和修改,解决了这些问题,但仍然面临loss值为nan的挑战。
摘要由CSDN通过智能技术生成

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,还未解决!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值