我试图自己从git bun更改存储库,发现参数数量有问题,
我正在谈论的代码部分在: https://github.com/aSafarpoor/keras_cnn/blob/master/src/predict.py 我用它的参数运行python Forecast.py。
但是会出错:
Traceback (most recent call last):
File "predict.py", line 153, in <module>
main()
File "predict.py", line 117, in main
v = network_eval.predict(specs)
File "/home/mas/anaconda3/envs/weild/lib/python2.7/site-packages/keras/engine/training.py", line 1166, in predict
f = self.predict_function()
TypeError: __call__() takes exactly 2 arguments (1 given)
这意味着 keras 预测函数需要更多参数,但这是不正常的,
请注意,输入是真实形状的 numpy 数组。
代码中的相关部分是:
for c, ID in enumerate(unique_list):
if c % 50 == 0: print('Finish extracting features for {}/{}th wav.'.format(c, total_length))
specs = ut.load_data(ID, dim_w=args.wdim,dim_h=args.hdim,win_length=params['win_length'], sr=params['sampling_rate'],
hop_length=params['hop_length'], n_fft=params['nfft'],
spec_len=args.frame_num, mode='eval')
# specs = np.expand_dims(np.expand_dims(specs, 0), -1)
specs=np.expand_dims(specs,0)
v = network_eval.predict(specs)####error is here ####
feats += [v]
那么第二个参数应该是什么?或者应该改变什么?
答案 0 :(得分:0)
我认为您的Keras版本已修改,因为keras官方代码(here)中的同一行没有括号来调用函数。
请确保仅使用Keras官方发行版,而不修改其源代码,否则可能会引入我们无法调试的错误和错误。